mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-28 22:15:54 -04:00
254 lines
9.5 KiB
Plaintext
254 lines
9.5 KiB
Plaintext
/***** INCLUDES ********************************************************/
|
|
include library.armor;
|
|
include library.skill;
|
|
include library.utils;
|
|
include library.create;
|
|
include library.respec;
|
|
include library.static_item;
|
|
include library.skill_template;
|
|
|
|
include java.util.HashSet;
|
|
include java.util.StringTokenizer;
|
|
include java.util.Vector;
|
|
include java.util.Arrays;
|
|
include library.qa;
|
|
include library.sui;
|
|
include library.utils;
|
|
include library.pclib;
|
|
include library.weapons;
|
|
include library.skill;
|
|
include library.gm;
|
|
include library.respec;
|
|
include library.buff;
|
|
include library.performance;
|
|
include library.space_transition;
|
|
include library.space_utils;
|
|
include library.space_create;
|
|
include library.ship_ai;
|
|
|
|
trigger OnSpeaking(string text)
|
|
{
|
|
|
|
debugConsoleMsg(self, text);
|
|
java.util.StringTokenizer tok = new java.util.StringTokenizer (text);
|
|
|
|
//pInv = players inventory
|
|
obj_id pInv = utils.getInventoryContainer(self);
|
|
|
|
if (text == "space-generateSpaceParts")
|
|
{
|
|
//Armor1
|
|
obj_id itemArmor = createObject("object/tangible/ship/components/armor/arm_corellian_reinforced_light_durasteel.iff", pInv, "");
|
|
setObjVar (itemArmor, "ship_comp.hitpoints_current", 5000.000f);
|
|
setObjVar (itemArmor, "ship_comp.hitpoints_maximum", 5000.000f);
|
|
setObjVar (itemArmor, "ship_comp.mass", 5000.000f);
|
|
|
|
//Armor2
|
|
obj_id itemArmor2 = createObject("object/tangible/ship/components/armor/arm_corellian_reinforced_light_durasteel.iff", pInv, "");
|
|
setObjVar (itemArmor2, "ship_comp.hitpoints_current", 5000.000f);
|
|
setObjVar (itemArmor2, "ship_comp.hitpoints_maximum", 5000.000f);
|
|
setObjVar (itemArmor2, "ship_comp.mass", 5000.000f);
|
|
|
|
//Engine
|
|
obj_id itemEngine = createObject("object/tangible/ship/components/engine/eng_cygnus_hdx.iff", pInv, "");
|
|
setObjVar (itemEngine, "ship_comp.mass", 100.000f);
|
|
setObjVar (itemEngine, "ship_comp.engine.pitch_rate_maximum", 150.000f);
|
|
setObjVar (itemEngine, "ship_comp.engine.yaw_rate_maximum", 150.000f);
|
|
setObjVar (itemEngine, "ship_comp.engine.roll_rate_maximum", 150.000f);
|
|
setObjVar (itemEngine, "ship_comp.engine.speed_maximum", 250.000f);
|
|
|
|
//shield
|
|
obj_id itemShield = createObject("object/tangible/ship/components/shield_generator/shd_koensayr_deflector_m3.iff", pInv, "");
|
|
setObjVar (itemShield, "ship_comp.mass", 100.000f);
|
|
setObjVar (itemShield, "ship_comp.shield.hitpoints_back_current", 5000.000f);
|
|
setObjVar (itemShield, "ship_comp.shield.hitpoints_back_maximum", 5000.000f);
|
|
setObjVar (itemShield, "ship_comp.shield.hitpoints_front_current", 5000.000f);
|
|
setObjVar (itemShield, "ship_comp.shield.hitpoints_front_maximum", 5000.000f);
|
|
setObjVar (itemShield, "ship_comp.shield.recharge_rate", 500.000f);
|
|
|
|
//Booster
|
|
obj_id itemBooster = createObject("object/tangible/ship/components/booster/bst_corellian_experimental_tjh3.iff", pInv, "");
|
|
setObjVar (itemBooster, "ship_comp.booster.acceleration", 80.000f);
|
|
setObjVar (itemBooster, "ship_comp.booster.energy_consumption_rate", 150.000f);
|
|
setObjVar (itemBooster, "ship_comp.booster.energy_current", 3000.000f);
|
|
setObjVar (itemBooster, "ship_comp.booster.energy_maximum", 3000.000f);
|
|
setObjVar (itemBooster, "ship_comp.booster.energy_recharge_rate", 500.00f);
|
|
setObjVar (itemBooster, "ship_comp.booster.speed_maximum", 400.000f);
|
|
setObjVar (itemBooster, "ship_comp.mass", 100.000f);
|
|
|
|
|
|
//Reactor
|
|
obj_id itemRactor = createObject("object/tangible/ship/components/reactor/rct_freitek_improved_powerhouse_mk1.iff", pInv, "");
|
|
setObjVar (itemRactor, "ship_comp.mass", 100.000f);
|
|
setObjVar (itemRactor, "ship_comp.reactor.energy_generation_rate", 80000.000f);
|
|
|
|
//Cap
|
|
obj_id itemCap = createObject("object/tangible/ship/components/weapon_capacitor/cap_corellian_cruiser_grade_cap9.iff", pInv, "");
|
|
setObjVar (itemCap, "ship_comp.mass", 100.000f);
|
|
setObjVar (itemCap, "ship_comp.capacitor.energy_current", 5000.000f);
|
|
setObjVar (itemCap, "ship_comp.capacitor.energy_maximum", 5000.000f);
|
|
setObjVar (itemCap, "ship_comp.capacitor.energy_recharge_rate", 250.000f);
|
|
|
|
//Weapon
|
|
obj_id itemWeapon = createObject("object/tangible/ship/components/weapon/wpn_mission_reward_rebel_incom_tricannon.iff", pInv, "");
|
|
setObjVar (itemWeapon, "ship_comp.mass", 100.000f);
|
|
setObjVar (itemWeapon, "ship_comp.weapon.damage_maximum", 5000.000f);
|
|
setObjVar (itemWeapon, "ship_comp.weapon.damage_minimum", 3000.000f);
|
|
setObjVar (itemWeapon, "ship_comp.weapon.effectiveness_armor", 0.950f);
|
|
setObjVar (itemWeapon, "ship_comp.weapon.effectiveness_shields", 0.950f);
|
|
setObjVar (itemWeapon, "ship_comp.weapon.energy_per_shot", 15.000f);
|
|
setObjVar (itemWeapon, "ship_comp.weapon.refire_rate", 0.3900f);
|
|
|
|
}
|
|
|
|
|
|
if(text == "makeZoneToChips")
|
|
{
|
|
obj_id moduleImpDS = createObject("object/tangible/droid/droid_space_memory_module_1.iff", pInv, "");
|
|
setObjVar(moduleImpDS, "programSize", 1);
|
|
setObjVar(moduleImpDS, "strDroidCommand", "droidcommand_zonetoimperialdeepspace");
|
|
setName(moduleImpDS, "");
|
|
//setName(moduleKessel, "Imperial Travel Algoritm");
|
|
setName(moduleImpDS, new string_id("space/droid_commands", "droidcommand_zonetoimperialdeepspace_chipname"));
|
|
|
|
obj_id moduleRebDS = createObject("object/tangible/droid/droid_space_memory_module_1.iff", pInv, "");
|
|
setObjVar(moduleRebDS, "programSize", 1);
|
|
setObjVar(moduleRebDS, "strDroidCommand", "droidcommand_zonetorebeldeepspace");
|
|
setName(moduleRebDS, "");
|
|
//setName(moduleKessel, "Imperial Travel Algoritm");
|
|
setName(moduleRebDS, new string_id("space/droid_commands", "droidcommand_zonetorebeldeepspace_chipname"));
|
|
|
|
obj_id moduleKessel = createObject("object/tangible/droid/droid_space_memory_module_1.iff", pInv, "");
|
|
setObjVar(moduleKessel, "programSize", 1);
|
|
setObjVar(moduleKessel, "strDroidCommand", "droidcommand_zonetokessel");
|
|
setName(moduleKessel, "");
|
|
//setName(moduleKessel, "Imperial Travel Algoritm");
|
|
setName(moduleKessel, new string_id("space/droid_commands", "droidcommand_zonetokessel_chipname"));
|
|
}
|
|
|
|
if(text == "spawnShip")
|
|
{
|
|
// Method to spawn object in front of player
|
|
transform gloc = getTransform_o2w(space_transition.getContainingShip(self));
|
|
|
|
// Move the starting spot out in front of us.
|
|
float dist = rand(50.f, 100.f);
|
|
vector n = gloc.getLocalFrameK_p().normalize().multiply( dist ); // Project a point out in front of us.
|
|
gloc = gloc.move_p( n );
|
|
|
|
string targetShipType = "experimental_ship";
|
|
|
|
obj_id targetShip = space_create.createShipHyperspace(targetShipType, gloc);
|
|
sendSystemMessage(self, "Spawned ship - OID: "+targetShip, null);
|
|
|
|
}
|
|
|
|
if(text == "spawnShip2")
|
|
{
|
|
// Method to spawn object in front of player
|
|
transform gloc = getTransform_o2w(space_transition.getContainingShip(self));
|
|
|
|
// Move the starting spot out in front of us.
|
|
float dist = rand(50.f, 100.f);
|
|
vector n = gloc.getLocalFrameK_p().normalize().multiply( dist ); // Project a point out in front of us.
|
|
gloc = gloc.move_p( n );
|
|
|
|
string targetShipType = "reb_gunboat_kessel_tier5";
|
|
|
|
obj_id targetShip = space_create.createShipHyperspace(targetShipType, gloc);
|
|
sendSystemMessage(self, "Spawned ship - OID: "+targetShip, null);
|
|
|
|
}
|
|
|
|
if(text == "cleanupPiracyEvent")
|
|
{
|
|
|
|
obj_id beacon = utils.getObjIdScriptVar(self, "beacon");
|
|
messageTo(beacon, "cleanupPiracyEvent", null, 3.f, false);
|
|
|
|
}
|
|
|
|
if(text == "rebelHelper")
|
|
{
|
|
obj_id ship = space_transition.getContainingShip(self);
|
|
setObjVar(ship, "spaceFaction.FactionOverride", ##"rebel");
|
|
space_utils.notifyObject(ship, "checkSpacePVPStatus", null);
|
|
sendSystemMessage(self, "Starting rebel fac helper", null);
|
|
}
|
|
|
|
if(text == "imperialHelper")
|
|
{
|
|
obj_id ship = space_transition.getContainingShip(self);
|
|
setObjVar(ship, "spaceFaction.FactionOverride", ##"imperial");
|
|
space_utils.notifyObject(ship, "checkSpacePVPStatus", null);
|
|
sendSystemMessage(self, "Starting imperial fac helper", null);
|
|
}
|
|
|
|
if(text == "cleanHyper")
|
|
{
|
|
obj_id ship = space_transition.getContainingShip(self);
|
|
utils.removeScriptVar(self,"space.zoneDestination");
|
|
sendSystemMessage(self, "clean scriptVars", null);
|
|
|
|
}
|
|
|
|
if(text == "scriptVarCleanup")
|
|
{
|
|
obj_id ship = space_transition.getContainingShip(self);
|
|
utils.removeScriptVar(ship, "space.goOvertTimer");
|
|
utils.removeScriptVar(ship, "space.goOvert");
|
|
utils.removeScriptVar(ship, "space.goOvertLoc");
|
|
}
|
|
|
|
if(text == "stopBlink")
|
|
{
|
|
obj_id ship = space_transition.getContainingShip(self);
|
|
pvpPrepareToBeNeutral(ship);
|
|
}
|
|
|
|
if(text == "startBlink")
|
|
{
|
|
obj_id ship = space_transition.getContainingShip(self);
|
|
pvpPrepareToBeDeclared(ship);
|
|
}
|
|
|
|
if(text == "spawnExpShip")
|
|
{
|
|
|
|
int numships = 4;
|
|
obj_id[] escortIdArray = new obj_id[4];
|
|
for (int i=0; i<numships; i++ )
|
|
{
|
|
int escortSquad = ship_ai.squadCreateSquadId();
|
|
// Spawn the escorts.
|
|
obj_id ship = space_transition.getContainingShip(self);
|
|
transform t = getTransform_o2w(ship);
|
|
|
|
transform spawnLoc = t.move_l(new vector(rand(-200, 200), rand(-200, 200), rand(-200, 200))) /*.yaw_l( (float) -Math.PI )*/;
|
|
sendSystemMessage(self, "spawning", null);
|
|
escortIdArray[i] = space_create.createShipHyperspace("experimental_ship", spawnLoc);
|
|
addMissionCriticalObject(self, escortIdArray[i]);
|
|
ship_ai.unitSetLeashDistance(escortIdArray[i], 16000 );
|
|
ship_ai.unitSetSquadId(escortIdArray[i], escortSquad );
|
|
ship_ai.unitAddExclusiveAggro(escortIdArray[i], self);
|
|
ship_ai.squadSetLeader(escortSquad, escortIdArray[i]);
|
|
ship_ai.squadSetFormation(escortSquad, 5);
|
|
}
|
|
}
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
void logIt(string logText)
|
|
{
|
|
LOG("mikkel", logText);
|
|
|
|
}
|
|
|
|
void sysMes(string sysMessage)
|
|
{
|
|
obj_id self = getSelf();
|
|
sendSystemMessageTestingOnly(self, sysMessage);
|
|
|
|
} |