mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
17949 lines
388 KiB
Plaintext
17949 lines
388 KiB
Plaintext
include ai.ai_combat;
|
|
include library.ai_lib;
|
|
include library.bounty_hunter;
|
|
include library.armor;
|
|
include library.beast_lib;
|
|
include library.buff;
|
|
include library.callable;
|
|
include library.chat;
|
|
include library.colors;
|
|
include library.combat;
|
|
include library.corpse;
|
|
include library.craftinglib;
|
|
include library.create;
|
|
include library.dot;
|
|
include library.factions;
|
|
include library.faction_perk;
|
|
include library.grenade;
|
|
include library.groundquests;
|
|
include library.group;
|
|
include library.healing;
|
|
include library.innate;
|
|
include library.instance;
|
|
include library.locations;
|
|
include library.movement;
|
|
include library.performance;
|
|
include library.pet_lib;
|
|
include library.prose;
|
|
include library.smuggler;
|
|
include library.space_dungeon;
|
|
include library.space_utils;
|
|
include library.squad_leader;
|
|
include library.stealth;
|
|
include library.sui;
|
|
include library.trial;
|
|
include library.utils;
|
|
include library.vehicle;
|
|
include library.weapons;
|
|
include library.heavyweapons;
|
|
|
|
include systems.missions.dynamic.bounty_probe_droid;
|
|
include java.lang.Math;
|
|
|
|
inherits systems.combat.combat_base;
|
|
|
|
string DEFAULT_EGG = "object/tangible/gravestone/gravestone05.tpf";
|
|
const string COMBAT_TABLE = "datatables/combat/combat_data.iff";
|
|
const float DAMAGE_STRENGTH_CUTOFF = .5f;
|
|
|
|
//*********************************************** TRIGGERS ******************************************************
|
|
trigger OnChangedPosture(int oldPosture, int newPosture)
|
|
{
|
|
|
|
if (newPosture == POSTURE_INCAPACITATED || newPosture == POSTURE_DEAD || newPosture == POSTURE_KNOCKED_DOWN)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
setState(self, STATE_IMMOBILIZED, false);
|
|
stealth.OnPostureChanged(self, oldPosture, newPosture);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnEnteredCombat()
|
|
{
|
|
combat.cacheCombatData(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
trigger OnExitedCombat()
|
|
{
|
|
combat.clearCachedCombatData(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//***************************************** COMMAND HANDLERS AND ASSOCIATED MESSAGE HANDLERS *********************
|
|
|
|
commandHandler firePistolLauncherTargeting()
|
|
{
|
|
if(!combatStandardAction("firePistolLauncherTargeting", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireAcidBeam()
|
|
{
|
|
if(!combatStandardAction("fireAcidBeam", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireLavaCannon()
|
|
{
|
|
if(!combatStandardAction("fireLavaCannon", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireLavaCannonGeneric()
|
|
{
|
|
if(!combatStandardAction("fireLavaCannonGeneric", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler fireFlameThrowerLight()
|
|
{
|
|
if(!combatStandardAction("fireFlameThrowerLight", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler firePlasmaFlameThrower()
|
|
{
|
|
if(!combatStandardAction("firePlasmaFlameThrower", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireIceGun()
|
|
{
|
|
if(!combatStandardAction("fireIceGun", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireRocketLauncher()
|
|
{
|
|
if(!combatStandardAction("fireRocketLauncher", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireRocketLauncherGeneric()
|
|
{
|
|
if(!combatStandardAction("fireRocketLauncherGeneric", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireAcidRifle()
|
|
{
|
|
if(!combatStandardAction("fireAcidRifle", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireStunCannon()
|
|
{
|
|
if(!combatStandardAction("fireStunCannon", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireParticleBeam()
|
|
{
|
|
if(!combatStandardAction("fireParticleBeam", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireVoidRocketLauncher()
|
|
{
|
|
if(!combatStandardAction("fireVoidRocketLauncher", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireLightningBeam()
|
|
{
|
|
if(!combatStandardAction("fireLightningBeam", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireAcidBeamAvatar()
|
|
{
|
|
if(!combatStandardAction("fireAcidBeamAvatar", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireRepublicFlameThrower()
|
|
{
|
|
if(!combatStandardAction("fireRepublicFlameThrower", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireRepublicFlameThrowerGeneric()
|
|
{
|
|
if(!combatStandardAction("fireRepublicFlameThrowerGeneric", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler firePistolLauncher()
|
|
{
|
|
if(!combatStandardAction("firePistolLauncher", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireElitePistolLauncher()
|
|
{
|
|
if(!combatStandardAction("fireElitePistolLauncher", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler firePistolLauncherGeneric()
|
|
{
|
|
if(!combatStandardAction("firePistolLauncherGeneric", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler firePistolLauncherMedium()
|
|
{
|
|
if(!combatStandardAction("firePistolLauncherMedium", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireCrusaderHeavyRifle()
|
|
{
|
|
if(!combatStandardAction("fireCrusaderHeavyRifle", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler firePvpHeavy()
|
|
{
|
|
if(!combatStandardAction("firePvpHeavy", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireHeavyShotgun()
|
|
{
|
|
if(!combatStandardAction("fireHeavyShotgun", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler banner_buff_commando()
|
|
{
|
|
if(!combatStandardAction("banner_buff_commando", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler stand()
|
|
{
|
|
if (ai_lib.isAiDead(self))
|
|
return SCRIPT_CONTINUE;
|
|
|
|
if(!isIncapacitated(self) && !isDead(self))
|
|
setPosture(self, POSTURE_UPRIGHT);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler standFail()
|
|
{
|
|
if(space_utils.isInStation(self))
|
|
{
|
|
LOG("space", "Leaving station!");
|
|
queueCommand(self, ##"leaveStation", null,"", COMMAND_PRIORITY_FRONT);
|
|
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kneel()
|
|
{
|
|
if(!isIncapacitated(self) && !isDead(self))
|
|
setPosture(self, POSTURE_CROUCHED);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kneelFail()
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler prone()
|
|
{
|
|
if(!isIncapacitated(self) && !isDead(self))
|
|
setPosture(self, POSTURE_PRONE);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proneFail()
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
/* clicky v2 */
|
|
|
|
commandHandler veteranPlayerBuff()
|
|
{
|
|
if (!combatStandardAction("veteranPlayerBuff", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler forceRun()
|
|
{
|
|
if (!combatStandardAction("forceRun", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_detect_camouflage_1()
|
|
{
|
|
if(!stealth.canDetectCamouflage(self) || !combatStandardAction("bh_detect_camouflage_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float detectSkill = getEnhancedSkillStatisticModifier(self, "detect_hidden");
|
|
float distance = stealth.BASE_DETECT_CAMOUFLAGE_DISTANCE + (detectSkill / 20);
|
|
|
|
float detectChance = 50.0f;
|
|
|
|
stealth.detectCamouflage(self, true, true, distance, detectChance);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler bh_ae_dm_1()
|
|
{
|
|
if (!combatStandardAction("bh_ae_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_ae_dm_2()
|
|
{
|
|
if (!combatStandardAction("bh_ae_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_del_cc_1()
|
|
{
|
|
if (!combatStandardAction("bh_del_cc_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 1);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_del_cc_2()
|
|
{
|
|
if (!combatStandardAction("bh_del_cc_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 1);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_del_cc_3()
|
|
{
|
|
if (!combatStandardAction("bh_del_cc_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 1);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_del_dm_cc_dot_1()
|
|
{
|
|
if (!combatStandardAction("bh_del_dm_cc_dot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 1);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_del_dm_cc_dot_2()
|
|
{
|
|
if (!combatStandardAction("bh_del_dm_cc_dot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 1);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_del_dm_cc_dot_3()
|
|
{
|
|
if (!combatStandardAction("bh_del_dm_cc_dot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 1);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_1()
|
|
{
|
|
if (!combatStandardAction("bh_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_2()
|
|
{
|
|
if (!combatStandardAction("bh_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_3()
|
|
{
|
|
if (!combatStandardAction("bh_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_4()
|
|
{
|
|
if (!combatStandardAction("bh_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_5()
|
|
{
|
|
if (!combatStandardAction("bh_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_6()
|
|
{
|
|
if (!combatStandardAction("bh_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_7()
|
|
{
|
|
if (!combatStandardAction("bh_dm_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_7");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_8()
|
|
{
|
|
if (!combatStandardAction("bh_dm_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_8");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm") / 10;
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Granted by a BH Set Bonus
|
|
commandHandler bh_flawless_strike()
|
|
{
|
|
if (!combatStandardAction("bh_flawless_strike", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_flawless_strike");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_bh_flawless_strike");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
/*
|
|
// Check for bonus buff. Based 25% chance + skill mod.
|
|
int bonusChance = getEnhancedSkillStatisticModifierUncapped(self, "bh_flawless_bead") + 25 + rand(1, 99);
|
|
if(bonusChance > 99)
|
|
{
|
|
buff.applyBuff(self, self, "bh_flawless_strike");
|
|
}
|
|
*/
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
|
|
|
|
commandHandler set_bonus_bh_utility_a_1()
|
|
{
|
|
if (!combatStandardAction("set_bonus_bh_utility_a_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler set_bonus_bh_utility_a_2()
|
|
{
|
|
if (!combatStandardAction("set_bonus_bh_utility_a_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler set_bonus_bh_utility_a_3()
|
|
{
|
|
if (!combatStandardAction("set_bonus_bh_utility_a_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
void doDireAbility(obj_id attacker, obj_id defender, int direType)
|
|
{
|
|
int bonusChance = 0;
|
|
|
|
switch(direType)
|
|
{
|
|
case 0:
|
|
//make sure they dont have any dire snare buff
|
|
int direSnare = buff.getBuffOnTargetFromGroup(defender, "dire_snare");
|
|
if(direSnare !=0)
|
|
return;
|
|
bonusChance = getEnhancedSkillStatisticModifierUncapped(attacker, "bh_dire_snare");
|
|
break;
|
|
case 1:
|
|
bonusChance = getEnhancedSkillStatisticModifierUncapped(attacker, "bh_dire_root");
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
//roll the dice
|
|
if(bonusChance > 0)
|
|
{
|
|
int roll = rand(1, 99);
|
|
int total = roll+bonusChance;
|
|
|
|
if(total > 99)
|
|
{
|
|
//Im a snare
|
|
if(direType == 0)
|
|
{
|
|
buff.applyBuff(defender, attacker, "bh_dire_snare_1");
|
|
showFlyText(defender, new string_id("set_bonus", "dire_snare_fly"), 2, colors.BLACK);
|
|
}
|
|
else
|
|
{
|
|
queueCommand(attacker, ##"bh_dire_root_area_1", defender, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
showFlyTextPrivate(attacker, attacker, new string_id("set_bonus", "dire_trap_fly"), 2, colors.LEMONCHIFFON);
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
/*
|
|
boolean crippleFastAttack(obj_id attacker)
|
|
{
|
|
boolean fastAttackOrWhat = false;
|
|
|
|
int bonusChance = getEnhancedSkillStatisticModifierUncapped(attacker, "fast_attack_line_dm_cc");
|
|
|
|
if(bonusChance > 0)
|
|
{
|
|
int roll = rand(1, 99);
|
|
int total = roll+bonusChance;
|
|
|
|
if(roll+bonusChance > 99)
|
|
{
|
|
fastAttackOrWhat = true;
|
|
showFlyText(attacker, new string_id("set_bonus", "fast_attack_fly"), 2, colors.LEMONCHIFFON);
|
|
}
|
|
}
|
|
|
|
return fastAttackOrWhat;
|
|
}
|
|
*/
|
|
|
|
boolean successfulFastAttack(obj_id attacker, string specialLine)
|
|
{
|
|
return successfulFastAttack(attacker, specialLine, "fast_attack_fly");
|
|
}
|
|
|
|
boolean successfulFastAttack(obj_id attacker, string specialLine, string customFlyReference)
|
|
{
|
|
boolean fastAttackOrWhat = false;
|
|
|
|
int bonusChance = getEnhancedSkillStatisticModifierUncapped(attacker, "fast_attack_line_" + specialLine);
|
|
|
|
if(bonusChance > 0)
|
|
{
|
|
int roll = rand(1, 99);
|
|
int total = roll+bonusChance;
|
|
|
|
if(total > 99)
|
|
{
|
|
fastAttackOrWhat = true;
|
|
showFlyText(attacker, new string_id("set_bonus", customFlyReference), 2, colors.LEMONCHIFFON);
|
|
|
|
prose_package pp = new prose_package();
|
|
pp = prose.setStringId(pp, new string_id("set_bonus", customFlyReference + "_cbspam"));
|
|
pp = prose.setTT(pp, attacker);
|
|
sendCombatSpamMessageProse(attacker, pp, COMBAT_RESULT_GENERIC);
|
|
}
|
|
}
|
|
|
|
return fastAttackOrWhat;
|
|
}
|
|
|
|
commandHandler bh_dm_cc_1()
|
|
{
|
|
if (!combatStandardAction("bh_dm_cc_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
if(successfulFastAttack(self, "dm_cc"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_cc_2()
|
|
{
|
|
if (!combatStandardAction("bh_dm_cc_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
if(successfulFastAttack(self, "dm_cc"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_cc_3()
|
|
{
|
|
if (!combatStandardAction("bh_dm_cc_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
if(successfulFastAttack(self, "dm_cc"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_crit_1()
|
|
{
|
|
if (!combatStandardAction("bh_dm_crit_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_crit_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_crit_2()
|
|
{
|
|
if (!combatStandardAction("bh_dm_crit_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_crit_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sh_0()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("bh_sh_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sh_1()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("bh_sh_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sh_2()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("bh_sh_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sh_3()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("bh_sh_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_kill_trap_1()
|
|
{
|
|
if(!stealth.canDisarmTrap(self, target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
stealth.disarmTrap(self, target);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_ae_dm_1()
|
|
{
|
|
if (!combatStandardAction("co_ae_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_ae_dm_2()
|
|
{
|
|
if (!combatStandardAction("co_ae_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_ae_dm_3()
|
|
{
|
|
if (!combatStandardAction("co_ae_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_del_ae_cc_1_1()
|
|
{
|
|
if (!combatStandardAction("co_del_ae_cc_1_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "co_grenade"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_del_ae_cc_1_2()
|
|
{
|
|
if (!combatStandardAction("co_del_ae_cc_1_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "co_grenade"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_del_ae_cc_1_3()
|
|
{
|
|
if (!combatStandardAction("co_del_ae_cc_1_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "co_grenade"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler sm_feeling_lucky_recourse()
|
|
{
|
|
if (!buff.hasBuff(self, "sm_feeling_lucky_recourse"))
|
|
buff.applyBuff(self, self, "sm_feeling_lucky_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler sm_lucky_break_recourse()
|
|
{
|
|
if (!buff.hasBuff(self, "sm_lucky_break_recourse"))
|
|
buff.applyBuff(self, self, "sm_lucky_break_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler sm_double_fire_recourse()
|
|
{
|
|
if (!buff.hasBuff(self, "sm_double_fire_recourse"))
|
|
buff.applyBuff(self, self, "sm_double_fire_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler sm_false_hope_recourse()
|
|
{
|
|
if (!buff.hasBuff(self, "sm_false_hope_recourse"))
|
|
buff.applyBuff(self, self, "sm_false_hope_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
|
|
messageHandler sm_break_the_deal_recourse()
|
|
{
|
|
if (!buff.hasBuff(self, "sm_break_the_deal_recourse"))
|
|
buff.applyBuff(self, self, "sm_break_the_deal_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler sm_melee_stun_recourse()
|
|
{
|
|
if (!buff.hasBuff(self, "sm_melee_stun_recourse"))
|
|
buff.applyBuff(self, self, "sm_melee_stun_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler maladyRecourse()
|
|
{
|
|
if (!buff.hasBuff(self, "insidiousMalady_1"))
|
|
buff.applyBuff(self, self, "insidiousMalady_1");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler maladyRecourse_1()
|
|
{
|
|
if (!buff.hasBuff(self, "insidiousMalady_2"))
|
|
buff.applyBuff(self, self, "insidiousMalady_2");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
messageHandler maladyRecourse_2()
|
|
{
|
|
if (!buff.hasBuff(self, "insidiousMalady_3"))
|
|
buff.applyBuff(self, self, "insidiousMalady_3");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
messageHandler maladyRecourse_3()
|
|
{
|
|
if (!buff.hasBuff(self, "insidiousMalady_4"))
|
|
buff.applyBuff(self, self, "insidiousMalady_4");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_del_ae_cc_2_1()
|
|
{
|
|
if (!combatStandardAction("co_del_ae_cc_2_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "co_grenade"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_del_ae_cc_2_2()
|
|
{
|
|
if (!combatStandardAction("co_del_ae_cc_2_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "co_grenade"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_del_ae_dm_1()
|
|
{
|
|
if (!combatStandardAction("co_del_ae_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "co_grenade"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_del_ae_dm_2()
|
|
{
|
|
if (!combatStandardAction("co_del_ae_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "co_grenade"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_del_ae_dm_3()
|
|
{
|
|
if (!combatStandardAction("co_del_ae_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "co_grenade"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_dm_1()
|
|
{
|
|
if (!combatStandardAction("co_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_dm_2()
|
|
{
|
|
if (!combatStandardAction("co_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_dm_3()
|
|
{
|
|
if (!combatStandardAction("co_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_dm_4()
|
|
{
|
|
if (!combatStandardAction("co_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_dm_5()
|
|
{
|
|
if (!combatStandardAction("co_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_dm_6()
|
|
{
|
|
if (!combatStandardAction("co_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_dm_7()
|
|
{
|
|
if (!combatStandardAction("co_dm_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_dm_8()
|
|
{
|
|
if (!combatStandardAction("co_dm_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_fld_dm_1()
|
|
{
|
|
if (!combatStandardAction("co_fld_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_fld_dm_2()
|
|
{
|
|
if (!combatStandardAction("co_fld_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_shock_tracer_1()
|
|
{
|
|
if (!combatStandardAction("co_shock_tracer_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_shock_tracer_2()
|
|
{
|
|
if (!combatStandardAction("co_shock_tracer_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_shock_tracer_3()
|
|
{
|
|
if (!combatStandardAction("co_shock_tracer_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_shock_tracer_4()
|
|
{
|
|
if (!combatStandardAction("co_shock_tracer_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_shock_grenade_1()
|
|
{
|
|
if (!combatStandardAction("co_shock_grenade_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_shock_grenade_2()
|
|
{
|
|
if (!combatStandardAction("co_shock_grenade_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_shock_grenade_3()
|
|
{
|
|
if (!combatStandardAction("co_shock_grenade_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_shock_grenade_4()
|
|
{
|
|
if (!combatStandardAction("co_shock_grenade_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_enrage_1()
|
|
{
|
|
if(buff.hasBuff(self, "cloning_sickness") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "not_well_enough") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("co_enrage_1", self, target, params, "", "") || !buff.hasBuff(self, "set_bonus_commando_utility_a_3"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int healthCost = (int)dataTableGetFloat(COMBAT_TABLE, "co_enrage_1", "healthCost");
|
|
|
|
int currentHealth = getHealth(self);
|
|
int modifiedHealth = currentHealth - healthCost;
|
|
|
|
attrib_mod[] healthMods = getHealthModifiers(self);
|
|
int healthModsValue = 0;
|
|
|
|
for(int i = 0; i < healthMods.length; i++)
|
|
{
|
|
healthModsValue += healthMods[i].getValue();
|
|
}
|
|
|
|
if(healthModsValue < 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "not_well_enough") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(modifiedHealth < 1)
|
|
{
|
|
showFlyTextPrivate(self, self, new string_id("spam", "low_health"), 1.0f, colors.RED);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
setHealth(self, modifiedHealth);
|
|
incrementKillMeter(self, 10);
|
|
|
|
playClientEffectObj(self, "clienteffect/medic_reckless_stimulation.cef", self, "root");
|
|
|
|
prose_package pp = new prose_package();
|
|
pp = prose.setStringId(pp, new string_id("set_bonus", "enraged_cmb_spam"));
|
|
pp = prose.setTT(pp, self);
|
|
sendCombatSpamMessageProse(self, pp, COMBAT_RESULT_GENERIC);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_stand_fast()
|
|
{
|
|
if (!combatStandardAction("co_stand_fast", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("co_stand_fast");
|
|
LOG ("stand_fast", "baseCooldownTime is " + baseCooldownTime);
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_co_stand_fast");
|
|
LOG ("stand_fast", "cooldownTimeMod is " + cooldownTimeMod);
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler eggDetonated()
|
|
{
|
|
utils.removeScriptVar(self, "objEgg");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
boolean hasEgg(obj_id player)
|
|
{
|
|
obj_id egg = utils.getObjIdScriptVar(player, "objEgg");
|
|
|
|
if(isValidId(egg) && utils.hasScriptVar(egg, "objOwner"))
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
boolean detonateEgg(obj_id self, boolean eggCreated)
|
|
{
|
|
// Detonate the egg.
|
|
if(eggCreated && hasEgg(self))
|
|
{
|
|
dictionary particleParams = new dictionary();
|
|
dictionary attackParams = new dictionary();
|
|
|
|
obj_id objEgg = utils.getObjIdScriptVar(self, "objEgg");
|
|
|
|
particleParams = utils.getDictionaryScriptVar(objEgg, "handleDelayedParticle");
|
|
attackParams = utils.getDictionaryScriptVar(objEgg, "handleDelayedAttack");
|
|
|
|
messageTo(objEgg, "handleDelayedParticle", particleParams, 0, false);
|
|
messageTo(objEgg, "handleDelayedAttack", attackParams, 0, false);
|
|
|
|
utils.removeScriptVar(self, "objEgg");
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
commandHandler co_remote_detonator_1()
|
|
{
|
|
boolean eggCreated = hasEgg(self);
|
|
|
|
if(!eggCreated && !combatStandardAction("co_remote_detonator_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// First time the egg is created? Then reset the cooldown.
|
|
if(!eggCreated && hasEgg(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!detonateEgg(self, eggCreated))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_remote_detonator_2()
|
|
{
|
|
boolean eggCreated = hasEgg(self);
|
|
|
|
if(!eggCreated && !combatStandardAction("co_remote_detonator_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// First time the egg is created? Then reset the cooldown.
|
|
if(!eggCreated && hasEgg(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!detonateEgg(self, eggCreated))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_remote_detonator_3()
|
|
{
|
|
boolean eggCreated = hasEgg(self);
|
|
|
|
if(!eggCreated && !combatStandardAction("co_remote_detonator_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// First time the egg is created? Then reset the cooldown.
|
|
if(!eggCreated && hasEgg(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!detonateEgg(self, eggCreated))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_remote_detonator_4()
|
|
{
|
|
boolean eggCreated = hasEgg(self);
|
|
|
|
if(!eggCreated && !combatStandardAction("co_remote_detonator_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// First time the egg is created? Then reset the cooldown.
|
|
if(!eggCreated && hasEgg(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!detonateEgg(self, eggCreated))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_remote_detonator_5()
|
|
{
|
|
boolean eggCreated = hasEgg(self);
|
|
|
|
if(!eggCreated && !combatStandardAction("co_remote_detonator_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// First time the egg is created? Then reset the cooldown.
|
|
if(!eggCreated && hasEgg(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!detonateEgg(self, eggCreated))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_sh_0()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("co_sh_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_sh_1()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("co_sh_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_sh_2()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("co_sh_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_sh_3()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("co_sh_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_stim_armor()
|
|
{
|
|
if (!combatStandardAction("co_stim_armor", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kill_meter_co_it_burns_proc()
|
|
{
|
|
if (!combatStandardAction("kill_meter_co_it_burns_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kill_meter_co_armor_splash_proc()
|
|
{
|
|
if (!combatStandardAction("kill_meter_co_armor_splash_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kill_meter_co_youll_regret_that_reac()
|
|
{
|
|
if (!combatStandardAction("kill_meter_co_youll_regret_that_reac", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_co_burst_fire_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_co_burst_fire_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_position_secured()
|
|
{
|
|
if (buff.toggleStance(self, "co_position_secured"))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("co_position_secured", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
vehicle.storeAllVehicles(self);
|
|
|
|
showFlyText(self, new string_id("spam", "co_position_secured"), 2, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_suppressing_fire()
|
|
{
|
|
if (!combatStandardAction("co_suppressing_fire", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_riddle_armor()
|
|
{
|
|
if (!combatStandardAction("co_riddle_armor", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("co_riddle_armor");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_co_riddle_armor");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_armor_cracker()
|
|
{
|
|
if (!combatStandardAction("co_armor_cracker", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("co_armor_cracker");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_co_riddle_armor");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ofAggroChannel()
|
|
{
|
|
if(!group.inSameGroup(self, target) || target == self)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("of_aggro_channel", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_mirror_armor()
|
|
{
|
|
if (!combatStandardAction("co_mirror_armor", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
combat.mirrorArmor(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_dm_1()
|
|
{
|
|
if (!combatStandardAction("en_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_dm_2()
|
|
{
|
|
if (!combatStandardAction("en_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_dm_3()
|
|
{
|
|
if (!combatStandardAction("en_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_dm_4()
|
|
{
|
|
if (!combatStandardAction("en_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_dm_5()
|
|
{
|
|
if (!combatStandardAction("en_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_dm_6()
|
|
{
|
|
if (!combatStandardAction("en_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_dm_7()
|
|
{
|
|
if (!combatStandardAction("en_dm_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_dm_8()
|
|
{
|
|
if (!combatStandardAction("en_dm_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sh_1()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("en_sh_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sh_2()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("en_sh_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sh_3()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("en_sh_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_conceal_1()
|
|
{
|
|
if(!combatStandardAction("bh_conceal_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_conceal_device_1()
|
|
{
|
|
if(!combatStandardAction("co_conceal_device_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_neutralize_device_1()
|
|
{
|
|
if(!stealth.canDisarmTrap(self, target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
stealth.disarmTrap(self, target);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_hide_device_1()
|
|
{
|
|
if(!combatStandardAction("sp_hide_device_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler fs_saber_reflect_buff()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_stance"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_saber_reflect_buff", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// This is a proc and is server activated, not player activated. The buff must be on to be usable.
|
|
commandHandler fs_saber_reflect()
|
|
{
|
|
if(!buff.isInStance(self) || !buff.hasBuff(self, "fs_saber_reflect"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_saber_reflect", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
showFlyTextPrivate(self, self, new string_id("combat_effects", "saber_reflect"), 1.5f, colors.ORANGERED);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler saberBlock()
|
|
{
|
|
if (!combatStandardAction("saberBlock", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sense_danger_1()
|
|
{
|
|
if(!stealth.canDetectCamouflage(self) || !combatStandardAction("fs_sense_danger_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float detectSkill = getEnhancedSkillStatisticModifier(self, "detect_hidden");
|
|
float distance = stealth.BASE_DETECT_CAMOUFLAGE_DISTANCE + (detectSkill / 20);
|
|
|
|
float detectChance = 50.0f;
|
|
|
|
stealth.detectCamouflage(self, true, true, distance, detectChance);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_forsake_fear()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_stance"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_forsake_fear", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
string_id promptString = new string_id("healing", "fs_forsake_fear_channel");
|
|
|
|
int flags = sui.CD_EVENT_INCAPACITATE;
|
|
|
|
int pid = sui.smartCountdownTimerSUI(self, self, "channelForsakeFearCountdown", promptString, 0, 10, "channelForsakeFearCountdownHandler", -1, flags);
|
|
|
|
utils.setScriptVar(self, "buff_handler.ForsakeFearSUIPID", pid);
|
|
|
|
dictionary parms = new dictionary();
|
|
|
|
parms.put("player", self);
|
|
parms.put("buffName", "fs_forsake_fear");
|
|
|
|
messageTo(self, "checkChannelForsakeFear", parms, 1, false);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_force_spark()
|
|
{
|
|
if (!combatStandardAction("fs_force_spark", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_ae_dm_cc_1()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_ae_dm_cc_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_ae_dm_cc_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_ae_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_ae_dm_cc_2()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_ae_dm_cc_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_ae_dm_cc_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_ae_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_ae_dm_cc_3()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_ae_dm_cc_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_ae_dm_cc_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_ae_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_ae_dm_cc_4()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_ae_dm_cc_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_ae_dm_cc_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_ae_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_ae_dm_cc_5()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_ae_dm_cc_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_ae_dm_cc_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_ae_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_ae_dm_cc_6()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_ae_dm_cc_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_ae_dm_cc_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_ae_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_maelstrom_1()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if (!combatStandardAction("fs_maelstrom_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_maelstrom_2()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if (!combatStandardAction("fs_maelstrom_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_maelstrom_3()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if (!combatStandardAction("fs_maelstrom_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_maelstrom_4()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if (!combatStandardAction("fs_maelstrom_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_maelstrom_5()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if (!combatStandardAction("fs_maelstrom_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
//Jedi Focus Buff Handler
|
|
commandHandler fs_buff_ca_1()
|
|
{
|
|
// toggle buff [EJ]
|
|
if (buff.toggleStance(self, "fs_buff_ca_1"))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("fs_buff_ca_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
//Jedi Stance Buff Handler
|
|
commandHandler fs_buff_def_1_1()
|
|
{
|
|
// toggle buff [EJ]
|
|
if (buff.toggleStance(self, "fs_buff_def_1_1"))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("fs_buff_def_1_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_flurry_1()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!buff.hasBuff(self, "jedi_reflect_flurry"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_flurry_not_charged"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_flurry_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.removeBuff(self, "jedi_reflect_flurry");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_flurry_2()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!buff.hasBuff(self, "jedi_reflect_flurry"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_flurry_not_charged"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_flurry_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.removeBuff(self, "jedi_reflect_flurry");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_flurry_3()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!buff.hasBuff(self, "jedi_reflect_flurry"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_flurry_not_charged"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_flurry_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.removeBuff(self, "jedi_reflect_flurry");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_flurry_4()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!buff.hasBuff(self, "jedi_reflect_flurry"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_flurry_not_charged"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_flurry_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.removeBuff(self, "jedi_reflect_flurry");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_flurry_5()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!buff.hasBuff(self, "jedi_reflect_flurry"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_flurry_not_charged"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_flurry_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.removeBuff(self, "jedi_reflect_flurry");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_flurry_6()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!buff.hasBuff(self, "jedi_reflect_flurry"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_flurry_not_charged"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_flurry_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.removeBuff(self, "jedi_reflect_flurry");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_flurry_7()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!buff.hasBuff(self, "jedi_reflect_flurry"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_flurry_not_charged"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_flurry_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.removeBuff(self, "jedi_reflect_flurry");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_1()
|
|
{
|
|
if (!combatStandardAction("fs_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_2()
|
|
{
|
|
if (!combatStandardAction("fs_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_3()
|
|
{
|
|
if (!combatStandardAction("fs_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_4()
|
|
{
|
|
if (!combatStandardAction("fs_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_5()
|
|
{
|
|
if (!combatStandardAction("fs_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_6()
|
|
{
|
|
if (!combatStandardAction("fs_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_7()
|
|
{
|
|
if (!combatStandardAction("fs_dm_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_7");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sweep_1()
|
|
{
|
|
if (!combatStandardAction("fs_sweep_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_sweep_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_sweep") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sweep_2()
|
|
{
|
|
if (!combatStandardAction("fs_sweep_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_sweep_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_sweep") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sweep_3()
|
|
{
|
|
if (!combatStandardAction("fs_sweep_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_sweep_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_sweep") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sweep_4()
|
|
{
|
|
if (!combatStandardAction("fs_sweep_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_sweep_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_sweep") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sweep_5()
|
|
{
|
|
if (!combatStandardAction("fs_sweep_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_sweep_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_sweep") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sweep_6()
|
|
{
|
|
if (!combatStandardAction("fs_sweep_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_sweep_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_sweep") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sweep_7()
|
|
{
|
|
if (!combatStandardAction("fs_sweep_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_sweep_7");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_sweep") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_mind_trick_1()
|
|
{
|
|
if (!combatStandardAction("fs_mind_trick_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
ai_lib.mindTrick(self, target);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_mind_trick_2()
|
|
{
|
|
if (!combatStandardAction("fs_mind_trick_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
//get all targets within the specified range (as indicated in the datatable)
|
|
//iterate through the target list and repeat the above if
|
|
combat_data actionData = combat_engine.getCombatData("fs_mind_trick_2");
|
|
float actionRadius = actionData.coneLength;
|
|
|
|
actionRadius += getEnhancedSkillStatisticModifierUncapped(self, "expertise_area_size_single_fs_mind_trick_2");
|
|
|
|
obj_id[] defenders = pvpGetTargetsInRange(self, target, actionRadius);
|
|
|
|
for (int i = 0; i < defenders.length; i++)
|
|
{
|
|
ai_lib.mindTrick(self, defenders[i]);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_1()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if (!combatStandardAction("fs_dm_cc_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_2()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_dm_cc_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_3()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_dm_cc_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_4()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_dm_cc_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_5()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_dm_cc_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler fs_dm_cc_6()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_dm_cc_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_crit_1()
|
|
{
|
|
if (!combatStandardAction("fs_dm_cc_crit_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_cc_crit_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_cc_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_crit_2()
|
|
{
|
|
if (!combatStandardAction("fs_dm_cc_crit_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_cc_crit_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_cc_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_crit_3()
|
|
{
|
|
if (!combatStandardAction("fs_dm_cc_crit_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_cc_crit_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_cc_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_crit_4()
|
|
{
|
|
if (!combatStandardAction("fs_dm_cc_crit_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_cc_crit_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_cc_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_dm_cc_crit_5()
|
|
{
|
|
if (!combatStandardAction("fs_dm_cc_crit_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "fs_powers", "fury_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("fs_dm_cc_crit_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_fs_cc_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sh_0()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_sh_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sh_1()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_sh_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sh_2()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_sh_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_sh_3()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_sh_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_hermetic_touch()
|
|
{
|
|
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_hermetic_touch", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_set_heroic_taunt_1()
|
|
{
|
|
//This command is granted from a buff so double check for it.
|
|
if(!buff.hasBuff(self, "set_bonus_jedi_utility_b_3"))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(!combatStandardAction("fs_set_heroic_taunt_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler me_ae_heal_1()
|
|
{
|
|
if (!combatStandardAction("me_ae_heal_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_ae_heal_2()
|
|
{
|
|
if (!combatStandardAction("me_ae_heal_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_ae_heal_3()
|
|
{
|
|
if (!combatStandardAction("me_ae_heal_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_ae_heal_4()
|
|
{
|
|
if (!combatStandardAction("me_ae_heal_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_ae_heal_5()
|
|
{
|
|
if (!combatStandardAction("me_ae_heal_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_ae_heal_6()
|
|
{
|
|
if (!combatStandardAction("me_ae_heal_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_buff_health_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_health") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_buff_health_1", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_1()
|
|
{
|
|
if (!combatStandardAction("me_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_2()
|
|
{
|
|
if (!combatStandardAction("me_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_3()
|
|
{
|
|
if (!combatStandardAction("me_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_4()
|
|
{
|
|
if (!combatStandardAction("me_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_5()
|
|
{
|
|
if (!combatStandardAction("me_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_6()
|
|
{
|
|
if (!combatStandardAction("me_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_8()
|
|
{
|
|
if (!combatStandardAction("me_dm_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_dot_1()
|
|
{
|
|
if (!combatStandardAction("me_dm_dot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_dm_dot_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_dot_2()
|
|
{
|
|
if (!combatStandardAction("me_dm_dot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_dm_dot_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_dot_3()
|
|
{
|
|
if (!combatStandardAction("me_dm_dot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_dm_dot_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_dot_4()
|
|
{
|
|
if (!combatStandardAction("me_dm_dot_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_dm_dot_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_dot_5()
|
|
{
|
|
if (!combatStandardAction("me_dm_dot_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_dm_dot_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_dm_dot_6()
|
|
{
|
|
if (!combatStandardAction("me_dm_dot_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_dm_dot_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler me_fld_dm_dot_1()
|
|
{
|
|
if (!combatStandardAction("me_fld_dm_dot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_fld_dm_dot_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_fld_dm_dot_2()
|
|
{
|
|
if (!combatStandardAction("me_fld_dm_dot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_fld_dm_dot_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_fld_dm_dot_3()
|
|
{
|
|
if (!combatStandardAction("me_fld_dm_dot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_fld_dm_dot_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_dot");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_hot_1()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_hot_1", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_hot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_hot_2()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_hot_2", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_hot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_hot_3()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_hot_3", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_hot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_sh_1()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_sh_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_rv_ooc()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_rv_ooc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_revive", "quick_revive_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_rv_ooc");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_revive");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_rv_area()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_rv_area", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_revive", "quick_revive_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_rv_area");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_revive");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_rv_combat()
|
|
{
|
|
//forcing target to be self, so the ability will automagically target medic, medic doesnt have to target a corpse.
|
|
if (!combatStandardAction("me_rv_combat", self, self, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_revive", "quick_revive_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_rv_combat");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_aoe_revive");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod * 60) );
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
/******* Innane GCW Rezzes ******/
|
|
|
|
commandHandler me_rv_pvp_single()
|
|
{
|
|
if(vehicle.isVehicle(target) || space_dungeon.isInSpaceDungeon(self) || instance.isInInstanceArea(self) || !utils.hasScriptVar(target, "pvp_death"))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_rv_pvp_single", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_revive", "quick_revive_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_rv_pvp_single");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_revive");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_rv_pvp_area()
|
|
{
|
|
if(space_dungeon.isInSpaceDungeon(self) || instance.isInInstanceArea(self))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
//forcing target to be self, so the ability will automagically target medic, medic doesnt have to target a corpse.
|
|
if (!combatStandardAction("me_rv_pvp_area", self, self, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_revive", "quick_revive_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_rv_pvp_area");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_aoe_revive");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod * 60) );
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
/******* Officer expertise ******/
|
|
|
|
commandHandler me_drag_1()
|
|
{
|
|
if(!group.isGrouped(self) )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "drag_not_grouped") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_drag_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
corpse.dragPlayerCorpse(self, corpse.getDraggableCorpsesInRange(self, true) );
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_blood_cleaners_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.hasBuff(target, "incapWeaken") )
|
|
{
|
|
if(target == self)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "remove_weakness_self_fail") );
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "remove_weakness_other_fail") );
|
|
}
|
|
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_blood_cleaners_1", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.removeBuff(target, "incapWeaken");
|
|
playClientEffectObj(target, "appearance/pt_heal_2.prt", target, "root");
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_bomb_1()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_bomb_1", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_bomb_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_bomb_2()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_bomb_2", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_bomb_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler me_bacta_bomb_3()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_bomb_3", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_bomb_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_bomb_4()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_bomb_4", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_bomb_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_bomb_5()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_bomb_5", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if(!combatStandardAction("me_bacta_bomb_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_ampule_1()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_ampule_1", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_ampule_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_ampule_2()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_ampule_2", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_ampule_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_ampule_3()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_ampule_3", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_ampule_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_ampule_4()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_ampule_4", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_ampule_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_ampule_5()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_ampule_5", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_ampule_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_ampule_6()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_ampule_6", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_ampule_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_cure_affliction_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if (!combatStandardAction("me_cure_affliction_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_serotonin_boost_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if (!combatStandardAction("me_serotonin_boost_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_grenade_1()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_grenade_1", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_grenade_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_grenade_2()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_grenade_2", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_grenade_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_grenade_3()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_grenade_3", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_grenade_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_grenade_4()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_grenade_4", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_grenade_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_grenade_5()
|
|
{
|
|
if(vehicle.isVehicle(target) || !isInAttackRange(self, target, "me_bacta_bomb_5", false))
|
|
{
|
|
target = self;
|
|
}
|
|
|
|
if (!combatStandardAction("me_bacta_grenade_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(target != self && pvpCanHelp(self, target) && successfulFastAttack(self, "me_heal", "quick_heal_fly") )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_action_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_action_1") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_action_1", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_action_2()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_action_2") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_action_2", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_action_3()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_action_3") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_action_3", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_reckless_stimulation_1()
|
|
{
|
|
if(hasFullActionPool(self))
|
|
{
|
|
showFlyTextPrivate(self, self, new string_id("spam", "full_action_pool"), 2, colors.LEMONCHIFFON);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "cloning_sickness") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "not_well_enough") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_reckless_stimulation_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int healthCost = (int)dataTableGetFloat(COMBAT_TABLE, "me_reckless_stimulation_1", "healthCost");
|
|
int actionGain = dataTableGetInt(COMBAT_TABLE, "me_reckless_stimulation_1", "addedDamage");
|
|
|
|
healthToActionConversion(self, healthCost, actionGain);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_reckless_stimulation_2()
|
|
{
|
|
if(hasFullActionPool(self))
|
|
{
|
|
showFlyTextPrivate(self, self, new string_id("spam", "full_action_pool"), 2, colors.LEMONCHIFFON);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "cloning_sickness") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "not_well_enough") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_reckless_stimulation_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int healthCost = (int)dataTableGetFloat(COMBAT_TABLE, "me_reckless_stimulation_2", "healthCost");
|
|
int actionGain = dataTableGetInt(COMBAT_TABLE, "me_reckless_stimulation_2", "addedDamage");
|
|
|
|
healthToActionConversion(self, healthCost, actionGain);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_reckless_stimulation_3()
|
|
{
|
|
if(hasFullActionPool(self))
|
|
{
|
|
showFlyTextPrivate(self, self, new string_id("spam", "full_action_pool"), 2, colors.LEMONCHIFFON);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "cloning_sickness") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "not_well_enough") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_reckless_stimulation_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int healthCost = (int)dataTableGetFloat(COMBAT_TABLE, "me_reckless_stimulation_3", "healthCost");
|
|
int actionGain = dataTableGetInt(COMBAT_TABLE, "me_reckless_stimulation_3", "addedDamage");
|
|
|
|
healthToActionConversion(self, healthCost, actionGain);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_reckless_stimulation_4()
|
|
{
|
|
if(hasFullActionPool(self))
|
|
{
|
|
showFlyTextPrivate(self, self, new string_id("spam", "full_action_pool"), 2, colors.LEMONCHIFFON);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "cloning_sickness") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "not_well_enough") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_reckless_stimulation_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int healthCost = (int)dataTableGetFloat(COMBAT_TABLE, "me_reckless_stimulation_4", "healthCost");
|
|
int actionGain = dataTableGetInt(COMBAT_TABLE, "me_reckless_stimulation_4", "addedDamage");
|
|
|
|
healthToActionConversion(self, healthCost, actionGain);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_reckless_stimulation_5()
|
|
{
|
|
if(hasFullActionPool(self))
|
|
{
|
|
showFlyTextPrivate(self, self, new string_id("spam", "full_action_pool"), 2, colors.LEMONCHIFFON);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "cloning_sickness") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "not_well_enough") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_reckless_stimulation_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int healthCost = (int)dataTableGetFloat(COMBAT_TABLE, "me_reckless_stimulation_5", "healthCost");
|
|
int actionGain = dataTableGetInt(COMBAT_TABLE, "me_reckless_stimulation_5", "addedDamage");
|
|
|
|
healthToActionConversion(self, healthCost, actionGain);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_reckless_stimulation_6()
|
|
{
|
|
if(hasFullActionPool(self))
|
|
{
|
|
showFlyTextPrivate(self, self, new string_id("spam", "full_action_pool"), 2, colors.LEMONCHIFFON);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "cloning_sickness") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "not_well_enough") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_reckless_stimulation_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int healthCost = (int)dataTableGetFloat(COMBAT_TABLE, "me_reckless_stimulation_6", "healthCost");
|
|
int actionGain = dataTableGetInt(COMBAT_TABLE, "me_reckless_stimulation_6", "addedDamage");
|
|
|
|
healthToActionConversion(self, healthCost, actionGain);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_stasis_1()
|
|
{
|
|
//mark says "filthy exploiters", we use the buff group check to stop them from chaining different stasis specials
|
|
int stasisBuff = buff.getBuffOnTargetFromGroup(target, "stasis");
|
|
if(stasisBuff !=0)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(!buff.canApplyBuff(target, "me_stasis_1"))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
obj_id testTarget = getIntendedTarget(self);
|
|
|
|
if(isIdValid(testTarget)
|
|
&& ( (group.inSameGroup(self, testTarget) && pvpCanHelp(self, testTarget) ) || pvpCanAttack(self, testTarget) ) )
|
|
{
|
|
target = testTarget;
|
|
}
|
|
else
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(getDistance(self, target) > 48.0f)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_stasis_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.applyBuff(target, self, "me_stasis_1");
|
|
//buff.applyBuff(target, self, "me_cure_affliction_1");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_stasis_self_1()
|
|
{
|
|
int stasisBuff = buff.getBuffOnTargetFromGroup(self, "stasis");
|
|
if(stasisBuff !=0)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if(!buff.canApplyBuff(self, "me_stasis_self_1"))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_stasis_self_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
//buff.applyBuff(self, self, "me_cure_affliction_1");
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_stasis_self_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_stasis_self");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod*60) );
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_serotonin_purge_1()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_serotonin_purge_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_induce_insanity_1()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_induce_insanity_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_bacta_resistance_1()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_bacta_resistance_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_electrolyte_drain_1()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_electrolyte_drain_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_traumatize_1()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(buff.hasBuff(target, "action_drain_immunity") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "immune_to_that") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_traumatize_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_traumatize_2()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(buff.hasBuff(target, "action_drain_immunity") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "immune_to_that") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_traumatize_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_traumatize_3()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(buff.hasBuff(target, "action_drain_immunity") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "immune_to_that") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_traumatize_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_traumatize_4()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(buff.hasBuff(target, "action_drain_immunity") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "immune_to_that") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_traumatize_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_traumatize_5()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(buff.hasBuff(target, "action_drain_immunity") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "immune_to_that") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("me_traumatize_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_thyroid_rupture_1()
|
|
{
|
|
if(vehicle.isVehicle(target) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("me_thyroid_rupture_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDoom(self, target);
|
|
|
|
if(successfulFastAttack(self, "me_debuff", "fast_attack_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_strength_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_strength_1") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_strength_1", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_strength_2()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_strength_2") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_strength_2", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_strength_3()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_strength_3") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_strength_3", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_burst_1()
|
|
{
|
|
if (!combatStandardAction("me_burst_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_burst_2()
|
|
{
|
|
if (!combatStandardAction("me_burst_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_burst_3()
|
|
{
|
|
if (!combatStandardAction("me_burst_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_burst_4()
|
|
{
|
|
if (!combatStandardAction("me_burst_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_burst_5()
|
|
{
|
|
if (!combatStandardAction("me_burst_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_agility_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_agility_1") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_agility_1", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_agility_2()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_agility_2") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_agility_2", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_agility_3()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_agility_3") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_agility_3", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_cranial_smash_1()
|
|
{
|
|
if (!combatStandardAction("me_cranial_smash_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_cranial_smash_2()
|
|
{
|
|
if (!combatStandardAction("me_cranial_smash_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_cranial_smash_3()
|
|
{
|
|
if (!combatStandardAction("me_cranial_smash_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_cranial_smash_4()
|
|
{
|
|
if (!combatStandardAction("me_cranial_smash_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_cranial_smash_5()
|
|
{
|
|
if (!combatStandardAction("me_cranial_smash_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_evasion_1()
|
|
{
|
|
if (!combatStandardAction("me_evasion_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doMedicEvasion(self);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("me_evasion_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_me_evasion");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_precision_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_precision_1") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_precision_1", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_precision_2()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_precision_2") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_precision_2", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_precision_3()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_precision_3") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_precision_3", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_block_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_melee_gb_1") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_block_1", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_enhance_dodge_1()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_ranged_gb_1") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) )
|
|
target = self;
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_enhance_dodge_1", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_buff_health_2()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_health_0") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_buff_health_2", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler me_buff_health_3()
|
|
{
|
|
if(!isIdValid(target) || !pvpCanHelp(self, target) || vehicle.isVehicle(target) || isDead(target) )
|
|
target = self;
|
|
|
|
if(!buff.canApplyBuff(target, "me_buff_health_2") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
boolean performed_buff = performMedicGroupBuff(self, target, "me_buff_health_3", params);
|
|
|
|
if (!performed_buff)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_dueterium_rounds_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_dueterium_rounds_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_poison_knuckle_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_poison_knuckle_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
void doDoom(obj_id attacker, obj_id defender)
|
|
{
|
|
int bonusChance = getEnhancedSkillStatisticModifierUncapped(attacker, "me_doom_chance");
|
|
|
|
if(bonusChance > 0)
|
|
{
|
|
int roll = rand(1, 99);
|
|
int total = roll+bonusChance;
|
|
|
|
if(roll + bonusChance > 99 && !utils.hasScriptVar(defender, "me_doom.doom_owner") )
|
|
{
|
|
utils.setScriptVar(defender, "me_doom.doom_owner", attacker);
|
|
utils.setScriptVar(defender, "me_doom.doom_stage", 1);
|
|
|
|
buff.applyBuff(defender, attacker, "me_doom", 18.0f, 1.0f);
|
|
|
|
if(hasCommand(attacker, "me_bacta_resistance_1") )
|
|
buff.applyBuff(defender, attacker, "me_bacta_resistance_1");
|
|
|
|
if(hasCommand(attacker, "me_electrolyte_drain_1") )
|
|
buff.applyBuff(defender, attacker, "me_electrolyte_drain_1");
|
|
|
|
if(hasCommand(attacker, "me_induce_insanity_1") )
|
|
buff.applyBuff(defender, attacker, "me_rheumatic_calamity_1");
|
|
|
|
if(hasCommand(attacker, "me_thyroid_rupture_1") )
|
|
buff.applyBuff(defender, attacker, "me_thyroid_rupture_1");
|
|
}
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
/****** End officer expertise *****/
|
|
|
|
commandHandler of_buff_def_1()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_1") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_1");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_buff_def_2()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_2") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_2");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_buff_def_3()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_3") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_3");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_deb_def_1()
|
|
{
|
|
if (!combatStandardAction("of_deb_def_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_deb_def_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_paint");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_deb_def_2()
|
|
{
|
|
if (!combatStandardAction("of_deb_def_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_deb_def_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_paint");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_deb_def_3()
|
|
{
|
|
if (!combatStandardAction("of_deb_def_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_deb_def_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_paint");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_ae_dm_cc_1()
|
|
{
|
|
if(!combatStandardAction("of_ae_dm_cc_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_ae_dm_cc_2()
|
|
{
|
|
if(!combatStandardAction("of_ae_dm_cc_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_ae_dm_cc_3()
|
|
{
|
|
if(!combatStandardAction("of_ae_dm_cc_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Artillery Strike
|
|
commandHandler of_del_ae_dm_1()
|
|
{
|
|
if(getTopMostContainer(self) != self)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_do_indoors"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("of_del_ae_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
prose_package p = prose.getPackage(new string_id("spam", "artillery_coming"));
|
|
commPlayers(self, "object/mobile/npe/npe_hutt_minion.iff", "sound/sys_comm_other.snd", 5f, self, p);
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//Aerial Bombardment
|
|
commandHandler of_del_ae_dm_2()
|
|
{
|
|
if(getTopMostContainer(self) != self)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_do_indoors"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_del_ae_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
prose_package p = prose.getPackage(new string_id("spam", "hailfire_coming"));
|
|
commPlayers(self, "object/mobile/npe/npe_hutt_minion.iff", "sound/sys_comm_other.snd", 5f, self, p);
|
|
playClientEffectLoc(self, "clienteffect/combat_pt_aerialstrike.cef", getLocation(target), 0);
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Orbital Strike
|
|
commandHandler of_del_ae_dm_3()
|
|
{
|
|
if(getTopMostContainer(self) != self)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_do_indoors"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_del_ae_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
prose_package p = prose.getPackage(new string_id("spam", "orbitalstrike_coming"));
|
|
commPlayers(self, "object/mobile/npe/npe_hutt_minion.iff", "sound/sys_comm_other.snd", 5f, self, p);
|
|
playClientEffectLoc(self, "clienteffect/combat_pt_orbitalstrike.cef", getLocation(target), 0);
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Deuterium Bomb
|
|
commandHandler of_del_ae_dm_dot_1()
|
|
{
|
|
if (!combatStandardAction("of_del_ae_dm_dot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Core Bomb
|
|
commandHandler of_del_ae_dm_dot_2()
|
|
{
|
|
if (!combatStandardAction("of_del_ae_dm_dot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_del_ae_dm_dot_3()
|
|
{
|
|
if (!combatStandardAction("of_del_ae_dm_dot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_del_ae_dot_1()
|
|
{
|
|
if (!combatStandardAction("of_del_ae_dot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//pistol overcharge
|
|
commandHandler of_pistol_dm()
|
|
{
|
|
if (!combatStandardAction("of_pistol_dm", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int level = getLevel(self);
|
|
if(level >= 74)
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//pistol burn
|
|
commandHandler of_pistol_bleed()
|
|
{
|
|
if (!combatStandardAction("of_pistol_bleed", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int level = getLevel(self);
|
|
if(level >= 74)
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_rally_point_off()
|
|
{
|
|
// ground target. Location is passed in the params
|
|
location eggLoc = combat.getCommandGroundTargetLocation(params);
|
|
|
|
location myLoc = getLocation(self);
|
|
|
|
float distance = getDistance(myLoc, eggLoc);
|
|
|
|
//create our invisible egg
|
|
obj_id objEgg = createObject("object/tangible/space/content_infrastructure/generic_egg_small.iff", eggLoc);
|
|
|
|
//validate it
|
|
if(!isIdValid(objEgg))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
//we need to store data on the egg to be used in its script
|
|
utils.setScriptVar(objEgg, "objOwner", self);
|
|
utils.setScriptVar(self, "objEgg", objEgg);
|
|
utils.setScriptVar(objEgg, "triggerBuff", "of_rally_point_off");
|
|
int duration = combat.EGG_AURA_DURATION;
|
|
duration += (int)getEnhancedSkillStatisticModifierUncapped(self, "rally_point_duration");
|
|
utils.setScriptVar(objEgg, "triggerDuration", duration);
|
|
utils.setScriptVar(objEgg, "triggerPrt", "appearance/pt_rally_point_red.prt");
|
|
|
|
//attach the eggs handler script
|
|
attachScript(objEgg, "systems.combat.combat_trigger_area");
|
|
|
|
//we now need to perform our action costs
|
|
combat_data cData = combat_engine.getCombatData("of_rally_point_off");
|
|
obj_id weapon = getCurrentWeapon(self);
|
|
weapon_data wData = getWeaponData(weapon);
|
|
|
|
int[] actionCost = combat.getActionCost(self, wData, cData);
|
|
|
|
combat.drainCombatActionAttributes(self, actionCost);
|
|
|
|
//we now need to find any cooldown modifiers and apply them
|
|
float baseCooldownTime = getBaseCooldownTime("of_rally_point_off");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
if(group.isGrouped(self))
|
|
{
|
|
obj_id groupId = getGroupObject(self);
|
|
obj_id[] members = getGroupMemberIds(groupId);
|
|
prose_package pp = new prose_package();
|
|
|
|
prose.setStringId(pp, new string_id("squad_leader", "of_set_rally_point"));
|
|
prose.setTT(pp, self);
|
|
|
|
if(members != null && members.length > 0)
|
|
{
|
|
for(int i = 0; i < members.length; ++i)
|
|
{
|
|
combat.sendCombatSpamMessageProse(members[i], pp);
|
|
}
|
|
}
|
|
squad_leader.sendSquadLeaderCommand( self, "Rallypoint has been set!" );
|
|
}
|
|
else
|
|
combat.sendCombatSpamMessage(self, new string_id("squad_leader", "self_set_rally_point"));
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_rally_point_def()
|
|
{
|
|
location eggLoc = combat.getCommandGroundTargetLocation(params);
|
|
|
|
location myLoc = getLocation(self);
|
|
|
|
float distance = getDistance(myLoc, eggLoc);
|
|
|
|
//create our invisible egg
|
|
obj_id objEgg = createObject("object/tangible/space/content_infrastructure/generic_egg_small.iff", eggLoc);
|
|
|
|
//validate it
|
|
if(!isIdValid(objEgg))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
//we need to store data on the egg to be used in its script
|
|
utils.setScriptVar(objEgg, "objOwner", self);
|
|
utils.setScriptVar(self, "objEgg", objEgg);
|
|
utils.setScriptVar(objEgg, "triggerBuff", "of_rally_point_def");
|
|
int duration = combat.EGG_AURA_DURATION;
|
|
duration += (int)getEnhancedSkillStatisticModifierUncapped(self, "rally_point_duration");
|
|
utils.setScriptVar(objEgg, "triggerDuration", duration);
|
|
utils.setScriptVar(objEgg, "triggerPrt", "appearance/pt_rally_point_blue.prt");
|
|
|
|
//attach the eggs handler script
|
|
attachScript(objEgg, "systems.combat.combat_trigger_area");
|
|
|
|
//we now need to apply our action costs
|
|
combat_data cData = combat_engine.getCombatData("of_rally_point_def");
|
|
obj_id weapon = getCurrentWeapon(self);
|
|
weapon_data wData = getWeaponData(weapon);
|
|
|
|
int[] actionCost = combat.getActionCost(self, wData, cData);
|
|
|
|
combat.drainCombatActionAttributes(self, actionCost);
|
|
|
|
//we now need to find any cooldown modifiers and apply them
|
|
float baseCooldownTime = getBaseCooldownTime("of_rally_point_def");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
if(group.isGrouped(self))
|
|
{
|
|
obj_id groupId = getGroupObject(self);
|
|
obj_id[] members = getGroupMemberIds(groupId);
|
|
prose_package pp = new prose_package();
|
|
|
|
prose.setStringId(pp, new string_id("squad_leader", "of_set_rally_point"));
|
|
prose.setTT(pp, self);
|
|
|
|
if(members != null && members.length > 0)
|
|
{
|
|
for(int i = 0; i < members.length; ++i)
|
|
{
|
|
combat.sendCombatSpamMessageProse(members[i], pp);
|
|
}
|
|
}
|
|
squad_leader.sendSquadLeaderCommand( self, "Rallypoint has been set!" );
|
|
}
|
|
else
|
|
combat.sendCombatSpamMessage(self, new string_id("squad_leader", "self_set_rally_point"));
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler of_dm_1()
|
|
{
|
|
if (!combatStandardAction("of_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_dm_2()
|
|
{
|
|
if (!combatStandardAction("of_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_dm_3()
|
|
{
|
|
if (!combatStandardAction("of_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_dm_4()
|
|
{
|
|
if (!combatStandardAction("of_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_dm_5()
|
|
{
|
|
if (!combatStandardAction("of_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_dm_6()
|
|
{
|
|
if (!combatStandardAction("of_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_dm_7()
|
|
{
|
|
if (!combatStandardAction("of_dm_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_7");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_dm_8()
|
|
{
|
|
if (!combatStandardAction("of_dm_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_8");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_sh_0()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_sh_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_heal", "quick_heal_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_sh_0");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_heal");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_sh_1()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_sh_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_heal", "quick_heal_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_sh_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_heal");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_sh_2()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_sh_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_heal", "quick_heal_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_sh_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_heal");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_sh_3()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_sh_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doInspiredAction(self);
|
|
|
|
if(successfulFastAttack(self, "of_heal", "quick_heal_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_sh_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_heal");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_drop_1()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("of_drop_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 0))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_drop_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Officer expertise
|
|
commandHandler of_buff_def_4()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_4") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_4");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_buff_def_5()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_5") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_5");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_buff_def_6()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_6") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_6");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_buff_def_7()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_7") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_7");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_buff_def_8()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_8") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_8");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_buff_def_9()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_buff_def_9") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_buff_def_9", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_buff_def_9");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_focus_fire_1()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_focus_fire_1") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_focus_fire_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_focus_fire_1");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_focus_fire_2()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_focus_fire_2") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_focus_fire_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_focus_fire_2");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_focus_fire_3()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_focus_fire_3") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_focus_fire_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_focus_fire_3");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_focus_fire_4()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_focus_fire_4") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_focus_fire_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_focus_fire_4");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_focus_fire_5()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_focus_fire_5") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_focus_fire_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_focus_fire_5");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_focus_fire_6()
|
|
{
|
|
if(!buff.canApplyBuff(self, "of_focus_fire_6") )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "buff_wont_stack") );
|
|
sendCombatSpamMessage(self, new string_id("spam", "buff_wont_stack"), COMBAT_RESULT_GENERIC);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_focus_fire_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_focus_fire_6");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_inspiration_1()
|
|
{
|
|
if (!combatStandardAction("of_inspiration_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_inspiration_1");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_inspiration_2()
|
|
{
|
|
if (!combatStandardAction("of_inspiration_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_inspiration_2");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_inspiration_3()
|
|
{
|
|
if (!combatStandardAction("of_inspiration_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_inspiration_3");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_inspiration_4()
|
|
{
|
|
if (!combatStandardAction("of_inspiration_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_inspiration_4");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_inspiration_5()
|
|
{
|
|
if (!combatStandardAction("of_inspiration_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_inspiration_5");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_inspiration_6()
|
|
{
|
|
if (!combatStandardAction("of_inspiration_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_inspiration_6");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_scatter_1()
|
|
{
|
|
if (!combatStandardAction("of_scatter_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_scatter_1");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_charge_1()
|
|
{
|
|
if (!combatStandardAction("of_charge_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_charge_1");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_medical_sup_1()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_medical_sup_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 1))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_medical_sup_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_medical_sup_2()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_medical_sup_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 2))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_medical_sup_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_medical_sup_3()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_medical_sup_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 3))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_medical_sup_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_medical_sup_4()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_medical_sup_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 4))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_medical_sup_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_medical_sup_5()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_medical_sup_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 5))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_medical_sup_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_medical_sup_6()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_medical_sup_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 6))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_medical_sup_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_tactical_sup_1()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_tactical_sup_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 7))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_tactical_sup_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_tactical_sup_2()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_tactical_sup_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 8))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_tactical_sup_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_tactical_sup_3()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_tactical_sup_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 9))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_tactical_sup_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_tactical_sup_4()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_tactical_sup_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 10))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_tactical_sup_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_tactical_sup_5()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_tactical_sup_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 11))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_tactical_sup_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_tactical_sup_6()
|
|
{
|
|
if(!canCallSupplyDrop(self) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
|
|
if (!combatStandardAction("of_tactical_sup_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callSupplyDrop(self, 12))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_tactical_sup_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_reinforcements_1()
|
|
{
|
|
if (pet_lib.hasMaxStoredPetsOfType (self, pet_lib.PET_TYPE_NPC))
|
|
{
|
|
sendSystemMessage (self, pet_lib.SID_SYS_CALL_MAX_DATAPAD);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!canCallSupplyDrop(self) || pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
boolean droidPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_DROID);
|
|
boolean npcPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC);
|
|
if (droidPets || npcPets)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_reinforcements_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else if(!callSupplyDrop(self, 13))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_reinforcements_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_reinforcements_2()
|
|
{
|
|
if (pet_lib.hasMaxStoredPetsOfType (self, pet_lib.PET_TYPE_NPC))
|
|
{
|
|
sendSystemMessage (self, pet_lib.SID_SYS_CALL_MAX_DATAPAD);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!canCallSupplyDrop(self) || pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
boolean droidPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_DROID);
|
|
boolean npcPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC);
|
|
if (droidPets || npcPets)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_reinforcements_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else if(!callSupplyDrop(self, 14))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_reinforcements_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_reinforcements_3()
|
|
{
|
|
if (pet_lib.hasMaxStoredPetsOfType (self, pet_lib.PET_TYPE_NPC))
|
|
{
|
|
sendSystemMessage (self, pet_lib.SID_SYS_CALL_MAX_DATAPAD);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!canCallSupplyDrop(self) || pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
boolean droidPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_DROID);
|
|
boolean npcPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC);
|
|
if (droidPets || npcPets)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_reinforcements_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else if(!callSupplyDrop(self, 15))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_reinforcements_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_reinforcements_4()
|
|
{
|
|
if (pet_lib.hasMaxStoredPetsOfType (self, pet_lib.PET_TYPE_NPC))
|
|
{
|
|
sendSystemMessage (self, pet_lib.SID_SYS_CALL_MAX_DATAPAD);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!canCallSupplyDrop(self) || pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
boolean droidPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_DROID);
|
|
boolean npcPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC);
|
|
if (droidPets || npcPets)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_reinforcements_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else if(!callSupplyDrop(self, 16))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_reinforcements_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_reinforcements_5()
|
|
{
|
|
if (pet_lib.hasMaxStoredPetsOfType (self, pet_lib.PET_TYPE_NPC))
|
|
{
|
|
sendSystemMessage (self, pet_lib.SID_SYS_CALL_MAX_DATAPAD);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!canCallSupplyDrop(self) || pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC) )
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
boolean droidPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_DROID);
|
|
boolean npcPets = pet_lib.hasMaxPets(self, pet_lib.PET_TYPE_NPC);
|
|
if (droidPets || npcPets)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_reinforcements_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else if(!callSupplyDrop(self, 17))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_reinforcements_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sup") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_firepower_1()
|
|
{
|
|
if (!combatStandardAction("of_firepower_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_firepower_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_firepower") * 60;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_deb_def_4()
|
|
{
|
|
if (!combatStandardAction("of_deb_def_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_deb_def_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_paint");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_deb_def_5()
|
|
{
|
|
if (!combatStandardAction("of_deb_def_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_deb_def_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_paint");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_deb_def_6()
|
|
{
|
|
if (!combatStandardAction("of_deb_def_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_deb_def_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_paint");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_deb_def_7()
|
|
{
|
|
if (!combatStandardAction("of_deb_def_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_deb_def_7");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_paint");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_deb_def_8()
|
|
{
|
|
if (!combatStandardAction("of_deb_def_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_deb_def_8");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_paint");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_decapitate_1()
|
|
{
|
|
if (!combatStandardAction("of_decapitate_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_decapitate_2()
|
|
{
|
|
if (!combatStandardAction("of_decapitate_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_decapitate_3()
|
|
{
|
|
if (!combatStandardAction("of_decapitate_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_decapitate_4()
|
|
{
|
|
if (!combatStandardAction("of_decapitate_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_decapitate_5()
|
|
{
|
|
if (!combatStandardAction("of_decapitate_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_decapitate_6()
|
|
{
|
|
if (!combatStandardAction("of_decapitate_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_vortex_1()
|
|
{
|
|
if (!combatStandardAction("of_vortex_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_vortex_2()
|
|
{
|
|
if (!combatStandardAction("of_vortex_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_vortex_3()
|
|
{
|
|
if (!combatStandardAction("of_vortex_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_vortex_4()
|
|
{
|
|
if (!combatStandardAction("of_vortex_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_vortex_5()
|
|
{
|
|
if (!combatStandardAction("of_vortex_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_vortex_6()
|
|
{
|
|
if (!combatStandardAction("of_vortex_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_drillmaster_1()
|
|
{
|
|
if (!combatStandardAction("of_drillmaster_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_drillmaster_1");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "cooldown_percent_of_group_buff");
|
|
baseCooldownTime = baseCooldownTime - (baseCooldownTime * (cooldownTimeMod/100) );
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0.0f;
|
|
}
|
|
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime);
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_stimulator_1()
|
|
{
|
|
if (!combatStandardAction("of_stimulator_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_stimulator_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_purge");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler of_purge_1()
|
|
{
|
|
if (!combatStandardAction("of_purge_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_stimulator_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_purge");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
void doInspiredAction(obj_id officer)
|
|
{
|
|
int bonusChance = getEnhancedSkillStatisticModifierUncapped(officer, "of_inspired_action_chance");
|
|
|
|
if(bonusChance > 0)
|
|
{
|
|
int roll = rand(1, 99);
|
|
int total = roll+bonusChance;
|
|
|
|
if(total > 99)
|
|
{
|
|
buff.applyBuff(officer, officer, "of_inspiration_6");
|
|
showFlyText(officer, new string_id("set_bonus", "inspired_action_fly"), 2, colors.LEMONCHIFFON);
|
|
|
|
prose_package pp = new prose_package();
|
|
pp = prose.setStringId(pp, new string_id("set_bonus", "inspired_action_fly_cbspam"));
|
|
pp = prose.setTT(pp, officer);
|
|
sendCombatSpamMessageProse(officer, pp, COMBAT_RESULT_GENERIC);
|
|
}
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
messageHandler of_last_words_recourse()
|
|
{
|
|
if(!buff.hasBuff(self, "of_last_words_recourse") )
|
|
buff.applyBuff(self, self, "of_last_words_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// End Officer Expertise
|
|
|
|
commandHandler sm_disarm_trap_1()
|
|
{
|
|
if(!stealth.canDisarmTrap(self, target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
stealth.disarmTrap(self, target);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_1()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_2()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_3()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_4()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_5()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_6()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_melee_1()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_melee_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_melee_2()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_melee_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_melee_3()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_melee_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_melee_4()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_melee_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_melee_5()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_melee_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_melee_6()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_melee_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler sm_ae_cover_fire()
|
|
{
|
|
if (!combatStandardAction("sm_ae_cover_fire", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_1()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_2()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_3()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_4()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_5()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_pin_down()
|
|
{
|
|
if (!combatStandardAction("sm_ae_pin_down", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_melee_1()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_melee_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_melee_2()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_melee_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_melee_3()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_melee_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_melee_4()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_melee_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_ae_dm_cc_melee_5()
|
|
{
|
|
if (!combatStandardAction("sm_ae_dm_cc_melee_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_del_dm_cc_1()
|
|
{
|
|
if (!combatStandardAction("sm_del_dm_cc_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_del_dm_cc_2()
|
|
{
|
|
if (!combatStandardAction("sm_del_dm_cc_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_del_dm_cc_3()
|
|
{
|
|
if (!combatStandardAction("sm_del_dm_cc_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_del_dm_cc_4()
|
|
{
|
|
if (!combatStandardAction("sm_del_dm_cc_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_del_dm_cc_5()
|
|
{
|
|
if (!combatStandardAction("sm_del_dm_cc_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_del_dm_cc_6()
|
|
{
|
|
if (!combatStandardAction("sm_del_dm_cc_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_fast_draw()
|
|
{
|
|
if (!combatStandardAction("sm_fast_draw", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_1()
|
|
{
|
|
if (!combatStandardAction("sm_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_2()
|
|
{
|
|
if (!combatStandardAction("sm_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_3()
|
|
{
|
|
if (!combatStandardAction("sm_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_4()
|
|
{
|
|
if (!combatStandardAction("sm_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_5()
|
|
{
|
|
if (!combatStandardAction("sm_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_6()
|
|
{
|
|
if (!combatStandardAction("sm_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_7()
|
|
{
|
|
if (!combatStandardAction("sm_dm_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_precision_strike()
|
|
{
|
|
if (!combatStandardAction("sm_precision_strike", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_melee_1()
|
|
{
|
|
if (!combatStandardAction("sm_dm_melee_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_melee_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_melee_2()
|
|
{
|
|
if (!combatStandardAction("sm_dm_melee_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_melee_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_melee_3()
|
|
{
|
|
if (!combatStandardAction("sm_dm_melee_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_melee_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_melee_4()
|
|
{
|
|
if (!combatStandardAction("sm_dm_melee_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_melee_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_melee_5()
|
|
{
|
|
if (!combatStandardAction("sm_dm_melee_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_melee_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_melee_6()
|
|
{
|
|
if (!combatStandardAction("sm_dm_melee_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_melee_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_melee_7()
|
|
{
|
|
if (!combatStandardAction("sm_dm_melee_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sm_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_melee_7");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_concussion_shot()
|
|
{
|
|
if (!combatStandardAction("sm_concussion_shot", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_1()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_2()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_3()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_4()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_5()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_6()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dizzy()
|
|
{
|
|
if (!combatStandardAction("sm_dizzy", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler sm_dm_cc_melee_1()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_melee_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_melee_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_melee_2()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_melee_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_melee_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_melee_3()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_melee_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_melee_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_melee_4()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_melee_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_melee_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_melee_5()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_melee_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_melee_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_cc_melee_6()
|
|
{
|
|
if (!combatStandardAction("sm_dm_cc_melee_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doDireAbility(self, target, 0);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_dm_cc_melee_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_dm_cc") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_dot_1()
|
|
{
|
|
if (!combatStandardAction("sm_dm_dot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_dot_2()
|
|
{
|
|
if (!combatStandardAction("sm_dm_dot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_dot_3()
|
|
{
|
|
if (!combatStandardAction("sm_dm_dot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_dot_4()
|
|
{
|
|
if (!combatStandardAction("sm_dm_dot_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_dot_melee_1()
|
|
{
|
|
if (!combatStandardAction("sm_dm_dot_melee_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_dot_melee_2()
|
|
{
|
|
if (!combatStandardAction("sm_dm_dot_melee_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_dot_melee_3()
|
|
{
|
|
if (!combatStandardAction("sm_dm_dot_melee_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_dm_dot_melee_4()
|
|
{
|
|
if (!combatStandardAction("sm_dm_dot_melee_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_bad_odds_1()
|
|
{
|
|
if (!combatStandardAction("sm_bad_odds_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_bad_odds_2()
|
|
{
|
|
if (!combatStandardAction("sm_bad_odds_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_bad_odds_3()
|
|
{
|
|
if (!combatStandardAction("sm_bad_odds_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_bad_odds_4()
|
|
{
|
|
if (!combatStandardAction("sm_bad_odds_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_bad_odds_5()
|
|
{
|
|
if (!combatStandardAction("sm_bad_odds_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_sh_0()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sm_sh_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_sh_1()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sm_sh_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_sh_2()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sm_sh_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_sh_3()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sm_sh_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_summon_smuggler()
|
|
{
|
|
if (!combatStandardAction("sm_summon_smuggler", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callFavor(self, 0))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_summon_medic()
|
|
{
|
|
if (!combatStandardAction("sm_summon_medic", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callFavor(self, 1))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_sly_lie()
|
|
{
|
|
if (!smuggler.canSlyLie(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sm_sly_lie", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!smuggler.doSlyLie(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_fast_talk()
|
|
{
|
|
if (isIdValid(target) && !smuggler.canFastTalk(self, target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sm_fast_talk", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!smuggler.doFastTalk(self, target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_skullduggery()
|
|
{
|
|
if(!combatStandardAction("sm_skullduggery", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_impossible_odds()
|
|
{
|
|
if(!combatStandardAction("sm_impossible_odds", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_nerf_herder()
|
|
{
|
|
if(!combatStandardAction("sm_nerf_herder", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_pistol_whip_1()
|
|
{
|
|
if(!combatStandardAction("sm_pistol_whip_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_pistol_whip_2()
|
|
{
|
|
if(!combatStandardAction("sm_pistol_whip_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_pistol_whip_3()
|
|
{
|
|
if(!combatStandardAction("sm_pistol_whip_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_pistol_whip_4()
|
|
{
|
|
if(!combatStandardAction("sm_pistol_whip_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_shoot_first_1()
|
|
{
|
|
// Shoot first allows a smuggler to initiate combat with a bounty hunter hunting them.
|
|
if(isBeingHuntedByBountyHunter(self, target))
|
|
{
|
|
pvpSetPersonalEnemyFlag(self, target);
|
|
pvpSetPersonalEnemyFlag(target, self);
|
|
}
|
|
|
|
if(!combatStandardAction("sm_shoot_first_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_shoot_first_2()
|
|
{
|
|
// Shoot first allows a smuggler to initiate combat with a bounty hunter hunting them.
|
|
if(isBeingHuntedByBountyHunter(self, target))
|
|
{
|
|
pvpSetPersonalEnemyFlag(self, target);
|
|
pvpSetPersonalEnemyFlag(target, self);
|
|
}
|
|
|
|
if(!combatStandardAction("sm_shoot_first_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_shoot_first_3()
|
|
{
|
|
// Shoot first allows a smuggler to initiate combat with a bounty hunter hunting them.
|
|
if(isBeingHuntedByBountyHunter(self, target))
|
|
{
|
|
pvpSetPersonalEnemyFlag(self, target);
|
|
pvpSetPersonalEnemyFlag(target, self);
|
|
}
|
|
|
|
if(!combatStandardAction("sm_shoot_first_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_shoot_first_4()
|
|
{
|
|
// Shoot first allows a smuggler to initiate combat with a bounty hunter hunting them.
|
|
if(isBeingHuntedByBountyHunter(self, target))
|
|
{
|
|
pvpSetPersonalEnemyFlag(self, target);
|
|
pvpSetPersonalEnemyFlag(target, self);
|
|
}
|
|
|
|
if(!combatStandardAction("sm_shoot_first_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_shoot_first_5()
|
|
{
|
|
// Shoot first allows a smuggler to initiate combat with a bounty hunter hunting them.
|
|
if(isBeingHuntedByBountyHunter(self, target))
|
|
{
|
|
pvpSetPersonalEnemyFlag(self, target);
|
|
pvpSetPersonalEnemyFlag(target, self);
|
|
}
|
|
|
|
if(!combatStandardAction("sm_shoot_first_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_inspect_cargo()
|
|
{
|
|
obj_id player = self;
|
|
smuggler.inspectCorpseForContraband(player, target);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_spot_a_sucker_1()
|
|
{
|
|
if (!combatStandardAction("sm_spot_a_sucker_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
int glanceMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_glance_chance");
|
|
int criticalMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_critical_decrease");
|
|
int damageDecrease = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_damage_decrease_chance");
|
|
|
|
// debugSpeakMsg(self, "sm_spot_a_sucker_1 glanceMod: " + glanceMod + " criticalMod: " + criticalMod + " damageDecrease: " + damageDecrease);
|
|
|
|
if(damageDecrease >= 40)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_1_7");
|
|
}
|
|
else if(damageDecrease >= 20)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_1_6");
|
|
}
|
|
else if(glanceMod >= 50)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_1_5");
|
|
}
|
|
else if(glanceMod >= 25)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_1_4");
|
|
}
|
|
else if(criticalMod >= 50)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_1_3");
|
|
}
|
|
else if(criticalMod >= 25)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_1_2");
|
|
}
|
|
else
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_1_1");
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_spot_a_sucker_2()
|
|
{
|
|
if (!combatStandardAction("sm_spot_a_sucker_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
int glanceMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_glance_chance");
|
|
int criticalMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_critical_decrease");
|
|
int damageDecrease = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_damage_decrease_chance");
|
|
|
|
// debugSpeakMsg(self, "sm_spot_a_sucker_2 glanceMod: " + glanceMod + " criticalMod: " + criticalMod + " damageDecrease: " + damageDecrease);
|
|
|
|
if(damageDecrease >= 40)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_2_7");
|
|
}
|
|
else if(damageDecrease >= 20)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_2_6");
|
|
}
|
|
else if(glanceMod >= 50)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_2_5");
|
|
}
|
|
else if(glanceMod >= 25)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_2_4");
|
|
}
|
|
else if(criticalMod >= 50)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_2_3");
|
|
}
|
|
else if(criticalMod >= 25)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_2_2");
|
|
}
|
|
else
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_2_1");
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_spot_a_sucker_3()
|
|
{
|
|
if (!combatStandardAction("sm_spot_a_sucker_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
int glanceMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_glance_chance");
|
|
int criticalMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_critical_decrease");
|
|
int damageDecrease = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_damage_decrease_chance");
|
|
|
|
// debugSpeakMsg(self, "sm_spot_a_sucker_3 glanceMod: " + glanceMod + " criticalMod: " + criticalMod + " damageDecrease: " + damageDecrease);
|
|
|
|
if(damageDecrease >= 40)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_3_7");
|
|
}
|
|
else if(damageDecrease >= 20)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_3_6");
|
|
}
|
|
else if(glanceMod >= 50)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_3_5");
|
|
}
|
|
else if(glanceMod >= 25)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_3_4");
|
|
}
|
|
else if(criticalMod >= 50)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_3_3");
|
|
}
|
|
else if(criticalMod >= 25)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_3_2");
|
|
}
|
|
else
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_3_1");
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_spot_a_sucker_4()
|
|
{
|
|
if (!combatStandardAction("sm_spot_a_sucker_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
int glanceMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_glance_chance");
|
|
int criticalMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_critical_decrease");
|
|
int damageDecrease = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_spot_a_sucker_damage_decrease_chance");
|
|
|
|
// debugSpeakMsg(self, "sm_spot_a_sucker_4 glanceMod: " + glanceMod + " criticalMod: " + criticalMod + " damageDecrease: " + damageDecrease);
|
|
|
|
if(damageDecrease >= 40)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_4_7");
|
|
}
|
|
else if(damageDecrease >= 20)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_4_6");
|
|
}
|
|
else if(glanceMod >= 50)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_4_5");
|
|
}
|
|
else if(glanceMod >= 25)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_4_4");
|
|
}
|
|
else if(criticalMod >= 50)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_4_3");
|
|
}
|
|
else if(criticalMod >= 25)
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_4_2");
|
|
}
|
|
else
|
|
{
|
|
buff.applyBuff(target, self, "sm_spot_a_sucker_4_1");
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_off_the_cuff()
|
|
{
|
|
if (!combatStandardAction("sm_off_the_cuff", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int doubleDeal = (int)getSkillStatisticModifier(self, "expertise_double_deal_chance");
|
|
|
|
if(rand(0,99) < doubleDeal)
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0);
|
|
showFlyTextPrivate(self, self, new string_id("combat_effects", "double_deal"), 1.5f, colors.ORANGERED);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_end_of_the_line()
|
|
{
|
|
if (!combatStandardAction("sm_end_of_the_line", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler expertise_sm_card_ranged_proc()
|
|
{
|
|
if(!buff.hasBuff(self, "sm_double_hit"))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
|
|
if (!combatStandardAction("expertise_sm_card_ranged_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_sm_card_melee_proc()
|
|
{
|
|
if(!buff.hasBuff(self, "sm_double_hit"))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if (!combatStandardAction("expertise_sm_card_melee_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
boolean callJunkDealer(obj_id self)
|
|
{
|
|
location loc = getLocation(self);
|
|
|
|
if(!isIdValid(loc.cell))
|
|
{
|
|
int x = rand(-3, 3);
|
|
int z = rand(-3, 3);
|
|
|
|
loc.x += x;
|
|
loc.z += z;
|
|
}
|
|
|
|
obj_id buddy = create.object("junk_dealer_smuggler", loc, getLevel(self));
|
|
|
|
if(!isIdValid(buddy))
|
|
return false;
|
|
|
|
if(!isIdValid(loc.cell))
|
|
{
|
|
loc.x += 30;
|
|
setHomeLocation(buddy, loc);
|
|
}
|
|
|
|
setMaster(buddy, self);
|
|
utils.setScriptVar(self, "junk_dealer_smuggler", buddy);
|
|
|
|
return true;
|
|
}
|
|
|
|
commandHandler sm_off_the_books()
|
|
{
|
|
if(utils.hasScriptVar(self, "junk_dealer_smuggler"))
|
|
{
|
|
obj_id dealer = utils.getObjIdScriptVar(self, "junk_dealer_smuggler");
|
|
|
|
if(isIdValid(dealer) && exists(dealer))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "dealer_already_exists"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
utils.removeScriptVar(self, "junk_dealer_smuggler");
|
|
}
|
|
}
|
|
|
|
if (!combatStandardAction("sm_off_the_books", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(!callJunkDealer(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_inside_information()
|
|
{
|
|
if (!combatStandardAction("sm_inside_information", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
obj_id infoTarget;
|
|
|
|
// Determine if you are getting information for someone other than yourself.
|
|
if(isIdValid(target) && isPlayer(target))
|
|
{
|
|
infoTarget = target;
|
|
|
|
if (factions.getFactionStatus(self, target) == factions.STATUS_ENEMY)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
infoTarget = self;
|
|
}
|
|
|
|
// Anti-spam prevention for self
|
|
if(bounty_hunter.isSpammingBountyCheck(self, false))
|
|
{
|
|
sendSystemMessage(self, new string_id("bounty_hunter", "sm_calling_contact_too_often"));
|
|
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Anti-spam prevention for target
|
|
if(infoTarget != self && bounty_hunter.isSpammingBountyCheck(infoTarget, false))
|
|
{
|
|
sendSystemMessage(self, new string_id("bounty_hunter", "sm_calling_contact_too_often_target"));
|
|
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Cannot check for a bounty on a dead target
|
|
if(isDead(infoTarget) || isIncapacitated(infoTarget))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int amount = getIntObjVar(infoTarget, "bounty.amount");
|
|
|
|
// Is the bounty amount set?
|
|
if(amount <= 0)
|
|
{
|
|
prose_package pp = new prose_package ();
|
|
pp.stringId = new string_id ("bounty_hunter", "sm_no_bounty_target_player");
|
|
prose.setTT(pp, getName(self));
|
|
|
|
if(infoTarget != self)
|
|
{
|
|
sendSystemMessageProse(infoTarget, pp);
|
|
sendSystemMessage(self, new string_id("bounty_hunter", "sm_no_bounty_target"));
|
|
|
|
utils.setScriptVar(infoTarget, "bountyCheckFloodControl", getGameTime() + 600);
|
|
}
|
|
else
|
|
{
|
|
sendSystemMessage(self, new string_id("bounty_hunter", "sm_no_bounty_self"));
|
|
}
|
|
|
|
utils.setScriptVar(self, "bountyCheckFloodControl", getGameTime() + 60);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
obj_id[] bounties = getJediBounties(infoTarget);
|
|
|
|
// How many bounty hunters are after the Smuggler?
|
|
if(bounties != null && bounties.length > 0)
|
|
{
|
|
prose_package pp = new prose_package ();
|
|
pp.stringId = new string_id ("bounty_hunter", "sm_bounty_amount_target_with_bounties");
|
|
prose.setDI(pp, amount);
|
|
|
|
sendSystemMessageProse(infoTarget, pp);
|
|
|
|
for(int i = 0; i < bounties.length; i++)
|
|
{
|
|
obj_id bountyHunter = bounties[i];
|
|
|
|
if(isIdValid(bountyHunter))
|
|
{
|
|
dictionary messageParams = new dictionary();
|
|
messageParams.put("smuggler", infoTarget);
|
|
|
|
messageTo(bountyHunter, "handleSmugglerGetLocationInfo", messageParams, 1.0f, false);
|
|
}
|
|
}
|
|
|
|
utils.setScriptVar(self, "bountyCheckFloodControl", getGameTime() + 60);
|
|
}
|
|
else
|
|
{
|
|
prose_package pp = new prose_package ();
|
|
pp.stringId = new string_id ("bounty_hunter", "sm_bounty_amount_target_no_bounties");
|
|
prose.setDI(pp, amount);
|
|
|
|
sendSystemMessageProse(infoTarget, pp);
|
|
|
|
utils.setScriptVar(self, "bountyCheckFloodControl", getGameTime() + 60);
|
|
}
|
|
|
|
if(infoTarget != self)
|
|
{
|
|
prose_package pm = new prose_package();
|
|
pm.stringId = new string_id ("bounty_hunter", "sm_bounty_notified_target");
|
|
prose.setTT(pm, getName(infoTarget));
|
|
|
|
sendSystemMessageProse(self, pm);
|
|
|
|
utils.setScriptVar(infoTarget, "bountyCheckFloodControl", getGameTime() + 600);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_false_hope()
|
|
{
|
|
if (!combatStandardAction("sm_false_hope", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sm_false_hope");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_sm_false_hope");
|
|
|
|
// debugSpeakMsg(self, "baseCooldownTime: " + baseCooldownTime + " cooldownTimeMod: " + cooldownTimeMod + " diff: " + (baseCooldownTime - cooldownTimeMod));
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_break_the_deal()
|
|
{
|
|
if (!combatStandardAction("sm_break_the_deal", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_narrow_escape_1()
|
|
{
|
|
if (!combatStandardAction("sm_narrow_escape_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_narrow_escape_2()
|
|
{
|
|
if (!combatStandardAction("sm_narrow_escape_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_narrow_escape_3()
|
|
{
|
|
if (!combatStandardAction("sm_narrow_escape_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_narrow_escape_4()
|
|
{
|
|
if (!combatStandardAction("sm_narrow_escape_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_buff_invis_ally_1()
|
|
{
|
|
if(!stealth.canPerformCamouflageAlly(self, target) || !combatStandardAction("sm_buff_invis_ally_1", self, target, params, "", "") ||
|
|
!isInAttackRange(self, target, "sm_buff_invis_ally_1", false))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int minPower = 10;
|
|
int maxPower = 30;
|
|
float difference = maxPower - minPower;
|
|
float ratio = getLevel(self)/90;
|
|
|
|
int duration = (int) Math.ceil(minPower + (difference * ratio));
|
|
|
|
buff.applyBuff(target, self, "invis_sm_buff_invis_1");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_how_are_you()
|
|
{
|
|
if (!combatStandardAction("sm_how_are_you", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doMedicEvasion(self);
|
|
|
|
int randomPhrase = rand(0,75);
|
|
|
|
if(randomPhrase < 5)
|
|
chat.chat(self, chat.CHAT_SAY, new string_id("set_bonus", "sm_blather_"+randomPhrase));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_sm_ranged_shot_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_sm_ranged_shot_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_sm_melee_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_sm_melee_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_sm_melee_stun_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_sm_melee_stun_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_sm_feeling_lucky_chance_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_sm_feeling_lucky_chance_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_buff_invis_1()
|
|
{
|
|
if(!stealth.canPerformForceCloak(self) || !combatStandardAction("fs_buff_invis_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler steal()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!stealth.canSteal(self, target) || !combatStandardAction("steal", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
stealth.steal(self, target);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
//smoke bomb
|
|
commandHandler sp_buff_invis_1()
|
|
{
|
|
//Game Update 10, we tied WaT to smoke bomb, so now if you have the WaT skill
|
|
//when you use your smoke bomb, it will put in you WaT.
|
|
dictionary blankMsg = new dictionary();
|
|
if(hasSkill(self, "expertise_sp_without_a_trace_1"))
|
|
{
|
|
if (!stealth.canPerformWithoutTrace(self) || !combatStandardAction("sp_without_a_trace", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
utils.setScriptVar(self, "sp_without_a_trace", 1);
|
|
messageTo(self, "withoutTraceTimerExpired", blankMsg, 30, false);
|
|
|
|
if(successfulFastAttack(self, "sp_perfect", "perfect_opportunity_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
buff.applyBuff(self, self, "sp_set_perfect_opportunity");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_smoke", "flawless_getaway_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
float baseCooldownTime = getBaseCooldownTime("sp_buff_invis_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_smoke");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if (!stealth.canPerformSmokeGrenade(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("sp_buff_invis_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
utils.setScriptVar(self, "sp_smoke_bomb", 1);
|
|
messageTo(self, "smokeBombTimerExpired", blankMsg, 10, false);
|
|
|
|
if(successfulFastAttack(self, "sp_perfect", "perfect_opportunity_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
buff.applyBuff(self, self, "sp_set_perfect_opportunity");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_smoke", "flawless_getaway_fly"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_buff_invis_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
baseCooldownTime = 0;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_smoke");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_burst_of_shadows()
|
|
{
|
|
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_burst_of_shadows", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_burst_of_shadows");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_burst_shadows");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_reveal_shadows()
|
|
{
|
|
if(!stealth.canDetectCamouflage(self) || !combatStandardAction("sp_reveal_shadows", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float detectSkill = getEnhancedSkillStatisticModifier(self, "detect_hidden");
|
|
float distance = stealth.BASE_DETECT_CAMOUFLAGE_DISTANCE + (detectSkill / 20);
|
|
|
|
float detectChance = 75.0f;
|
|
|
|
int distanceMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_sp_reveal_shadows_distance_increase");
|
|
int detectMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_sp_reveal_shadows_detect_chance_increase");
|
|
|
|
distance = distance + distanceMod;
|
|
detectChance = detectChance + detectMod;
|
|
|
|
stealth.detectCamouflage(self, true, true, distance, detectChance);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_reveal_shadows");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_reveal_shadows");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_avoid_damage()
|
|
{
|
|
if (!combatStandardAction("sp_avoid_damage", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_preparation()
|
|
{
|
|
if (!combatStandardAction("sp_preparation", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_preparation");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_preparation");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
/*ommandHandler sp_buff_invis_2()
|
|
{
|
|
if (!stealth.canPerformSmokeGrenade(self) || !combatStandardAction("sp_buff_invis_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_buff_invis_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_smoke");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_buff_invis_3()
|
|
{
|
|
if (!stealth.canPerformSmokeGrenade(self) || !combatStandardAction("sp_buff_invis_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_buff_invis_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_smoke");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
*/
|
|
|
|
commandHandler sp_buff_stealth_1()
|
|
{
|
|
// toggle buff off if need be
|
|
string invis = stealth.getInvisBuff(self);
|
|
if(invis != null && invis.equals("invis_sp_buff_stealth_1"))
|
|
{
|
|
buff.removeBuff(self, invis);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if(invis != null && (invis == "invis_sp_buff_invis_1"))
|
|
{
|
|
// Ok they are smoke bombed
|
|
// Regular Stealth em
|
|
buff.removeBuff(self, "invis_sp_buff_invis_1");
|
|
buff.applyBuff(self, self, "invis_sp_buff_stealth_1");
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!stealth.canPerformStealth(self) || !buff.canApplyBuff(self, "invis_sp_buff_stealth_1") || !combatStandardAction("sp_buff_stealth_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
/*if (invis == "invis_sp_buff_invis_1")
|
|
{
|
|
// Ok they are smoke bombed
|
|
// Regular Stealth em
|
|
buff.removeBuff(self, "invis_sp_buff_invis_1");
|
|
buff.applyBuff(self, self, "invis_sp_buff_stealth_1");
|
|
}
|
|
*/
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
/*commandHandler sp_buff_stealth_2()
|
|
{
|
|
if (!stealth.canPerformStealth(self) || !combatStandardAction("sp_buff_stealth_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_buff_stealth_3()
|
|
{
|
|
if (!stealth.canPerformStealth(self) || !combatStandardAction("sp_buff_stealth_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_buff_stealth_4()
|
|
{
|
|
// toggle buff off if need be
|
|
string invis = stealth.getInvisBuff(self);
|
|
if(invis != null && invis.equals("invis_sp_buff_stealth_4"))
|
|
{
|
|
buff.removeBuff(self, invis);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!stealth.canPerformStealth(self) || !combatStandardAction("sp_buff_stealth_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
*/
|
|
commandHandler sp_decoy()
|
|
{
|
|
if (!stealth.canPerformSmokeGrenade(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
obj_id decoy = stealth.createDecoy(self);
|
|
|
|
if (!isIdValid(decoy))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
obj_id[] haters = getWhoIsTargetingMe(self);
|
|
int diversionLevel = getEnhancedSkillStatisticModifierUncapped(self, "expertise_improved_decoy");
|
|
combat.sendCombatSpamMessage(self, new string_id("spam", "decoy_created"));
|
|
|
|
if (haters == null || haters.length == 0)
|
|
{
|
|
|
|
if (diversionLevel == 2)
|
|
buff.applyBuff(self, self, "invis_sp_diversion_stealth");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
for (int i=0;i<haters.length;i++)
|
|
{
|
|
if (!isIdValid(haters[i]) || !exists(haters[i]))
|
|
continue;
|
|
|
|
obj_id[] hateList = getHateList(haters[i]);
|
|
|
|
if (hateList == null || hateList.length == 0)
|
|
continue;
|
|
|
|
for (int k=0;k<hateList.length;k++)
|
|
{
|
|
if (!isIdValid(hateList[k]) || !exists(hateList[k]))
|
|
continue;
|
|
|
|
if (hateList[k] == self)
|
|
{
|
|
setHate(haters[i], decoy, getHate(haters[i], self) * 2);
|
|
setTarget(haters[i], decoy);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (diversionLevel == 2)
|
|
buff.applyBuff(self, self, "invis_sp_diversion_stealth");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_assassins_mark()
|
|
{
|
|
if (!combatStandardAction("sp_assassins_mark", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
//This is a reactive proc on the target that causes attackers to damage them, thus we swap the self/target here.
|
|
commandHandler sp_assassins_mark_reac_proc()
|
|
{
|
|
|
|
obj_id newTarget = self;
|
|
obj_id newAttacker = target;
|
|
if (!combatStandardAction("sp_assassins_mark_reac_proc", newAttacker, newTarget, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Arach Web 4 [70] This is the original ability
|
|
commandHandler sp_cc_dot()
|
|
{
|
|
if (!combatStandardAction("sp_cc_dot", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Arach Web 1 [15] This is granted through expertise
|
|
commandHandler sp_improved_cc_dot_0()
|
|
{
|
|
if (!combatStandardAction("sp_improved_cc_dot_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Arach Web 2 [38] This is granted through expertise
|
|
commandHandler sp_improved_cc_dot_1()
|
|
{
|
|
if (!combatStandardAction("sp_improved_cc_dot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Arach Web 3 [54] This is granted through expertise
|
|
commandHandler sp_improved_cc_dot_2()
|
|
{
|
|
if (!combatStandardAction("sp_improved_cc_dot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Arach Web 5 [88] This is granted through expertise
|
|
commandHandler sp_improved_cc_dot_3()
|
|
{
|
|
if (!combatStandardAction("sp_improved_cc_dot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_dm_1()
|
|
{
|
|
if (!combatStandardAction("sp_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_dm_1");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_dm");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_dm_2()
|
|
{
|
|
if (!combatStandardAction("sp_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_dm_2");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_dm");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_dm_3()
|
|
{
|
|
if (!combatStandardAction("sp_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_dm_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_dm");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_dm_4()
|
|
{
|
|
if (!combatStandardAction("sp_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_dm_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_dm");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_dm_5()
|
|
{
|
|
if (!combatStandardAction("sp_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_dm_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_dm");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_dm_6()
|
|
{
|
|
if (!combatStandardAction("sp_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_dm_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_dm");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_dm_7()
|
|
{
|
|
if (!combatStandardAction("sp_dm_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_dm_7");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_dm");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_dm_8()
|
|
{
|
|
if (!combatStandardAction("sp_dm_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "sp_dm"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("sp_dm_8");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_sp_dm");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Spy's Fang 1 [10] Granted through expertise
|
|
commandHandler sp_dot_0()
|
|
{
|
|
if (!combatStandardAction("sp_dot_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Spy's Fang 3 [46] Original Spy's Fang
|
|
commandHandler sp_dot_1()
|
|
{
|
|
if (!combatStandardAction("sp_dot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Spy's Fang 2 [28] Granted through expertise
|
|
commandHandler sp_dot_2()
|
|
{
|
|
if (!combatStandardAction("sp_dot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Spy's Fang 4 [58] Granted through expertise
|
|
commandHandler sp_dot_3()
|
|
{
|
|
if (!combatStandardAction("sp_dot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Spys Fang 5 [72] Granted through expertise
|
|
commandHandler sp_dot_4()
|
|
{
|
|
if (!combatStandardAction("sp_dot_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Spys Fang 6 [88] Granted through expertise
|
|
commandHandler sp_dot_5()
|
|
{
|
|
if (!combatStandardAction("sp_dot_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 1 [10] Granted through expertise
|
|
commandHandler sp_hd_melee_0()
|
|
{
|
|
if (!combatStandardAction("sp_hd_melee_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 2 [18] Granted through expertise
|
|
commandHandler sp_hd_melee_1()
|
|
{
|
|
if (!combatStandardAction("sp_hd_melee_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 3 [32] Granted through expertise
|
|
commandHandler sp_hd_melee_2()
|
|
{
|
|
if (!combatStandardAction("sp_hd_melee_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 4 [46] Granted through expertise
|
|
commandHandler sp_hd_melee_3()
|
|
{
|
|
if (!combatStandardAction("sp_hd_melee_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 5 [58] Granted through expertise
|
|
commandHandler sp_hd_melee_4()
|
|
{
|
|
if (!combatStandardAction("sp_hd_melee_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 6 [70] Granted through expertise
|
|
|
|
commandHandler sp_hd_melee_5()
|
|
{
|
|
if (!combatStandardAction("sp_hd_melee_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 7 [84] Granted through expertise
|
|
commandHandler sp_hd_melee_6()
|
|
{
|
|
if (!combatStandardAction("sp_hd_melee_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 1 [10] Granted through expertise
|
|
commandHandler sp_hd_range_0()
|
|
{
|
|
if (!combatStandardAction("sp_hd_range_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 2 [18] Granted through expertise
|
|
commandHandler sp_hd_range_1()
|
|
{
|
|
if (!combatStandardAction("sp_hd_range_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 3 [32] Granted through expertise
|
|
commandHandler sp_hd_range_2()
|
|
{
|
|
if (!combatStandardAction("sp_hd_range_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 4 [46] Granted through expertise
|
|
commandHandler sp_hd_range_3()
|
|
{
|
|
if (!combatStandardAction("sp_hd_range_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 5 [58] Granted through expertise
|
|
commandHandler sp_hd_range_4()
|
|
{
|
|
if (!combatStandardAction("sp_hd_range_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 6 [70] Granted through expertise
|
|
|
|
commandHandler sp_hd_range_5()
|
|
{
|
|
if (!combatStandardAction("sp_hd_range_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Razor Slash 7 [84] Granted through expertise
|
|
commandHandler sp_hd_range_6()
|
|
{
|
|
if (!combatStandardAction("sp_hd_range_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Ambush 1 [10] Granted through expertise
|
|
commandHandler sp_stealth_melee_0()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if ( !combatStandardAction("sp_stealth_melee_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Ambush 2 [20] Granted through expertise
|
|
commandHandler sp_stealth_melee_1()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_melee_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Ambush 3 [32] Granted through expertise
|
|
commandHandler sp_stealth_melee_2()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_melee_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Ambush 4 [46] Granted through expertise
|
|
commandHandler sp_stealth_melee_3()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_melee_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Ambush 5 [58] Granted through expertise
|
|
commandHandler sp_stealth_melee_4()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_melee_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Ambush 6 [70] Granted through expertise
|
|
commandHandler sp_stealth_melee_5()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_melee_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Ambush 7 [84] Granted through expertise
|
|
commandHandler sp_stealth_melee_6()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_melee_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Snipe 1 [10] Granted through expertise
|
|
commandHandler sp_stealth_ranged_0()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_ranged_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Snipe 2 [22] Granted through expertise
|
|
commandHandler sp_stealth_ranged_1()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_ranged_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Snipe 3 [34] Granted through expertise
|
|
commandHandler sp_stealth_ranged_2()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_ranged_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Snipe 4 [48] Granted through expertise
|
|
commandHandler sp_stealth_ranged_3()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_ranged_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Snipe 5 [60] Granted through expertise
|
|
commandHandler sp_stealth_ranged_4()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_ranged_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Snipe 6 [72] Granted through expertise
|
|
commandHandler sp_stealth_ranged_5()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_ranged_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Snipe 7 [86] Granted through expertise
|
|
commandHandler sp_stealth_ranged_6()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_stealth_ranged_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_run_its_course()
|
|
{
|
|
|
|
if (!combatStandardAction("sp_run_its_course", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_fld_debuff_ca()
|
|
{
|
|
if (!combatStandardAction("sp_fld_debuff_ca", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_fldmot_1()
|
|
{
|
|
int crippleChanceMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_sp_cripple_trap_proc_increase");
|
|
|
|
int roll = rand(1,100);
|
|
if (roll < crippleChanceMod)
|
|
{
|
|
if (!combatStandardAction("sp_fldmot_1_snare", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!combatStandardAction("sp_fldmot_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_fldmot_2()
|
|
{
|
|
int crippleChanceMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_sp_cripple_trap_proc_increase");
|
|
|
|
int roll = rand(1,100);
|
|
if (roll < crippleChanceMod)
|
|
{
|
|
if (!combatStandardAction("sp_fldmot_2_snare", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!combatStandardAction("sp_fldmot_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_fldmot_3()
|
|
{
|
|
int crippleChanceMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_sp_cripple_trap_proc_increase");
|
|
|
|
int roll = rand(1,100);
|
|
if (roll < crippleChanceMod)
|
|
{
|
|
if (!combatStandardAction("sp_fldmot_3_snare", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!combatStandardAction("sp_fldmot_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_sh_0()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_sh_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_sh_1()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_sh_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_sh_2()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_sh_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_sh_3()
|
|
{
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_sh_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Cloaked Healing line
|
|
commandHandler sp_cloaked_recovery_0()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_cloaked_recovery_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_cloaked_recovery_1()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_cloaked_recovery_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_cloaked_recovery_2()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_cloaked_recovery_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_cloaked_recovery_3()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_cloaked_recovery_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_cloaked_recovery_4()
|
|
{
|
|
if (!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!healing.isDamaged(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("healing", "no_damage_to_heal_self"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("sp_cloaked_recovery_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
messageHandler handleClearBuffEffect()
|
|
{
|
|
int buffCrc = params.getInt("buffCrc");
|
|
if ( buffCrc != 0)
|
|
stopClientEffectObjByLabel(self, buff.getBuffNameFromCrc(buffCrc));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler failDefaultAttack()
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
commandHandler failSpecialAttack()
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler failProc()
|
|
{
|
|
|
|
// LOG("procCommand", "proc failed");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_riposte()
|
|
{
|
|
if(!buff.isInStance(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_riposte", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
showFlyTextPrivate(self, self, new string_id("combat_effects", "riposte"), 1.5f, colors.ORANGERED);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_fs_force_clarity_1_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_fs_force_clarity_1_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_fs_flurry_charge_proc()
|
|
{
|
|
if(buff.isInStance(self))
|
|
{
|
|
buff.applyBuff(self, "jedi_reflect_flurry");
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Brawler
|
|
commandHandler meleeHit()
|
|
{
|
|
if (!combatStandardAction("meleeHit", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler rangedShot()
|
|
{
|
|
if (!combatStandardAction("rangedShot", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler saberHit()
|
|
{
|
|
if (!combatStandardAction("saberHit", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_cyber_shock()
|
|
{
|
|
if (!combatStandardAction("proc_cyber_shock", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_fire_attack()
|
|
{
|
|
LOG("procCommand", "proc found");
|
|
if (!combatStandardAction("proc_fire_attack", self, target, params, "", ""))
|
|
{
|
|
LOG("procCommand", "proc failed in combat standard");
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
LOG("procCommand","proc worked in script");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_generic_test()
|
|
{
|
|
if (!combatStandardAction("proc_generic_test", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler reac_generic_test()
|
|
{
|
|
if (!combatStandardAction("reac_generic_test", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_generic_test_proc()
|
|
{
|
|
if (!combatStandardAction("expertise_generic_test_proc", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_generic_test_reac()
|
|
{
|
|
if (!combatStandardAction("expertise_generic_test_reac", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_fire_attack_1()
|
|
{
|
|
if (!combatStandardAction("proc_fire_attack_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_a_1()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_a_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_a_2()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_a_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_a_3()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_a_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_b_3()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_b_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_b_2()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_b_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_b_1()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_b_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_b_4()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_b_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_b_5()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_b_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_b_6()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_b_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_b_7()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_b_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_coyn()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_coyn", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_bracelet_melee()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_bracelet_melee", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_bracelet_range()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_bracelet_range", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_tow_proc_bracelet_combo()
|
|
{
|
|
if (!combatStandardAction("proc_tow_proc_bracelet_combo", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_content_charged_proc_fire()
|
|
{
|
|
if (!combatStandardAction("proc_content_charged_proc_fire", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_content_charged_proc_cold()
|
|
{
|
|
if (!combatStandardAction("proc_content_charged_proc_cold", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_content_charged_proc_melee_poison_1()
|
|
{
|
|
if (!combatStandardAction("proc_content_charged_proc_melee_poison_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_content_charged_proc_range_heat_1()
|
|
{
|
|
if (!combatStandardAction("proc_content_charged_proc_range_heat_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_content_charged_proc_melee_poison_2()
|
|
{
|
|
if (!combatStandardAction("proc_content_charged_proc_melee_poison_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_content_charged_proc_range_heat_2()
|
|
{
|
|
if (!combatStandardAction("proc_content_charged_proc_range_heat_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_old_light_jedi_gift()
|
|
{
|
|
if (!combatStandardAction("proc_old_light_jedi_gift", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_old_dark_jedi_gift()
|
|
{
|
|
if (!combatStandardAction("proc_old_dark_jedi_gift", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_innate_assault_1()
|
|
{
|
|
if (!combatStandardAction("bh_innate_assault_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_return_fire_1()
|
|
{
|
|
if (!combatStandardAction("bh_return_fire_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_taunt_1()
|
|
{
|
|
if(!isIdValid(target) || !exists(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
//can we taunt this?
|
|
if(!ai_lib.isTauntable(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("bh_taunt_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
obj_id topHateTarget = getHateTarget(target);
|
|
|
|
// Target already hates me
|
|
if(topHateTarget != self)
|
|
{
|
|
combat.doBhTaunt(self, target);
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_taunt_2()
|
|
{
|
|
if (!combatStandardAction("bh_taunt_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_taunt_3()
|
|
{
|
|
if (!combatStandardAction("bh_taunt_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_taunt_4()
|
|
{
|
|
if (!combatStandardAction("bh_taunt_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_taunt_5()
|
|
{
|
|
if (!combatStandardAction("bh_taunt_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_taunt_6()
|
|
{
|
|
if (!combatStandardAction("bh_taunt_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_fumble_1()
|
|
{
|
|
if (!combatStandardAction("bh_fumble_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_fumble_2()
|
|
{
|
|
if (!combatStandardAction("bh_fumble_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_fumble_3()
|
|
{
|
|
if (!combatStandardAction("bh_fumble_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_fumble_4()
|
|
{
|
|
if (!combatStandardAction("bh_fumble_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_fumble_5()
|
|
{
|
|
if (!combatStandardAction("bh_fumble_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_fumble_6()
|
|
{
|
|
if (!combatStandardAction("bh_fumble_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_stun_1()
|
|
{
|
|
if (!combatStandardAction("bh_stun_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_stun_2()
|
|
{
|
|
if (!combatStandardAction("bh_stun_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_stun_3()
|
|
{
|
|
if (!combatStandardAction("bh_stun_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_stun_4()
|
|
{
|
|
if (!combatStandardAction("bh_stun_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_stun_5()
|
|
{
|
|
if (!combatStandardAction("bh_stun_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_prescience()
|
|
{
|
|
if (!combatStandardAction("bh_prescience", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
buff.applyBuff(self, target, "bh_prescience");
|
|
obj_id[] viewers = new obj_id[2];
|
|
viewers[0] = self;
|
|
viewers[1] = target;
|
|
playClientEffectObj(viewers, "appearance/pt_arrow_disc_temp.prt", target, "");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_shields_1()
|
|
{
|
|
if (!combatStandardAction("bh_shields_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_crit_3()
|
|
{
|
|
if (!combatStandardAction("bh_dm_crit_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_crit_3");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_crit_4()
|
|
{
|
|
if (!combatStandardAction("bh_dm_crit_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_crit_4");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_crit_5()
|
|
{
|
|
if (!combatStandardAction("bh_dm_crit_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_crit_5");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_crit_6()
|
|
{
|
|
if (!combatStandardAction("bh_dm_crit_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_crit_6");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_crit_7()
|
|
{
|
|
if (!combatStandardAction("bh_dm_crit_7", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_crit_7");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dm_crit_8()
|
|
{
|
|
if (!combatStandardAction("bh_dm_crit_8", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_dm_crit_8");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_dm_crit") / 10;
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_intimidate_1()
|
|
{
|
|
if (!combatStandardAction("bh_intimidate_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_intimidate_2()
|
|
{
|
|
if (!combatStandardAction("bh_intimidate_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_intimidate_3()
|
|
{
|
|
if (!combatStandardAction("bh_intimidate_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_intimidate_4()
|
|
{
|
|
if (!combatStandardAction("bh_intimidate_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_intimidate_5()
|
|
{
|
|
if (!combatStandardAction("bh_intimidate_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_intimidate_6()
|
|
{
|
|
if (!combatStandardAction("bh_intimidate_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dread_strike_1()
|
|
{
|
|
if (!combatStandardAction("bh_dread_strike_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dread_strike_2()
|
|
{
|
|
if (!combatStandardAction("bh_dread_strike_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dread_strike_3()
|
|
{
|
|
if (!combatStandardAction("bh_dread_strike_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dread_strike_4()
|
|
{
|
|
if (!combatStandardAction("bh_dread_strike_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dread_strike_5()
|
|
{
|
|
if (!combatStandardAction("bh_dread_strike_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
removeObjVar(self, "ai.combat.oneShotAction");
|
|
removeObjVar(self, "oneShotActionComplete");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_relentless_1()
|
|
{
|
|
if (!combatStandardAction("bh_relentless_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sniper_1()
|
|
{
|
|
if (!combatStandardAction("bh_sniper_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sniper_2()
|
|
{
|
|
if (!combatStandardAction("bh_sniper_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sniper_3()
|
|
{
|
|
if (!combatStandardAction("bh_sniper_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sniper_4()
|
|
{
|
|
if (!combatStandardAction("bh_sniper_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sniper_5()
|
|
{
|
|
if (!combatStandardAction("bh_sniper_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_sniper_6()
|
|
{
|
|
if (!combatStandardAction("bh_sniper_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_cover_1()
|
|
{
|
|
if (!combatStandardAction("bh_cover_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_sprint_1()
|
|
{
|
|
if (!combatStandardAction("bh_armor_sprint_1", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_1()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_1", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_2()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_2", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_3()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_3", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_4()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_4", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_5()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_5", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_heal_1()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_heal_1", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_heal_2()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_heal_2", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_heal_3()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_heal_3", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_heal_4()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_heal_4", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_armor_duelist_heal_5()
|
|
{
|
|
if (!combatStandardAction("bh_armor_duelist_heal_5", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_return_fire_command_1()
|
|
{
|
|
if (!combatStandardAction("bh_return_fire_command_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bh_return_fire_command_1");
|
|
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getSkillStatisticModifier(self, "expertise_cooldown_line_bh_return_fire");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bh_dire_root_area_1()
|
|
{
|
|
if (!combatStandardAction("bh_dire_root_area_1", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_damage_shield_a()
|
|
{
|
|
if (!combatStandardAction("gcw_base_damage_shield_a", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_damage_shield_b()
|
|
{
|
|
if (!combatStandardAction("gcw_base_damage_shield_b", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler gcw_base_damage_shield_c()
|
|
{
|
|
if (!combatStandardAction("gcw_base_damage_shield_c", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler gcw_base_damage_shield_d()
|
|
{
|
|
if (!combatStandardAction("gcw_base_damage_shield_d", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_damage_shield_e()
|
|
{
|
|
if (!combatStandardAction("gcw_base_damage_shield_e", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_gcw_base_damage_a()
|
|
{
|
|
if (!combatStandardAction("proc_gcw_base_damage_a", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_gcw_base_damage_b()
|
|
{
|
|
if (!combatStandardAction("proc_gcw_base_damage_b", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler proc_gcw_base_damage_c()
|
|
{
|
|
if (!combatStandardAction("proc_gcw_base_damage_c", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler proc_gcw_base_damage_d()
|
|
{
|
|
if (!combatStandardAction("proc_gcw_base_damage_d", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_gcw_base_damage_e()
|
|
{
|
|
if (!combatStandardAction("proc_gcw_base_damage_e", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_reactive_heal_a()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_heal_a", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_reactive_heal_b()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_heal_b", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler gcw_base_reactive_heal_c()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_heal_c", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler gcw_base_reactive_heal_d()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_heal_d", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_reactive_heal_e()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_heal_e", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_reactive_action_a()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_action_a", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_reactive_action_b()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_action_b", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler gcw_base_reactive_action_c()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_action_c", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler gcw_base_reactive_action_d()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_action_d", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_base_reactive_action_e()
|
|
{
|
|
if (!combatStandardAction("gcw_base_reactive_action_e", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
// Commando
|
|
commandHandler throwGrenade()
|
|
{
|
|
Long lngId;
|
|
|
|
try
|
|
{
|
|
lngId = new Long(params);
|
|
} // try with error handling
|
|
catch (NumberFormatException err)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
obj_id objGrenade= obj_id.getObjId(lngId.longValue());
|
|
|
|
if(hasObjVar(objGrenade, "intUsed"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int intCount = getCount(objGrenade);
|
|
intCount = intCount - 1;
|
|
//string strTemplate = utils.getUsableSharedTemplateName(self);
|
|
string strTemplate = getSharedObjectTemplateName(objGrenade);
|
|
dictionary dctGrenadeCommand = dataTableGetRow("datatables/timer/template_command_mapping.iff", strTemplate);
|
|
string strCommand = dctGrenadeCommand.getString("COMMAND");
|
|
//boolean combatStandardAction(string actionName, obj_id self, obj_id target, obj_id objWeapon, string params, dictionary actionData)
|
|
if (!combatStandardAction(strCommand, self, target, objGrenade, "", null, false ))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
{
|
|
if(intCount<=0)
|
|
{
|
|
setObjVar(objGrenade, "intUsed", 1);
|
|
destroyObject(objGrenade);
|
|
}
|
|
else
|
|
{
|
|
setCount(objGrenade, intCount);
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler failThrowGrenade()
|
|
{
|
|
Long lngId;
|
|
|
|
try
|
|
{
|
|
lngId = new Long(params);
|
|
} // try with error handling
|
|
catch (NumberFormatException err)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
obj_id grenade = obj_id.getObjId(lngId.longValue());
|
|
|
|
removeObjVar(grenade, "intUsed");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
/* Clicky v1*/
|
|
commandHandler cheapShot()
|
|
{
|
|
if(!combatStandardAction("cheapShot", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler blastAway()
|
|
{
|
|
if(!combatStandardAction("blastAway", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hipShot()
|
|
{
|
|
if(!combatStandardAction("hipShot", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler assault()
|
|
{
|
|
if(!combatStandardAction("assault", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler crippleShot()
|
|
{
|
|
if(!combatStandardAction("crippleShot", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler forceThrow()
|
|
{
|
|
if(!combatStandardAction("forceThrow", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler ambush()
|
|
{
|
|
if(!combatStandardAction("ambush", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler demolition()
|
|
{
|
|
if(!combatStandardAction("demolition", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler stunGrenade()
|
|
{
|
|
if(!combatStandardAction("stunGrenade", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler barrage()
|
|
{
|
|
if(!combatStandardAction("barrage", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler forceStrike()
|
|
{
|
|
if(!combatStandardAction("forceStrike", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler actOfWar()
|
|
{
|
|
if(!combatStandardAction("actOfWar", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler terminateTarget()
|
|
{
|
|
if(!combatStandardAction("terminateTarget", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler targetAnatomy()
|
|
{
|
|
if(!combatStandardAction("targetAnatomy", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler neurotoxin()
|
|
{
|
|
if(!combatStandardAction("neurotoxin", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler onehandThrow()
|
|
{
|
|
if(!combatStandardAction("onehandThrow", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler twohandThrow()
|
|
{
|
|
if(!combatStandardAction("twohandThrow", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler polearmThrow()
|
|
{
|
|
if(!combatStandardAction("polearmThrow", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler stealth()
|
|
{
|
|
if(!stealth.canPerformStealth(self) || !combatStandardAction("stealth", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler smokeGrenade()
|
|
{
|
|
if(!stealth.canPerformSmokeGrenade(self) || !combatStandardAction("smokeGrenade", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler entrench()
|
|
{
|
|
if(!combatStandardAction("entrench", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler centerOfBeing()
|
|
{
|
|
if(!combatStandardAction("centerOfBeing", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler forceFocus()
|
|
{
|
|
if(!combatStandardAction("forceFocus", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler paintTarget()
|
|
{
|
|
if(!combatStandardAction("paintTarget", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler blueGlowie()
|
|
{
|
|
//Make sure they are not shapechanged.
|
|
string_id SHAPECHANGE = new string_id("spam","not_while_shapechanged");
|
|
int shapechange = buff.getBuffOnTargetFromGroup(self, "shapechange");
|
|
if(shapechange !=0)
|
|
{
|
|
sendSystemMessage(self, SHAPECHANGE);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (combat.isInCombat(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (getState(self, STATE_GLOWING_JEDI) == 0)
|
|
{
|
|
setState(self, STATE_GLOWING_JEDI, true);
|
|
}
|
|
else
|
|
{
|
|
setState(self, STATE_GLOWING_JEDI, false);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler proc_pvp_despair()
|
|
{
|
|
if(!combatStandardAction("proc_pvp_despair", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_aura_buff_self()
|
|
{
|
|
if (!combatStandardAction("pvp_aura_buff_self", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_aura_buff_rebel_self()
|
|
{
|
|
if (!combatStandardAction("pvp_aura_buff_rebel_self", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_retaliation_ability()
|
|
{
|
|
if (!combatStandardAction("pvp_retaliation_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_retaliation_rebel_ability()
|
|
{
|
|
if (!combatStandardAction("pvp_retaliation_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_adrenaline_ability()
|
|
{
|
|
if (!combatStandardAction("pvp_adrenaline_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_adrenaline_rebel_ability()
|
|
{
|
|
if (!combatStandardAction("pvp_adrenaline_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_unstoppable_ability()
|
|
{
|
|
if (!combatStandardAction("pvp_unstoppable_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_unstoppable_rebel_ability()
|
|
{
|
|
if (!combatStandardAction("pvp_unstoppable_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler command_pvp_retaliation_ability()
|
|
{
|
|
if (!combatStandardAction("command_pvp_retaliation_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler command_pvp_retaliation_rebel_ability()
|
|
{
|
|
if (!combatStandardAction("command_pvp_retaliation_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler command_pvp_adrenaline_ability()
|
|
{
|
|
if (!combatStandardAction("command_pvp_adrenaline_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler command_pvp_adrenaline_rebel_ability()
|
|
{
|
|
if (!combatStandardAction("command_pvp_adrenaline_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler command_pvp_unstoppable_ability()
|
|
{
|
|
if (!combatStandardAction("command_pvp_unstoppable_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler command_pvp_unstoppable_rebel_ability()
|
|
{
|
|
if (!combatStandardAction("command_pvp_unstoppable_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler command_pvp_last_man_ability()
|
|
{
|
|
if (!combatStandardAction("command_pvp_last_man_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler command_pvp_last_man_rebel_ability()
|
|
{
|
|
if (!combatStandardAction("command_pvp_last_man_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_last_man_ability()
|
|
{
|
|
if (!combatStandardAction("pvp_last_man_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_last_man_rebel_ability()
|
|
{
|
|
if (!combatStandardAction("pvp_last_man_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_airstrike_ability()
|
|
{
|
|
if(getTopMostContainer(self) != self)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_do_indoors"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("pvp_airstrike_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
prose_package p = prose.getPackage(new string_id("spam", "pvp_airstrike_imperial"));
|
|
commPlayers(self, "object/mobile/space_comm_imperial_tiefighter_01.iff", "sound/sys_comm_other.snd", 5f, self, p);
|
|
playClientEffectLoc(self, "clienteffect/pvp_imperial_airstrike.cef", getLocation(target), 0);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler pvp_airstrike_rebel_ability()
|
|
{
|
|
if(getTopMostContainer(self) != self)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_do_indoors"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("pvp_airstrike_rebel_ability", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
prose_package p = prose.getPackage(new string_id("spam", "pvp_airstrike_rebel"));
|
|
commPlayers(self, "object/mobile/space_comm_rebel_xwing_02.iff", "sound/sys_comm_other.snd", 5f, self, p);
|
|
playClientEffectLoc(self, "clienteffect/pvp_rebel_airstrike.cef", getLocation(target), 0);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
/* End Clicky */
|
|
|
|
// Mounts
|
|
commandHandler gallop()
|
|
{
|
|
obj_id objMount = getMountId(self);
|
|
if(!isIdValid(objMount))
|
|
{
|
|
string_id strSpam = new string_id("combat_effects", "not_mounted");
|
|
sendSystemMessage(self, strSpam);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
else if(vehicle.isDriveableVehicle(objMount))
|
|
{
|
|
string_id strSpam = new string_id("combat_effects", "not_mounted");
|
|
sendSystemMessage(self, strSpam);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
dictionary dctMountInfo = pet_lib.getMountMovementInfo(objMount);
|
|
if(dctMountInfo==null)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
obj_id objControlDevice = callable.getCallableCD(objMount);
|
|
|
|
if(utils.hasScriptVar(objControlDevice, "mount.intGalloping"))
|
|
{
|
|
string_id strSpam = new string_id("combat_effects", "already_galloping");
|
|
sendSystemMessage(self, strSpam);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if(utils.hasScriptVar(objControlDevice, "mount.intTired"))
|
|
{
|
|
string_id strSpam = new string_id("combat_effects", "mount_tired");
|
|
sendSystemMessage(self, strSpam);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
pet_lib.setMountBurstRunMovementRate(self, objMount);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gallopStop()
|
|
{
|
|
obj_id objMount = getMountId(self);
|
|
if(!isIdValid(objMount))
|
|
{
|
|
string_id strSpam = new string_id("combat_effects", "cant_stop_gallop_not_mounted");
|
|
sendSystemMessage(self, strSpam);
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
if(!pet_lib.isGalloping(objMount))
|
|
{
|
|
string_id strSpam = new string_id("combat_effects", "cant_stop_galloping_not_galloping");
|
|
sendSystemMessage(self, strSpam);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
obj_id objControlDevice = callable.getCallableCD(objMount);
|
|
messageTo(objControlDevice, "removeGallop", null, 1, false);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Entertainer Commands
|
|
|
|
commandHandler en_holographic_image()
|
|
{
|
|
if (combat.isInCombat(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_do_holo_combat"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (performance.hasMaxHolo(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "holo_maximum_reached"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!performance.createHolographicBackup(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_holographic_recall()
|
|
{
|
|
if (!utils.hasScriptVar(self, "holoMessageTime"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "no_holo_recall"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
performance.holographicCleanup(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_void_dance()
|
|
{
|
|
int voidEffectMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "eexpertise_buff_en_void_dance_buff");
|
|
|
|
if ( (voidEffectMod == 5) && (!combatStandardAction("en_void_dance_1", self, target, params, "", "")) )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
else if ( (voidEffectMod == 10) && (!combatStandardAction("en_void_dance_2", self, target, params, "", "")) )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
else if ( (voidEffectMod == 15) && (!combatStandardAction("en_void_dance_3", self, target, params, "", "")) )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
else if(!combatStandardAction("en_void_dance", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_strike_0()
|
|
{
|
|
if (!combatStandardAction("en_strike_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_strike_1()
|
|
{
|
|
if (!combatStandardAction("en_strike_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_strike_2()
|
|
{
|
|
if (!combatStandardAction("en_strike_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_strike_3()
|
|
{
|
|
if (!combatStandardAction("en_strike_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_strike_4()
|
|
{
|
|
if (!combatStandardAction("en_strike_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_strike_5()
|
|
{
|
|
if (!combatStandardAction("en_strike_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_strike_6()
|
|
{
|
|
if (!combatStandardAction("en_strike_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_thrill()
|
|
{
|
|
int thrillEffectMod = (int)getEnhancedSkillStatisticModifierUncapped(self, "expertise_en_debuff_thrill_increase");
|
|
|
|
if ( (thrillEffectMod == 10) && (!combatStandardAction("en_thrill_1", self, target, params, "", "")) )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else if ( (thrillEffectMod == 20) && (!combatStandardAction("en_thrill_2", self, target, params, "", "")) )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else if(!combatStandardAction("en_thrill", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_project_will_0()
|
|
{
|
|
if (!combatStandardAction("en_project_will_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_project_will_1()
|
|
{
|
|
if (!combatStandardAction("en_project_will_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_project_will_2()
|
|
{
|
|
if (!combatStandardAction("en_project_will_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_project_will_3()
|
|
{
|
|
if (!combatStandardAction("en_project_will_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_project_will_4()
|
|
{
|
|
if (!combatStandardAction("en_project_will_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_project_will_5()
|
|
{
|
|
if (!combatStandardAction("en_project_will_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_project_will_6()
|
|
{
|
|
if (!combatStandardAction("en_project_will_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sweeping_pirouette_0()
|
|
{
|
|
if (!combatStandardAction("en_sweeping_pirouette_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sweeping_pirouette_1()
|
|
{
|
|
if (!combatStandardAction("en_sweeping_pirouette_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sweeping_pirouette_2()
|
|
{
|
|
if (!combatStandardAction("en_sweeping_pirouette_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sweeping_pirouette_3()
|
|
{
|
|
if (!combatStandardAction("en_sweeping_pirouette_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sweeping_pirouette_4()
|
|
{
|
|
if (!combatStandardAction("en_sweeping_pirouette_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_sweeping_pirouette_5()
|
|
{
|
|
if (!combatStandardAction("en_sweeping_pirouette_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_unhealthy_fixation()
|
|
{
|
|
if (!combatStandardAction("en_unhealthy_fixation", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_spiral_kick_0()
|
|
{
|
|
if (!combatStandardAction("en_spiral_kick_0", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_spiral_kick_1()
|
|
{
|
|
if (!combatStandardAction("en_spiral_kick_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_spiral_kick_2()
|
|
{
|
|
if (!combatStandardAction("en_spiral_kick_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_spiral_kick_3()
|
|
{
|
|
if (!combatStandardAction("en_spiral_kick_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler en_spiral_kick_4()
|
|
{
|
|
if (!combatStandardAction("en_spiral_kick_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler pingObject()
|
|
{
|
|
// respond to sender with my locatoin
|
|
|
|
location locTest = getLocation(self);
|
|
obj_id objSender = params.getObjId("objSender");
|
|
dictionary dctParams = new dictionary();
|
|
dctParams.put("locTest", locTest);
|
|
obj_id objTopMostContainer = getTopMostContainer(self);
|
|
if(isIdValid(objTopMostContainer))
|
|
{
|
|
dctParams.put("objTopMost", objTopMostContainer);
|
|
dctParams.put("locTopMost", getLocation(objTopMostContainer));
|
|
}
|
|
|
|
dctParams.put("objSender", self);
|
|
messageTo(objSender, "pingResponse", dctParams, 0, false);
|
|
LOG("npe", self+" at "+locTest+" responded to ping");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Using seekers from the toolbar
|
|
commandHandler bountyTrackTarget()
|
|
{
|
|
obj_id droid = utils.stringToObjId(params);
|
|
|
|
if(!isIdValid(droid) )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
else
|
|
bounty_hunter.probeDroidTrackTarget(self, droid);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler applyCritImmunityBuff()
|
|
{
|
|
if(!buff.hasBuff(self, "criticalImmunity") )
|
|
buff.applyBuff(self, self, "criticalImmunity");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
messageHandler applyStunImmunity()
|
|
{
|
|
if(!buff.hasBuff(self, "stun_immune") )
|
|
buff.applyBuff(self, self, "stun_immune");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler applyVortexSnare()
|
|
{
|
|
if(!buff.hasBuff(self, "of_vortex_snare") )
|
|
buff.applyBuff(self, self, "of_vortex_snare");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float getBaseCooldownTime(string commandName)
|
|
{
|
|
float cooldownTime = dataTableGetFloat("datatables/command/command_table.iff", commandName, "cooldownTime");
|
|
|
|
return cooldownTime;
|
|
}
|
|
|
|
messageHandler fs_dot_immunity_recourse()
|
|
{
|
|
if(!buff.hasBuff(self, "fs_dot_immunity_recourse") )
|
|
buff.applyBuff(self, self, "fs_dot_immunity_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler throwFan()
|
|
{
|
|
if(!combatStandardAction("throwFan", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creature_milking_buff()
|
|
{
|
|
if (!combatStandardAction("creature_milking_buff", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler lair_egg_buff()
|
|
{
|
|
if (!combatStandardAction("lair_egg_buff", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_buildabuff_heal_1_reac()
|
|
{
|
|
if (!combatStandardAction("expertise_buildabuff_heal_1_reac", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_buildabuff_heal_2_reac()
|
|
{
|
|
if (!combatStandardAction("expertise_buildabuff_heal_2_reac", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler expertise_buildabuff_heal_3_reac()
|
|
{
|
|
if (!combatStandardAction("expertise_buildabuff_heal_3_reac", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler forceCrystalForce()
|
|
{
|
|
LOG("procCommand", "proc found");
|
|
if (!combatStandardAction("forceCrystalForce", self, target, params, "", ""))
|
|
{
|
|
LOG("procCommand", "proc failed in combat standard");
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
LOG("procCommand","proc worked in script");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
/*
|
|
commandHandler bm_pet_trick_1()
|
|
{
|
|
if(!combatStandardAction("bm_pet_trick_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_pet_trick_2()
|
|
{
|
|
if(!combatStandardAction("bm_pet_trick_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_pet_trick_3()
|
|
{
|
|
if(!combatStandardAction("bm_pet_trick_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_pet_attack_1()
|
|
{
|
|
if(!combatStandardAction("bm_pet_attack_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
*/
|
|
commandHandler bm_soothing_comfort_1()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
|
|
if(!exists(beast) || isIdNull(beast) )
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
sendSystemMessage(self, new string_id("spam", "no_beast_out") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
target = beast;
|
|
|
|
if(!isDead(beast) == false)
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
sendSystemMessage(self, new string_id("spam", "pet_beyond_healing") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("bm_soothing_comfort_1", self, target, params, "", ""))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_mend_pet_1()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
|
|
if(!exists(beast) || isIdNull(beast) )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "no_beast_out") );
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
target = beast;
|
|
|
|
if(isDead(beast))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
sendSystemMessage(self, new string_id("spam", "pet_beyond_healing") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!healing.canDoBeastHeal(self, target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("bm_mend_pet_1", self, target, params, "", ""))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int toHeal = dataTableGetInt(COMBAT_TABLE, "bm_mend_pet_1", "addedDamage");
|
|
healing.doBeastHeal(self, target, toHeal);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_mend_pet_2()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
|
|
if(!exists(beast) || isIdNull(beast) )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "no_beast_out") );
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
target = beast;
|
|
|
|
if(isDead(beast))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
sendSystemMessage(self, new string_id("spam", "pet_beyond_healing") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!healing.canDoBeastHeal(self, target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("bm_mend_pet_2", self, target, params, "", ""))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int toHeal = dataTableGetInt(COMBAT_TABLE, "bm_mend_pet_2", "addedDamage");
|
|
healing.doBeastHeal(self, target, toHeal);
|
|
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_mend_pet_3()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
|
|
if(!exists(beast) || isIdNull(beast) )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "no_beast_out") );
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
target = beast;
|
|
|
|
if(isDead(beast))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
sendSystemMessage(self, new string_id("spam", "pet_beyond_healing") );
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!healing.canDoBeastHeal(self, target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("bm_mend_pet_3", self, target, params, "", ""))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int toHeal = dataTableGetInt(COMBAT_TABLE, "bm_mend_pet_3", "addedDamage");
|
|
healing.doBeastHeal(self, target, toHeal);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_revive_pet_1()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
|
|
if(!exists(beast) || isIdNull(beast) )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "no_beast_out") );
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
target = beast;
|
|
|
|
if(!isDead(beast) )
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "beast_not_dead") );
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(getDistance(getLocation(self), getLocation(beast)) > 7.0f)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "stand_next_to_corpse") );
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("bm_revive_pet_1", self, target, params, "", ""))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
messageTo(self, "channelRevivePet", null, 0, false);
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("bm_revive_pet_1");
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_bm_pet_revive_time");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - cooldownTimeMod);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler bm_paralytic_poison_recourse()
|
|
{
|
|
if(!buff.hasBuff(self, "bm_paralytic_poison_recourse") )
|
|
buff.applyBuff(self, self, "bm_paralytic_poison_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
messageHandler handlePostureRestore()
|
|
{
|
|
stopClientEffectObjByLabel(self, "state_knockdown");
|
|
|
|
if (getPosture(self) == POSTURE_KNOCKED_DOWN)
|
|
{
|
|
setPostureClientImmediate(self, utils.getIntScriptVar(self, "combat.intKnockdownTime.posture"));
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
messageHandler performHateTick()
|
|
{
|
|
obj_id attacker = params.getObjId("attacker");
|
|
int hate = params.getInt("hate");
|
|
int tick = params.getInt("tick");
|
|
int duration = params.getInt("duration");
|
|
|
|
addHate(attacker, self, 0.0f);
|
|
addHate(self, attacker, hate);
|
|
|
|
if (duration < getGameTime())
|
|
messageTo(self, "performHateTick", params, tick, false);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler combatTarget()
|
|
{
|
|
if (!isIdValid(target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
setTarget(self, target);
|
|
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
|
|
|
|
messageHandler updateCrowdControlEffect()
|
|
{
|
|
boolean effectActive = false;
|
|
|
|
int[] buffList = buff.getAllBuffs(self);
|
|
|
|
if (buffList == null || buffList.length == 0)
|
|
return SCRIPT_CONTINUE;
|
|
|
|
prose_package pp = new prose_package();
|
|
|
|
for (int i = 0; i < buffList.length; i++)
|
|
{
|
|
if (movement.isStunEffect(buff.getBuffNameFromCrc(buffList[i])))
|
|
{
|
|
effectActive = true;
|
|
pp = prose.setStringId(pp, new string_id("combat_effects", "go_stunned"));
|
|
showFlyTextPrivateProseWithFlags(self, self, pp, 1.5f, colors.LAWNGREEN, FLY_TEXT_FLAG_IS_SNARE );
|
|
|
|
}
|
|
if (movement.isRoot(buffList[i]))
|
|
{
|
|
effectActive = true;
|
|
pp = prose.setStringId(pp, new string_id("combat_effects", "go_rooted"));
|
|
showFlyTextPrivateProseWithFlags(self, self, pp, 1.5f, colors.LAWNGREEN, FLY_TEXT_FLAG_IS_SNARE );
|
|
}
|
|
|
|
if (movement.isSnare(buffList[i]))
|
|
{
|
|
effectActive = true;
|
|
pp = prose.setStringId(pp, new string_id("combat_effects", "go_snare"));
|
|
showFlyTextPrivateProseWithFlags(self, self, pp, 1.5f, colors.LAWNGREEN, FLY_TEXT_FLAG_IS_SNARE );
|
|
|
|
}
|
|
}
|
|
|
|
if (effectActive)
|
|
messageTo (self, "updateCrowdControlEffect", null, 4f, false);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
|
|
commandHandler creatureMeleeAttack()
|
|
{
|
|
if (!combatStandardAction("creatureMeleeAttack", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureRangedAttack()
|
|
{
|
|
if (!combatStandardAction("creatureRangedAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureBlindAttack()
|
|
{
|
|
if (!combatStandardAction("creatureBlindAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureDizzyAttack()
|
|
{
|
|
if (!combatStandardAction("creatureDizzyAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureStunAttack()
|
|
{
|
|
if (!combatStandardAction("creatureStunAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureIntimidationAttack()
|
|
{
|
|
if (!combatStandardAction("creatureIntimidationAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureKnockdownAttack()
|
|
{
|
|
if (!combatStandardAction("creatureKnockdownAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creaturePostureDownAttack()
|
|
{
|
|
if (!combatStandardAction("creaturePostureDownAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creaturePostureUpAttack()
|
|
{
|
|
if (!combatStandardAction("creaturePostureUpAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureAreaAttack()
|
|
{
|
|
if (!combatStandardAction("creatureAreaAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureAreaCombo()
|
|
{
|
|
if (!combatStandardAction("creatureAreaCombo", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureAreaBleeding()
|
|
{
|
|
if (!combatStandardAction("creatureAreaBleeding", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureAreaDisease()
|
|
{
|
|
if (!combatStandardAction("creatureAreaDisease", self, target, params, "creatureAreaDiseaseSuccess", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureAreaPoison()
|
|
{
|
|
if (!combatStandardAction("creatureAreaPoison", self, target, params, "creatureAreaPoisonSuccess", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureAreaKnockdown()
|
|
{
|
|
if (!combatStandardAction("creatureAreaKnockdown", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creaturePoisonAttack()
|
|
{
|
|
if (!combatStandardAction("creaturePoisonAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureFireAttack()
|
|
{
|
|
if (!combatStandardAction("creatureFireAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler creatureSnareAttack()
|
|
{
|
|
if (!combatStandardAction("creatureSnareAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
messageHandler creatureAreaDiseaseSuccess()
|
|
{
|
|
obj_id[] defenders = params.getObjIdArray("defenders");
|
|
|
|
for (int i = 0; i < defenders.length; i++)
|
|
{
|
|
dot.applyDotEffect(defenders[i], self, dot.DOT_DISEASE, "creatureDiseaseAttack", HEALTH, 100, 300, 300);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler creatureAreaPoisonSuccess()
|
|
{
|
|
obj_id[] defenders = params.getObjIdArray("defenders");
|
|
|
|
for (int i = 0; i < defenders.length; i++)
|
|
{
|
|
if (dot.canApplyDotType(defenders[i], dot.DOT_POISON))
|
|
{
|
|
dot.applyDotEffect(defenders[i], self, dot.DOT_POISON, "creaturePoisonAttack", HEALTH, 100, 150, 300);
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler knockdownRecovery()
|
|
{
|
|
if (!combatStandardAction("knockdownRecovery", self, target, params, "knockdownRecoverySuccess", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler stunRecovery()
|
|
{
|
|
if (!combatStandardAction("stunRecovery", self, target, params, "stunRecoverySuccess", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler blindRecovery()
|
|
{
|
|
if (!combatStandardAction("blindRecovery", self, target, params, "blindRecoverySuccess", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler dizzyRecovery()
|
|
{
|
|
if (!combatStandardAction("dizzyRecovery", self, target, params, "dizzyRecoverySuccess", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler iceCreamRecourse()
|
|
{
|
|
if (!buff.hasBuff(self, "ice_cream_recourse"))
|
|
buff.applyBuff(self, self, "ice_cream_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler dazeRecourse()
|
|
{
|
|
if (!buff.hasBuff(self, "dazeBlockDebuff"))
|
|
buff.applyBuff(self, self, "dazeBlockDebuff");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler mezRecourse()
|
|
{
|
|
if (!buff.hasBuff(self, "mezBlockDebuff"))
|
|
buff.applyBuff(self, self, "mezBlockDebuff");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
messageHandler seetingAngerRecourse()
|
|
{
|
|
if (!buff.hasBuff(self, "seetingAnger_1"))
|
|
buff.applyBuff(self, self, "seethingAnger_1");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
messageHandler seetingAngerRecourse_1()
|
|
{
|
|
if (!buff.hasBuff(self, "seetingAnger_2"))
|
|
buff.applyBuff(self, self, "seethingAnger_2");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
messageHandler seetingAngerRecourse_2()
|
|
{
|
|
if (!buff.hasBuff(self, "seetingAnger_3"))
|
|
buff.applyBuff(self, self, "seethingAnger_3");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
messageHandler seetingAngerRecourse_3()
|
|
{
|
|
if (!buff.hasBuff(self, "seetingAnger_4"))
|
|
buff.applyBuff(self, self, "seethingAnger_4");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler petSnareAttack()
|
|
{
|
|
if (!combatStandardAction("petSnareAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler petPinAttack()
|
|
{
|
|
if (!combatStandardAction("petPinAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler petBleedAttack()
|
|
{
|
|
if (!combatStandardAction("petBleedAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler petIntimidateAttack()
|
|
{
|
|
if (!combatStandardAction("petIntimidateAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler petStunAttack()
|
|
{
|
|
if (!combatStandardAction("petStunAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler petBlindAttack()
|
|
{
|
|
if (!combatStandardAction("petBlindAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler petKnockdownAttack()
|
|
{
|
|
if (!combatStandardAction("petKnockdownAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler petDefenseBreakAttack()
|
|
{
|
|
if (!combatStandardAction("petDefenseBreakAttack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler insidiousMalady()
|
|
{
|
|
if (!combatStandardAction("insidiousMalady", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler euphoria()
|
|
{
|
|
if (!combatStandardAction("euphoria", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler rampage()
|
|
{
|
|
if (!combatStandardAction("rampage", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler seethingAnger()
|
|
{
|
|
if (!combatStandardAction("seethingAnger", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler cloakOfLava()
|
|
{
|
|
if (!combatStandardAction("cloakOfLava", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler sherKarRage()
|
|
{
|
|
if (!combatStandardAction("sherKarRage", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler decrepitStrike()
|
|
{
|
|
if (!combatStandardAction("decrepitStrike", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler sk_shockWave()
|
|
{
|
|
if (!combatStandardAction("sk_shockWave", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
|
|
commandHandler bm_charge_1()
|
|
{
|
|
if (!combatStandardAction("bm_charge_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler bm_charge_2()
|
|
{
|
|
|
|
if (!combatStandardAction("bm_charge_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler bm_charge_3()
|
|
{
|
|
|
|
if (!combatStandardAction("bm_charge_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler bm_charge_4()
|
|
{
|
|
|
|
if (!combatStandardAction("bm_charge_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler bm_charge_5()
|
|
{
|
|
|
|
if (!combatStandardAction("bm_charge_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler bm_trample()
|
|
{
|
|
|
|
if (!combatStandardAction("bm_trample", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler bm_bite_1()
|
|
{
|
|
|
|
if (!combatStandardAction("bm_bite_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bite_2()
|
|
{
|
|
|
|
if (!combatStandardAction("bm_bite_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bite_3()
|
|
{
|
|
if (!combatStandardAction("bm_bite_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bite_4()
|
|
{
|
|
if (!combatStandardAction("bm_bite_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bite_5()
|
|
{
|
|
if (!combatStandardAction("bm_bite_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_puncture_1()
|
|
{
|
|
if (!combatStandardAction("bm_puncture_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_puncture_2()
|
|
{
|
|
if (!combatStandardAction("bm_puncture_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_puncture_3()
|
|
{
|
|
if (!combatStandardAction("bm_puncture_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_siphon_1()
|
|
{
|
|
if (!combatStandardAction("bm_siphon_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_siphon_2()
|
|
{
|
|
if (!combatStandardAction("bm_siphon_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_siphon_3()
|
|
{
|
|
if (!combatStandardAction("bm_siphon_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_siphon_4()
|
|
{
|
|
if (!combatStandardAction("bm_siphon_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_siphon_5()
|
|
{
|
|
if (!combatStandardAction("bm_siphon_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_hamstring_1()
|
|
{
|
|
if (!combatStandardAction("bm_hamstring_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_hamstring_2()
|
|
{
|
|
if (!combatStandardAction("bm_hamstring_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_hamstring_3()
|
|
{
|
|
if (!combatStandardAction("bm_hamstring_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_hamstring_4()
|
|
{
|
|
if (!combatStandardAction("bm_hamstring_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_hamstring_5()
|
|
{
|
|
if (!combatStandardAction("bm_hamstring_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_claw_1()
|
|
{
|
|
if (!combatStandardAction("bm_claw_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_claw_2()
|
|
{
|
|
if (!combatStandardAction("bm_claw_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler bm_claw_3()
|
|
{
|
|
if (!combatStandardAction("bm_claw_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler bm_claw_4()
|
|
{
|
|
if (!combatStandardAction("bm_claw_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler bm_claw_5()
|
|
{
|
|
if (!combatStandardAction("bm_claw_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_slash_1()
|
|
{
|
|
if (!combatStandardAction("bm_slash_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_slash_2()
|
|
{
|
|
if (!combatStandardAction("bm_slash_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler bm_slash_3()
|
|
{
|
|
if (!combatStandardAction("bm_slash_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler bm_slash_4()
|
|
{
|
|
if (!combatStandardAction("bm_slash_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler bm_slash_5()
|
|
{
|
|
if (!combatStandardAction("bm_slash_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_flank_1()
|
|
{
|
|
if (!combatStandardAction("bm_flank_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_flank_2()
|
|
{
|
|
if (!combatStandardAction("bm_flank_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_flank_3()
|
|
{
|
|
if (!combatStandardAction("bm_flank_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bolster_armor_1()
|
|
{
|
|
if (!combatStandardAction("bm_bolster_armor_1", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bolster_armor_2()
|
|
{
|
|
if (!combatStandardAction("bm_bolster_armor_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bolster_armor_3()
|
|
{
|
|
if (!combatStandardAction("bm_bolster_armor_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bolster_armor_4()
|
|
{
|
|
if (!combatStandardAction("bm_bolster_armor_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_bolster_armor_5()
|
|
{
|
|
if (!combatStandardAction("bm_bolster_armor_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_dampen_pain_1()
|
|
{
|
|
if (!combatStandardAction("bm_dampen_pain_1", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_dampen_pain_2()
|
|
{
|
|
if (!combatStandardAction("bm_dampen_pain_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_dampen_pain_3()
|
|
{
|
|
if (!combatStandardAction("bm_dampen_pain_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_dampen_pain_4()
|
|
{
|
|
if (!combatStandardAction("bm_dampen_pain_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_dampen_pain_5()
|
|
{
|
|
if (!combatStandardAction("bm_dampen_pain_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_shield_master()
|
|
{
|
|
if (!combatStandardAction("bm_shield_master", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_deflective_hide()
|
|
{
|
|
if (!combatStandardAction("bm_deflective_hide", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_defensive_1()
|
|
{
|
|
if (!combatStandardAction("bm_defensive_1", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler bm_defensive_2()
|
|
{
|
|
if (!combatStandardAction("bm_defensive_2", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler bm_defensive_3()
|
|
{
|
|
if (!combatStandardAction("bm_defensive_3", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler bm_defensive_4()
|
|
{
|
|
if (!combatStandardAction("bm_defensive_4", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler bm_defensive_5()
|
|
{
|
|
if (!combatStandardAction("bm_defensive_5", self, target, params, "", "", true))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_damage_poison_1()
|
|
{
|
|
if (!combatStandardAction("bm_damage_poison_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler bm_damage_poison_2()
|
|
{
|
|
if (!combatStandardAction("bm_damage_poison_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler bm_damage_poison_3()
|
|
{
|
|
if (!combatStandardAction("bm_damage_poison_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler bm_damage_poison_4()
|
|
{
|
|
if (!combatStandardAction("bm_damage_poison_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler bm_damage_poison_5()
|
|
{
|
|
if (!combatStandardAction("bm_damage_poison_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_damage_disease_1()
|
|
{
|
|
if (!combatStandardAction("bm_damage_disease_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_damage_disease_2()
|
|
{
|
|
if (!combatStandardAction("bm_damage_disease_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_damage_disease_3()
|
|
{
|
|
if (!combatStandardAction("bm_damage_disease_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_damage_disease_4()
|
|
{
|
|
if (!combatStandardAction("bm_damage_disease_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_damage_disease_5()
|
|
{
|
|
if (!combatStandardAction("bm_damage_disease_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_paralytic_poison()
|
|
{
|
|
if (!combatStandardAction("bm_paralytic_poison", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler bm_enfeeble_1()
|
|
{
|
|
if (!combatStandardAction("bm_enfeeble_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_enfeeble_2()
|
|
{
|
|
if (!combatStandardAction("bm_enfeeble_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_enfeeble_3()
|
|
{
|
|
if (!combatStandardAction("bm_enfeeble_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_enfeeble_4()
|
|
{
|
|
if (!combatStandardAction("bm_enfeeble_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_enfeeble_5()
|
|
{
|
|
if (!combatStandardAction("bm_enfeeble_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_preperation()
|
|
{
|
|
if (!combatStandardAction("bm_preperation", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_stomp_1()
|
|
{
|
|
if (!combatStandardAction("bm_stomp_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_stomp_2()
|
|
{
|
|
if (!combatStandardAction("bm_stomp_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_stomp_3()
|
|
{
|
|
if (!combatStandardAction("bm_stomp_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_stomp_4()
|
|
{
|
|
if (!combatStandardAction("bm_stomp_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_stomp_5()
|
|
{
|
|
if (!combatStandardAction("bm_stomp_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_shaken_1()
|
|
{
|
|
if (!combatStandardAction("bm_shaken_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_shaken_2()
|
|
{
|
|
if (!combatStandardAction("bm_shaken_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_shaken_3()
|
|
{
|
|
if (!combatStandardAction("bm_shaken_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_wing_buffet_1()
|
|
{
|
|
if (!combatStandardAction("bm_wing_buffet_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_wing_buffet_2()
|
|
{
|
|
if (!combatStandardAction("bm_wing_buffet_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_wing_buffet_3()
|
|
{
|
|
if (!combatStandardAction("bm_wing_buffet_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_wing_buffet_4()
|
|
{
|
|
if (!combatStandardAction("bm_wing_buffet_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_wing_buffet_5()
|
|
{
|
|
if (!combatStandardAction("bm_wing_buffet_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_spit_1()
|
|
{
|
|
if (!combatStandardAction("bm_spit_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_spit_2()
|
|
{
|
|
if (!combatStandardAction("bm_spit_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_spit_3()
|
|
{
|
|
if (!combatStandardAction("bm_spit_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_spit_4()
|
|
{
|
|
if (!combatStandardAction("bm_spit_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_spit_5()
|
|
{
|
|
if (!combatStandardAction("bm_spit_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_kick_1()
|
|
{
|
|
if (!combatStandardAction("bm_kick_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_kick_2()
|
|
{
|
|
if (!combatStandardAction("bm_kick_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_kick_3()
|
|
{
|
|
if (!combatStandardAction("bm_kick_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_kick_4()
|
|
{
|
|
if (!combatStandardAction("bm_kick_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_kick_5()
|
|
{
|
|
if (!combatStandardAction("bm_kick_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_enrage()
|
|
{
|
|
if (!combatStandardAction("bm_enrage", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_frenzy()
|
|
{
|
|
if (!combatStandardAction("bm_frenzy", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_provoke_1()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
target = isIdValid(getTarget(beast)) ? getTarget(beast) : getIntendedTarget(self);
|
|
|
|
if(!ai_lib.isTauntable(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("bm_provoke_1", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
beast_lib.doBmProvokeCommand(beast, target, 1);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_provoke_2()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
target = isIdValid(getTarget(beast)) ? getTarget(beast) : getIntendedTarget(self);
|
|
|
|
if(!ai_lib.isTauntable(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("bm_provoke_2", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
beast_lib.doBmProvokeCommand(beast, target, 2);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_provoke_3()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
target = isIdValid(getTarget(beast)) ? getTarget(beast) : getIntendedTarget(self);
|
|
|
|
if(!ai_lib.isTauntable(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("bm_provoke_3", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
beast_lib.doBmProvokeCommand(beast, target, 3);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_provoke_4()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
target = isIdValid(getTarget(beast)) ? getTarget(beast) : getIntendedTarget(self);
|
|
|
|
if(!ai_lib.isTauntable(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("bm_provoke_4", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
beast_lib.doBmProvokeCommand(beast, target, 4);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_provoke_5()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
target = isIdValid(getTarget(beast)) ? getTarget(beast) : getIntendedTarget(self);
|
|
|
|
if(!ai_lib.isTauntable(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction("bm_provoke_5", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
beast_lib.doBmProvokeCommand(beast, target, 5);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_taunt()
|
|
{
|
|
//Make sure they are in a stance
|
|
int stanceBuff = buff.getBuffOnTargetFromGroup(self, "fsDefStance");
|
|
if(stanceBuff == 0)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
target = isIdValid(getIntendedTarget(self)) ? getIntendedTarget(self): getTarget(self) ;
|
|
|
|
if(!isIdValid(target) || !exists(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
//can we taunt this?
|
|
if(!ai_lib.isTauntable(target))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(isPlayer(target) || beast_lib.isBeast(target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
obj_id topHateTarget = getHateTarget(target);
|
|
|
|
// Target already hates me
|
|
if(topHateTarget == self)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_taunt", self, target, params, "", "", false))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
combat.dsFsTaunt(self, target);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler togglePetAutoRepeatOn()
|
|
{
|
|
beast_lib.setAbilityAutoRepeat(beast_lib.getBeastOnPlayer(self), params);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler togglePetAutoRepeatOff()
|
|
{
|
|
beast_lib.unsetAbilityAutoRepeat(beast_lib.getBeastOnPlayer(self), params);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler toggleBeastDefensive()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
if (!isIdValid(beast) || !exists(beast))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(isDead(beast))
|
|
{
|
|
sendSystemMessage(self, beast_lib.SID_BEAST_CANT_WHEN_DEAD);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
beast_lib.setBeastDefensive(beast, self, true);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler toggleBeastPassive()
|
|
{
|
|
obj_id beast = beast_lib.getBeastOnPlayer(self);
|
|
if (!isIdValid(beast) || !exists(beast))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(isDead(beast))
|
|
{
|
|
sendSystemMessage(self, beast_lib.SID_BEAST_CANT_WHEN_DEAD);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
beast_lib.setBeastDefensive(beast, self, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_forage_enzyme_buff()
|
|
{
|
|
if (!combatStandardAction("bm_forage_enzyme_buff", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler devastating_strike()
|
|
{
|
|
if (!combatStandardAction("devastating_strike", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
/*************** Species Special Abilities **************************/
|
|
|
|
commandHandler human_ability_1()
|
|
{
|
|
|
|
if (!combatStandardAction("human_ability_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
showFlyText(self, new string_id("spam", "fly_human_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler wookiee_ability_1()
|
|
{
|
|
if (!combatStandardAction("wookiee_ability_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
showFlyText(self, new string_id("spam", "fly_wookiee_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler rodian_ability_1()
|
|
{
|
|
if (!combatStandardAction("rodian_ability_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
showFlyText(self, new string_id("spam", "fly_rodian_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bothan_ability_1()
|
|
{
|
|
if (!stealth.canPerformSmokeGrenade(self) || !combatStandardAction("bothan_ability_1", self, target, params, "", "") || !buff.canApplyBuff(target, "invis_bothan_ability_1"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ithorian_ability_1()
|
|
{
|
|
if (!combatStandardAction("ithorian_ability_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
float level = getLevel(self);
|
|
float blockValue = level * (1000.0f/90.0f);
|
|
|
|
buff.applyBuff(self, self, "ithorian_ability_1", 30.0f,blockValue);
|
|
showFlyText(self, new string_id("spam", "fly_ithorian_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler twilek_ability_1()
|
|
{
|
|
if (!combatStandardAction("twilek_ability_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
showFlyText(self, new string_id("spam", "fly_twilek_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sullustan_ability_1()
|
|
{
|
|
if (!combatStandardAction("sullustan_ability_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
showFlyText(self, new string_id("spam", "fly_sullustan_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler moncal_ability_1()
|
|
{
|
|
if (!combatStandardAction("moncal_ability_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
showFlyText(self, new string_id("spam", "fly_moncal_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler trandoshan_ability_1()
|
|
{
|
|
if (!combatStandardAction("trandoshan_ability_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
int level = getLevel(self);
|
|
int healPerTick = level * 20;
|
|
|
|
healing.startHealOverTime(self, self, "trandoshan_ability_1", 4.0f, 1.0f, healPerTick, true);
|
|
showFlyText(self, new string_id("spam", "fly_trandoshan_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler zabrak_ability_1()
|
|
{
|
|
if (!combatStandardAction("zabrak_ability_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
int level = getLevel(self);
|
|
int amount = level * 40;
|
|
int actionBefore = getAttrib(self, ACTION);
|
|
|
|
int healthDelta = healing.healDamage(self, self, HEALTH, amount);
|
|
healing.healDamage(self, ACTION, amount);
|
|
|
|
int actionDelta = getAttrib(self, ACTION) - actionBefore;
|
|
|
|
prose_package pp = new prose_package();
|
|
pp = prose.setStringId(pp, new string_id("spam", "zabrak_equilibrium_spam"));
|
|
pp = prose.setTT(pp, self);
|
|
pp = prose.setDI(pp, healthDelta);
|
|
healing.sendMedicalSpam(self, self, pp, true, true, true, COMBAT_RESULT_MEDICAL);
|
|
|
|
prose_package ppp = new prose_package();
|
|
pp = prose.setStringId(ppp, new string_id("spam", "zabrak_equilibrium_spam_action"));
|
|
pp = prose.setTT(ppp, self);
|
|
pp = prose.setDI(ppp, actionDelta);
|
|
healing.sendMedicalSpam(self, self, ppp, true, true, true, COMBAT_RESULT_MEDICAL);
|
|
|
|
showFlyText(self, new string_id("spam", "fly_zabrak_ability_1"), 1.5f, colors.LEMONCHIFFON);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler gcw_reward_comlink()
|
|
{
|
|
if (!faction_perk.executeComlinkReinforcements(self))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler trample_random()
|
|
{
|
|
if (!combatStandardAction("trample_random", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
setLocation(self, getLocation(utils.getObjIdScriptVar(self, combat.CHARGE_TARGET)));
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler bodyguard()
|
|
{
|
|
if (!combatStandardAction("bodyguard", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler nandina_heal()
|
|
{
|
|
|
|
obj_id[] spawn_id = trial.getObjectsInDungeonWithObjVar(trial.getTop(self), "spawn_id");
|
|
|
|
if (spawn_id == null || spawn_id.length == 0)
|
|
{
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
obj_id gorvo = null;
|
|
|
|
for (int i=0;i<spawn_id.length;i++)
|
|
{
|
|
if (getStringObjVar(spawn_id[i], "spawn_id").equals("gorvo"))
|
|
gorvo = spawn_id[i];
|
|
}
|
|
|
|
if (!isIdValid(gorvo) || ai_lib.isDead(gorvo))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
int healingReduction = getEnhancedSkillStatisticModifierUncapped(gorvo, "expertise_healing_reduction");
|
|
float redux = (float)healingReduction / ((float)healingReduction + 75.0f);
|
|
int toHeal = (int)(50000.0f - (50000.0f * redux));
|
|
toHeal = toHeal < 1 ? 1 : toHeal;
|
|
|
|
healing.healDamage(gorvo, HEALTH, toHeal);
|
|
playClientEffectLoc(gorvo, "clienteffect/bacta_bomb.cef" , getLocation(target), 0);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler lelli_bleed()
|
|
{
|
|
if (!combatStandardAction("lelli_bleed", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler lelli_ambush()
|
|
{
|
|
setInvulnerable(self, true);
|
|
setCreatureCoverVisibility(self, false);
|
|
utils.setScriptVar(self, combat.DEFAULT_ATTACK_OVERRIDE, "null_attack");
|
|
messageTo(self, "dropMines", trial.getSessionDict(self, "ambush"), 1.0f, false);
|
|
messageTo(self, "performAmbush", trial.getSessionDict(self, "ambush"), 2.0f, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_bomb_explode()
|
|
{
|
|
if(!combatStandardAction("ig88_bomb_explode", self, target, params, "", "", true) && !utils.hasScriptVar(self, "exploded"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
utils.setScriptVar(self, "exploded", 1);
|
|
|
|
obj_id dungeon = getTopMostContainer(self);
|
|
|
|
if(isIdValid(dungeon))
|
|
{
|
|
// Must get the dungeon's session information to make sure you're killing the correct instance session's NPC.
|
|
dictionary messageParams = trial.getSessionDict(dungeon);
|
|
messageParams.put("npc", self);
|
|
|
|
messageTo(dungeon, "killNPC", messageParams, 0, false);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler ig88_droideka_shield()
|
|
{
|
|
if(!combatStandardAction("ig88_droideka_shield", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_shield()
|
|
{
|
|
if(!combatStandardAction("ig88_shield", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_droideka_electrify()
|
|
{
|
|
if(!combatStandardAction("ig88_droideka_electrify", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Side-effect of electrifying a target is that the Droideka lowers its hate towards that target.
|
|
setHate(self, target, 1);
|
|
|
|
playClientEffectObj(self, "appearance/pt_ig88_electrify.prt", self, "");
|
|
playClientEffectObj(target, "appearance/pt_ig88_electrify_target.prt", target, "");
|
|
|
|
removeObjVar(self, "ai.combat.oneShotAction");
|
|
removeObjVar(self, "oneShotActionComplete");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_flame_thrower()
|
|
{
|
|
if(!isIdValid(target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
location where = getLocation(target);
|
|
|
|
// Width is an angle to te sides of your target; IE: 20 degree width is a total of 40 degrees.
|
|
obj_id[] defenders = pvpGetTargetsInCone(self, self, where, 64, 10);
|
|
|
|
resizeable obj_id[] filteredDefenders = new obj_id[0];
|
|
|
|
if(defenders != null && defenders.length > 0)
|
|
{
|
|
for(int i = 0; i < defenders.length; i++)
|
|
{
|
|
if(isIdValid(defenders[i]) && !isDead(defenders[i]) && isPlayer(defenders[i]))
|
|
{
|
|
filteredDefenders = utils.addElement(filteredDefenders, defenders[i]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(filteredDefenders != null && filteredDefenders.length > 0)
|
|
{
|
|
target = filteredDefenders[rand(0, filteredDefenders.length - 1)];
|
|
}
|
|
|
|
if(!combatStandardAction("ig88_flame_thrower", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_flame_thrower_vertical()
|
|
{
|
|
if(!isIdValid(target))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
location where = getLocation(target);
|
|
|
|
// Width is an angle to the sides of your target; IE: 20 degree width is a total of 40 degrees.
|
|
obj_id[] defenders = pvpGetTargetsInCone(self, self, where, 64, 10);
|
|
|
|
resizeable obj_id[] filteredDefenders = new obj_id[0];
|
|
|
|
if(defenders != null && defenders.length > 0)
|
|
{
|
|
for(int i = 0; i < defenders.length; i++)
|
|
{
|
|
if(isIdValid(defenders[i]) && !isDead(defenders[i]) && isPlayer(defenders[i]))
|
|
{
|
|
filteredDefenders = utils.addElement(filteredDefenders, defenders[i]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(filteredDefenders != null && filteredDefenders.length > 0)
|
|
{
|
|
target = filteredDefenders[rand(0, filteredDefenders.length - 1)];
|
|
}
|
|
|
|
if(!combatStandardAction("ig88_flame_thrower_vertical", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
obj_id getRocketTarget(obj_id self, obj_id target)
|
|
{
|
|
obj_id dungeon = getTopMostContainer(self);
|
|
|
|
if(!isIdValid(dungeon))
|
|
{
|
|
return target;
|
|
}
|
|
|
|
// Get a new target
|
|
obj_id[] targets = trial.getNonStealthedTargetsInCell(dungeon, "r1");
|
|
|
|
if(targets == null || targets.length <= 0)
|
|
{
|
|
dictionary sessionDict = new dictionary();
|
|
|
|
messageTo(dungeon, "ig88_failed", sessionDict, 0, false);
|
|
|
|
return target;
|
|
}
|
|
|
|
target = targets[rand(0, targets.length - 1)];
|
|
|
|
if(!isIdValid(target))
|
|
{
|
|
debugSpeakMsg(self, "I couldn't find a valid target.");
|
|
return target;
|
|
}
|
|
|
|
return target;
|
|
}
|
|
|
|
commandHandler gcw_rocket_launch()
|
|
{
|
|
if(!combatStandardAction("ig88_rocket_launch", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Rocket launch particle
|
|
playClientEffectObj(self, "appearance/pt_gcw_rocket_launch.prt", self, "");
|
|
playClientEffectObj(self, "sound/wep_heavy_rocket_launcher.snd", self, "");
|
|
|
|
// Rocket target lock particle
|
|
playClientEffectLoc(target, "appearance/pt_ig88_rocket_target.prt", getLocation(target), 0f);
|
|
|
|
dictionary rocketParams = new dictionary();
|
|
|
|
rocketParams.put("loc", getLocation(target));
|
|
|
|
messageTo(self, "gcw_rocket_hit", rocketParams, 2f, false);
|
|
|
|
removeObjVar(self, "ai.combat.oneShotAction");
|
|
removeObjVar(self, "oneShotActionComplete");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_rocket_launcher()
|
|
{
|
|
if(!combatStandardAction("ig88_rocket_launcher", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler gcw_rocket_hit()
|
|
{
|
|
location loc = params.getLocation("loc");
|
|
|
|
// Rocket hit particle
|
|
playClientEffectLoc(self, "appearance/pt_gcw_rocket_hit.prt", loc, 0f);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_rocket_launch()
|
|
{
|
|
target = getRocketTarget(self, target);
|
|
|
|
LOG("combat_actions", "gcw ig88_rocket_launch 1");
|
|
|
|
if(!combatStandardAction("ig88_rocket_launch", self, target, params, "", ""))
|
|
{
|
|
LOG("combat_actions", "gcw ig88_rocket_launch FAIL self: " + self + " target: " + target + " params: " + params);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Rocket launch particle
|
|
playClientEffectObj(self, "appearance/pt_ig88_rocket_launch.prt", self, "");
|
|
playClientEffectObj(self, "sound/wep_heavy_rocket_launcher.snd", self, "");
|
|
|
|
// Rocket target lock particle
|
|
playClientEffectLoc(target, "appearance/pt_ig88_rocket_target.prt", getLocation(target), 0f);
|
|
|
|
dictionary rocketParams = new dictionary();
|
|
|
|
rocketParams.put("loc", getLocation(target));
|
|
|
|
messageTo(self, "ig88_rocket_hit", rocketParams, 2f, false);
|
|
|
|
removeObjVar(self, "ai.combat.oneShotAction");
|
|
removeObjVar(self, "oneShotActionComplete");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_rocket_launcher()
|
|
{
|
|
if(!combatStandardAction("ig88_rocket_launcher", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler ig88_rocket_hit()
|
|
{
|
|
location loc = params.getLocation("loc");
|
|
|
|
// Rocket hit particle
|
|
playClientEffectLoc(self, "appearance/pt_ig88_rocket_hit.prt", loc, 0f);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_shockwave()
|
|
{
|
|
location loc = getLocation(self);
|
|
|
|
string strLoc = "" + loc.x + " " + loc.y + " " + loc.z + " " + loc.cell + " " + loc.x + " " + loc.y + " " + loc.z;
|
|
|
|
if(!combatStandardAction("ig88_shockwave", self, target, strLoc, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ig88_grenade()
|
|
{
|
|
location loc = getLocation(self);
|
|
|
|
string strLoc = "" + loc.x + " " + loc.y + " " + loc.z + " " + loc.cell + " " + loc.x + " " + loc.y + " " + loc.z;
|
|
|
|
if(!combatStandardAction("ig88_grenade", self, target, strLoc, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler nandina_fester()
|
|
{
|
|
if (!combatStandardAction("nandina_fester", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler lelli_mine()
|
|
{
|
|
obj_id[] hateList = getHateList(self);
|
|
|
|
resizeable obj_id[] vectorList = hateList;
|
|
|
|
vectorList = utils.shuffleArray(vectorList);
|
|
|
|
for (int i=0;i<hateList.length && i<4;i++)
|
|
{
|
|
combatStandardAction("lelli_mine", self, hateList[i], params, "", "");
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler lelli_chain_cleave()
|
|
{
|
|
if (!combatStandardAction("lelli_chain_cleave", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kimaru_storm_pulse()
|
|
{
|
|
if (!combatStandardAction("kimaru_storm_pulse", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kimaru_generate_storm()
|
|
{
|
|
obj_id[] hateList = getHateList(self);
|
|
location loc1 = new location(-63.6f, 16.f, 36.4f, "dungeon1", getCellId(trial.getTop(self), "r2"));
|
|
location loc2 = new location(-69.8f, 15.0f, 9.6f, "dungeon1", getCellId(trial.getTop(self), "r2"));
|
|
location loc3 = new location(-44.4f, 9f, 1.5f, "dungeon1", getCellId(trial.getTop(self), "r2"));
|
|
location loc4 = new location(-42.7f, 10.3f, 20.9f, "dungeon1", getCellId(trial.getTop(self), "r2"));
|
|
location[] locList = {loc1, loc2, loc3, loc4};
|
|
|
|
|
|
for (int i=0;i<4;i++)
|
|
{
|
|
obj_id storm = create.object("kimaru_force_storm", locList[i]);
|
|
playClientEffectLoc(hateList[0], "appearance/pt_kimaru_force_storm_birth.prt", locList[i], 0.0f);
|
|
setMaster(storm, self);
|
|
utils.setScriptVar(storm, trial.KIMARU_HATE_LIST, hateList);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kimaru_flame_patch()
|
|
{
|
|
obj_id[] hateList = getHateList(self);
|
|
location loc = getLocation(hateList[rand(0, hateList.length -1)]);
|
|
string targetLoc = ""+loc.x+" "+loc.y+" "+loc.z+" "+loc.cell+" "+loc.x+" "+loc.y+" "+loc.z;
|
|
|
|
if (!combatStandardAction("kimaru_flame_patch", self, target, targetLoc, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler heat_aspect()
|
|
{
|
|
if (!combatStandardAction("heat_aspect", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler acid_aspect()
|
|
{
|
|
if (!combatStandardAction("acid_aspect", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler elec_aspect()
|
|
{
|
|
if (!combatStandardAction("elec_aspect", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler cold_aspect()
|
|
{
|
|
if (!combatStandardAction("cold_aspect", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler axkva_contagion_bomb()
|
|
{
|
|
if (!combatStandardAction("axkva_contagion_bomb", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler axkva_contagion()
|
|
{
|
|
if (!combatStandardAction("axkva_contagion", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler axkva_force_storm()
|
|
{
|
|
if (!combatStandardAction("axkva_force_storm", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler axkva_whirl_blast()
|
|
{
|
|
if (!combatStandardAction("axkva_whirl_blast", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler suin_rampage()
|
|
{
|
|
if (!combatStandardAction("suin_rampage", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler suin_healing_debuff()
|
|
{
|
|
if (!combatStandardAction("suin_healing_debuff", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler axkva_warden_flame()
|
|
{
|
|
if (!combatStandardAction("axkva_warden_flame", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler macy_ywing_bomb()
|
|
{
|
|
if (!combatStandardAction("macy_ywing_bomb", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kav_tuken_killer()
|
|
{
|
|
if (!combatStandardAction("kav_tuken_killer", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler king_rend()
|
|
{
|
|
if (!combatStandardAction("king_rend", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler king_head_crack()
|
|
{
|
|
if (!combatStandardAction("king_head_crack", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler king_sandstorm()
|
|
{
|
|
if (!combatStandardAction("king_sandstorm", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler axkva_drain()
|
|
{
|
|
if (!combatStandardAction("axkva_drain", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler axkva_crystalize()
|
|
{
|
|
obj_id[] hateList = getHateList(self);
|
|
obj_id topHate = getHateTarget(self);
|
|
obj_id target1 = null;
|
|
obj_id target2 = null;
|
|
|
|
resizeable obj_id[] targets = new obj_id[0];
|
|
|
|
if (hateList == null || hateList.length == 0)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
for (int i=0;i<hateList.length;i++)
|
|
{
|
|
if (hateList[i] != topHate && !buff.hasBuff(hateList[i], "axkva_crystalize"))
|
|
targets.add(hateList[i]);
|
|
}
|
|
|
|
if (targets == null || targets.length == 0)
|
|
{
|
|
if (!buff.hasBuff(topHate, "axkva_crystalize"))
|
|
target1 = topHate;
|
|
}
|
|
else
|
|
{
|
|
target1 = targets[rand(0, targets.length -1)];
|
|
targets.remove(target1);
|
|
|
|
if (targets.length > 0)
|
|
{
|
|
target2 = targets[rand(0, targets.length -1)];
|
|
}
|
|
}
|
|
|
|
if (isIdValid(target1))
|
|
{
|
|
utils.setScriptVar(target1, "axkva_min", self);
|
|
buff.applyBuff(target1, self, "axkva_crystalize");
|
|
}
|
|
|
|
if (isIdValid(target2))
|
|
{
|
|
utils.setScriptVar(target2, "axkva_min", self);
|
|
buff.applyBuff(target2, self, "axkva_crystalize");
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler stasis_recourse()
|
|
{
|
|
if(!buff.hasBuff(self, "stasis_recourse") )
|
|
buff.applyBuff(self, self, "stasis_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler grenadier_cold()
|
|
{
|
|
location loc = getLocation(target);
|
|
string targetLoc = ""+loc.x+" "+loc.y+" "+loc.z+" "+loc.cell+" "+loc.x+" "+loc.y+" "+loc.z;
|
|
|
|
if (!combatStandardAction("grenadier_cold", self, target, targetLoc, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
clearOneShotAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler grenadier_heat()
|
|
{
|
|
|
|
location loc = getLocation(target);
|
|
string targetLoc = ""+loc.x+" "+loc.y+" "+loc.z+" "+loc.cell+" "+loc.x+" "+loc.y+" "+loc.z;
|
|
|
|
if (!combatStandardAction("grenadier_heat", self, target, targetLoc, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
clearOneShotAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler grenadier_acid()
|
|
{
|
|
location loc = getLocation(target);
|
|
string targetLoc = ""+loc.x+" "+loc.y+" "+loc.z+" "+loc.cell+" "+loc.x+" "+loc.y+" "+loc.z;
|
|
|
|
if (!combatStandardAction("grenadier_acid", self, target, targetLoc, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
clearOneShotAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler grenadier_kinetic()
|
|
{
|
|
location loc = getLocation(target);
|
|
string targetLoc = ""+loc.x+" "+loc.y+" "+loc.z+" "+loc.cell+" "+loc.x+" "+loc.y+" "+loc.z;
|
|
|
|
if (!combatStandardAction("grenadier_kinetic", self, target, targetLoc, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
clearOneShotAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
void clearOneShotAction(obj_id self)
|
|
{
|
|
setObjVar(self, "ai.combat.oneShotAction", "non_attack");
|
|
}
|
|
|
|
commandHandler krix_burn()
|
|
{
|
|
if (!combatStandardAction("krix_burn", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ito_nerve_gas()
|
|
{
|
|
if(!combatStandardAction("ito_nerve_gas", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
playClientEffectLoc(self, "appearance/pt_sd_ito_nerve_gas.prt", getLocation(self), 0);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kenkirk_droid_blast()
|
|
{
|
|
location loc = getLocation(target);
|
|
|
|
string strLoc = "" + loc.x + " " + loc.y + " " + loc.z + " " + loc.cell + " " + loc.x + " " + loc.y + " " + loc.z;
|
|
|
|
if(!combatStandardAction("kenkirk_droid_blast", self, target, strLoc, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
playClientEffectLoc(target, "appearance/pt_sd_kenkirk_hallway_strike.prt", getLocation(target), 0f);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sd_obliterate()
|
|
{
|
|
if(!combatStandardAction("sd_obliterate", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler krix_megaburn()
|
|
{
|
|
if(!combatStandardAction("krix_megaburn", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler krix_megapatch()
|
|
{
|
|
if(!combatStandardAction("krix_megapatch", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler vicious_swing()
|
|
{
|
|
if(!combatStandardAction("vicious_swing", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler sp_action_regen()
|
|
{
|
|
if(!combatStandardAction("sp_action_regen", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sm_modify_pistol_1()
|
|
{
|
|
obj_id module = utils.getStaticItemInInventory(self, "item_reward_modify_pistol_01_01");
|
|
|
|
if(!isIdValid(module) || getCount(module) <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "pistol_module_missing"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "sm_modify_pistol_1") || buff.hasBuff(self, "sm_modify_pistol_2") || buff.hasBuff(self, "sm_modify_pistol_3"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "pistol_buff_exists"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("sm_modify_pistol_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
doAnimationAction(self, "reload");
|
|
|
|
decrementCount(module);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler sm_modify_pistol_2()
|
|
{
|
|
obj_id module = utils.getStaticItemInInventory(self, "item_reward_modify_pistol_01_01");
|
|
|
|
if(!isIdValid(module) || getCount(module) <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "pistol_module_missing"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "sm_modify_pistol_1") || buff.hasBuff(self, "sm_modify_pistol_2") || buff.hasBuff(self, "sm_modify_pistol_3"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "pistol_buff_exists"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("sm_modify_pistol_2", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
doAnimationAction(self, "reload");
|
|
|
|
decrementCount(module);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler sm_modify_pistol_3()
|
|
{
|
|
obj_id module = utils.getStaticItemInInventory(self, "item_reward_modify_pistol_01_01");
|
|
|
|
if(!isIdValid(module) || getCount(module) <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "pistol_module_missing"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(buff.hasBuff(self, "sm_modify_pistol_1") || buff.hasBuff(self, "sm_modify_pistol_2") || buff.hasBuff(self, "sm_modify_pistol_3"))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "pistol_buff_exists"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("sm_modify_pistol_3", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
doAnimationAction(self, "reload");
|
|
|
|
decrementCount(module);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler kun_one_sacrifice()
|
|
{
|
|
if (!combatStandardAction("kun_one_sacrifice", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_two_sacrifice()
|
|
{
|
|
if (!combatStandardAction("kun_two_sacrifice", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_three_sacrifice()
|
|
{
|
|
if (!combatStandardAction("kun_three_sacrifice", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler kun_four_sacrifice()
|
|
{
|
|
if (!combatStandardAction("kun_four_sacrifice", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler kun_five_sacrifice()
|
|
{
|
|
if (!combatStandardAction("kun_five_sacrifice", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler kun_six_sacrifice()
|
|
{
|
|
if (!combatStandardAction("kun_six_sacrifice", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler kun_seven_sacrifice()
|
|
{
|
|
if (!combatStandardAction("kun_seven_sacrifice", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler kun_eight_sacrifice()
|
|
{
|
|
if (!combatStandardAction("kun_eight_sacrifice", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler open_cultist_drain()
|
|
{
|
|
if (!combatStandardAction("open_cultist_drain", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
dictionary dict = new dictionary();
|
|
dict.put("target", target);
|
|
messageTo(self, "handle_drain_anim", dict, 0.0f, false);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bm_siphon_master()
|
|
{
|
|
if (!combatStandardAction("bm_siphon_master", self, target, params, "", "", true))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler minder_luresh_drain()
|
|
{
|
|
if (!combatStandardAction("minder_luresh_drain", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler closed_fist_cleave()
|
|
{
|
|
if (!combatStandardAction("closed_fist_cleave", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler closed_fist_toss()
|
|
{
|
|
if (!combatStandardAction("closed_fist_toss", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler closed_fist_burn()
|
|
{
|
|
if (!combatStandardAction("closed_fist_burn", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler closed_fist_burn_damage()
|
|
{
|
|
if (!combatStandardAction("closed_fist_burn_damage", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler lasher_increase_pain()
|
|
{
|
|
if (!combatStandardAction("lasher_increase_pain", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler subduer_decrease_damage()
|
|
{
|
|
if (!combatStandardAction("subduer_decrease_damage", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler lasher_strike()
|
|
{
|
|
if (!combatStandardAction("lasher_strike", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler subduer_strike()
|
|
{
|
|
if (!combatStandardAction("subduer_strike", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler tomb_guard_cleave()
|
|
{
|
|
if (!combatStandardAction("tomb_guard_cleave", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler tomb_guard_toss()
|
|
{
|
|
if (!combatStandardAction("tomb_guard_toss", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler caretaker_blast()
|
|
{
|
|
if (!combatStandardAction("caretaker_blast", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler caretaker_drain()
|
|
{
|
|
if (!combatStandardAction("caretaker_drain", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler caretaker_shield()
|
|
{
|
|
if (!combatStandardAction("caretaker_shield", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler caretaker_shield_reflect()
|
|
{
|
|
if (!combatStandardAction("caretaker_shield_reflect", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler caretaker_vapors()
|
|
{
|
|
if (!combatStandardAction("caretaker_vapors", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler ct_guard_buff()
|
|
{
|
|
if (!combatStandardAction("ct_guard_buff", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_order_set()
|
|
{
|
|
if (!combatStandardAction("kun_order_set", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_chaos_set()
|
|
{
|
|
if (!combatStandardAction("kun_chaos_set", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler kun_order_discipline()
|
|
{
|
|
if (!combatStandardAction("kun_order_discipline", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_chaos_discord()
|
|
{
|
|
if (!combatStandardAction("kun_chaos_discord", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler executioner_swipe()
|
|
{
|
|
if (!combatStandardAction("executioner_swipe", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_wrath_cold()
|
|
{
|
|
if (!combatStandardAction("kun_wrath_cold", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_wrath_heat()
|
|
{
|
|
if (!combatStandardAction("kun_wrath_heat", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_wrath_electrical()
|
|
{
|
|
if (!combatStandardAction("kun_wrath_electrical", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_wrath_acid()
|
|
{
|
|
if (!combatStandardAction("kun_wrath_acid", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_wrath_ward()
|
|
{
|
|
if (!combatStandardAction("kun_wrath_ward", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_veng_slam()
|
|
{
|
|
if (!combatStandardAction("kun_veng_slam", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_veng_wave()
|
|
{
|
|
if (!combatStandardAction("kun_veng_wave", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler kun_open_coil()
|
|
{
|
|
if (!combatStandardAction("kun_open_coil", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_word_coil()
|
|
{
|
|
if (!combatStandardAction("kun_word_coil", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_word_flurry()
|
|
{
|
|
if (!combatStandardAction("kun_word_flurry", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler kun_word_shaken()
|
|
{
|
|
if (!combatStandardAction("kun_word_shaken", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler kun_sword_multi()
|
|
{
|
|
string[] actions =
|
|
{"kun_word_flurry",
|
|
"kun_sword_break",
|
|
"kun_sword_cleave",
|
|
"kun_sword_defensive"
|
|
};
|
|
|
|
queueCommand(self, getStringCrc(actions[rand(0, actions.length - 1)].toLowerCase()), getHateTarget(self), "", COMMAND_PRIORITY_DEFAULT);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_sword_break()
|
|
{
|
|
if (!combatStandardAction("kun_sword_break", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
|
|
}
|
|
|
|
commandHandler kun_sword_cleave()
|
|
{
|
|
if (!combatStandardAction("kun_sword_cleave", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler kun_sword_defensive()
|
|
{
|
|
if (!combatStandardAction("kun_sword_defensive", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler dire_root_recourse()
|
|
{
|
|
if (!buff.hasBuff(self, "dire_root_recourse"))
|
|
buff.applyBuff(self, self, "dire_root_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler dire_snare_recourse()
|
|
{
|
|
if (!buff.hasBuff(self, "dire_snare_recourse"))
|
|
buff.applyBuff(self, self, "dire_snare_recourse");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler bountycheck()
|
|
{
|
|
obj_id originalTarget = target;
|
|
if(bounty_hunter.canCheckForBounty(self, target))
|
|
{
|
|
doAnimationAction(self, "anims.PLAYER_DRAW_DATAPAD");
|
|
|
|
if(bounty_hunter.checkForPresenceOfBounty(self, target))
|
|
{
|
|
location spawnLoc = getLocation(target);
|
|
setHealth(target, -5000);
|
|
trial.cleanupObject(target);
|
|
bounty_hunter.spawnFugitive(self, spawnLoc);
|
|
}
|
|
else
|
|
{
|
|
utils.setScriptVar(target,"bountyCheck",self); // this target checked for bounty and found none. No bounty this target for the player that did the check.
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(isGod(self))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if(!exists(originalTarget))
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
commandHandler fs_drain_1()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_drain_1", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_drain_2()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_drain_2", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_drain_3()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_drain_3", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_drain_4()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_drain_4", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_drain_5()
|
|
{
|
|
if(!buff.isInFocus(self))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "fs_command_no_focus"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("fs_drain_5", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler col_jedi_statue_light_debuff()
|
|
{
|
|
if (!combatStandardAction("col_jedi_statue_light_debuff", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler col_jedi_statue_dark_debuff()
|
|
{
|
|
if (!combatStandardAction("col_jedi_statue_dark_debuff", self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
//single target DoT application.
|
|
commandHandler co_hw_dot()
|
|
{
|
|
obj_id weapon = getCurrentWeapon(self);
|
|
string finalAttackName = heavyweapons.getHeavyWeaponDotName(self, weapon, true);
|
|
|
|
if(finalAttackName == null || finalAttackName.equals(""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction(finalAttackName, self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
//AoE target DoT application.
|
|
commandHandler co_ae_hw_dot()
|
|
{
|
|
obj_id weapon = getCurrentWeapon(self);
|
|
string finalAttackName = heavyweapons.getHeavyWeaponDotName(self, weapon, false);
|
|
|
|
if(finalAttackName == null || finalAttackName.equals(""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (!combatStandardAction(finalAttackName, self, target, params, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_1()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_2()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_3()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_4()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_5()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_6()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_crit_1()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_crit_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_crit_2()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_crit_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_crit_3()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_crit_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_crit_4()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_crit_4", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_crit_5()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_crit_5", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_hw_dm_crit_6()
|
|
{
|
|
if (!combatStandardAction("co_hw_dm_crit_6", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_cluster_bomb()
|
|
{
|
|
if (!combatStandardAction("co_cluster_bomb", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
location centerLoc = getLocation(target);
|
|
int extraBomb = getEnhancedSkillStatisticModifierUncapped(self, "expertise_co_cluster_bomblet");
|
|
|
|
int bombCount = 4 + extraBomb;
|
|
|
|
for (int i=0;i<bombCount;i++)
|
|
{
|
|
float randx = rand(4.0f, 6.0f);
|
|
float randz = rand(4.0f, 6.0f);
|
|
randx = rand(0,1) == 1 ? randx * - 1 : randx;
|
|
randz = rand(0,1) == 1 ? randz * - 1 : randz;
|
|
|
|
float x = centerLoc.x + randx;
|
|
float z = centerLoc.z + randz;
|
|
|
|
string targetLoc = x+" "+centerLoc.y+" "+z+" "+centerLoc.cell+" "+x+" "+centerLoc.y+" "+z;
|
|
queueCommand(self, ##"co_cluster_bomblet", target, targetLoc, COMMAND_PRIORITY_IMMEDIATE);
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_cluster_bomblet()
|
|
{
|
|
if (!combatStandardAction("co_cluster_bomblet", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_killing_spree()
|
|
{
|
|
if (!combatStandardAction("co_killing_spree", self, target, params, "", ""))
|
|
{
|
|
|
|
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_empowered_attack()
|
|
{
|
|
if (!combatStandardAction("co_empowered_attack", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_first_aid_training()
|
|
{
|
|
if (!combatStandardAction("co_first_aid_training", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_double_time()
|
|
{
|
|
if (!combatStandardAction("co_double_time", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (buff.hasBuff(self, "co_position_secured"))
|
|
buff.removeBuff(self, "co_position_secured");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler co_killing_spree_attack()
|
|
{
|
|
if (!combatStandardAction("co_killing_spree_attack", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_speeder_bolt()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
{
|
|
removeDefaultAttackOverride(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
obj_id speeder = getMountId(self);
|
|
if (utils.getIntScriptVar(speeder, "airborne") != 1)
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float height = vehicle.getHoverHeight(speeder);
|
|
location farTarget = utils.findLocInFrontOfTarget(speeder, height * 25.0f);
|
|
obj_id [] allTar = getObjectsInCone(speeder, farTarget, height * 25.0f, 2.0f);
|
|
|
|
resizeable obj_id[] validTargets = new obj_id[0];
|
|
|
|
if (allTar == null || allTar.length == 0)
|
|
{
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/turret/shared_turret_energy.iff", speeder, "muzzle", farTarget, 200.0f, 1.0f, false, 0,0,0,0);
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/turret/shared_turret_energy.iff", speeder, "muzzle2", farTarget, 200.0f, 1.0f, false, 0,0,0,0);
|
|
play2dNonLoopingSound(self, "sound/hoth_snowspeeder_blaster_fire_01.snd");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
for (int i=0;i<allTar.length;i++)
|
|
{
|
|
|
|
if (allTar[i] == self || allTar[i] == speeder)
|
|
continue;
|
|
|
|
if (!pvpCanAttack(self, allTar[i]))
|
|
continue;
|
|
if(isDead(allTar[i]))
|
|
continue;
|
|
|
|
validTargets.add(allTar[i]);
|
|
}
|
|
|
|
if (validTargets == null || validTargets.length == 0)
|
|
{
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/turret/shared_turret_energy.iff", speeder, "muzzle", farTarget, 200.0f, 1.0f, false, 0,0,0,0);
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/turret/shared_turret_energy.iff", speeder, "muzzle2", farTarget, 200.0f, 1.0f, false, 0,0,0,0);
|
|
play2dNonLoopingSound(self, "sound/hoth_snowspeeder_blaster_fire_01.snd");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
float minRange = height * 3.0f;
|
|
for (int i=0;i<validTargets.length;i++)
|
|
{
|
|
if (ai_lib.isVehicle(validTargets[i]) && getDistance(speeder, target) > minRange)
|
|
{
|
|
target = validTargets[i];
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!isIdValid(target))
|
|
target = validTargets[rand(0, validTargets.length - 1)];
|
|
|
|
|
|
if (!isIdValid(target) || !exists(target))
|
|
{
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/turret/shared_turret_energy.iff", speeder, "muzzle", farTarget, 200.0f, 1.0f, false, 0,0,0,0);
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/turret/shared_turret_energy.iff", speeder, "muzzle2", farTarget, 200.0f, 1.0f, false, 0,0,0,0);
|
|
play2dNonLoopingSound(self, "sound/hoth_snowspeeder_blaster_fire_01.snd");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
queueCommand(self, ##"hoth_speeder_shoot", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
float travelDistance = getDistance(target, self);
|
|
|
|
createClientProjectileObjectToObject(self, "object/weapon/ranged/turret/shared_turret_energy.iff", getMountId(self), "muzzle", target, "", 200.0f, 1.0f, false, 0, 0, 0, 0);
|
|
createClientProjectileObjectToObject(self, "object/weapon/ranged/turret/shared_turret_energy.iff", getMountId(self), "muzzle2", target, "", 200.0f, 1.0f, false, 0, 0, 0, 0);
|
|
play2dNonLoopingSound(self, "sound/hoth_snowspeeder_blaster_fire_01.snd");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_speeder_shoot()
|
|
{
|
|
if (!combatStandardAction("hoth_speeder_shoot", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler hoth_speeder_up()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
obj_id mount = getMountId(self);
|
|
float height = vehicle.getHoverHeight(mount);
|
|
int active = utils.getIntScriptVar(mount, "airborne");
|
|
|
|
if (active == 0)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (height > 12.0f)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
height = height + 2.0f;
|
|
height = height > 16.0f ? 16.0f : height;
|
|
|
|
vehicle.setDampingHeight(mount, 100.0f);
|
|
vehicle.setGlide(mount, 100.0f);
|
|
|
|
vehicle.setHoverHeight(mount, height);
|
|
|
|
messageTo(self, "hoth_speeder_up_reset", null, 1.0f, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler hoth_speeder_up_reset()
|
|
{
|
|
obj_id mount = getMountId(self);
|
|
vehicle.setDampingHeight(mount, 0.1f);
|
|
vehicle.setGlide(mount, 2.5f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_speeder_down()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
obj_id mount = getMountId(self);
|
|
float height = vehicle.getHoverHeight(mount);
|
|
|
|
int active = utils.getIntScriptVar(mount, "airborne");
|
|
|
|
if (active == 0)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
if (height < 1.0f)
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
height = height - 2.0f;
|
|
height = height < 5.0f ? 5.0f : height;
|
|
|
|
vehicle.setDampingHeight(mount, 100.0f);
|
|
vehicle.setGlide(mount, 100.0f);
|
|
|
|
vehicle.setHoverHeight(mount, height);
|
|
|
|
messageTo(self, "hoth_speeder_down_reset", null, 1.0f, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler hoth_speeder_down_reset()
|
|
{
|
|
obj_id mount = getMountId(self);
|
|
vehicle.setDampingHeight(mount, 0.1f);
|
|
vehicle.setGlide(mount, 2.5f);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_sapper_place()
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_sapper_detonate()
|
|
{
|
|
if (!combatStandardAction("hoth_sapper_detonate", self, target, params, "", ""))
|
|
{
|
|
stopCombat(self);
|
|
clearHateList(self);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
kill(self);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_commando_rocket()
|
|
{
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
commandHandler hoth_scout_shield()
|
|
{
|
|
if (!vehicle.isRidingBattlefieldVehicle(self))
|
|
{
|
|
removeDefaultAttackOverride(self);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
obj_id vehicleId = getMountId(self);
|
|
|
|
|
|
int stasisBuff = buff.getBuffOnTargetFromGroup(vehicleId, "stasis");
|
|
if(stasisBuff !=0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if(!buff.canApplyBuff(vehicleId, "hoth_scout_shield"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
if(!combatStandardAction("hoth_scout_shield", vehicleId, self, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_scout_cannon()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
{
|
|
removeDefaultAttackOverride(self);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("hoth_scout_cannon", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
location eggLoc = combat.getCommandGroundTargetLocation(params);
|
|
location myLoc = getLocation(self);
|
|
|
|
float travelDistance = getDistance(myLoc, eggLoc);
|
|
float speed = travelDistance;
|
|
//need to play a client effect sound.
|
|
playClientEffectObj(self, "sound/wep_veh_blaster.snd", self, "");
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/turret/shared_turret_energy.iff", getMountId(self), "muzzle3", eggLoc, 150.0f, 1.0f, false, 0, 0, 0, 0);
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/turret/shared_turret_energy.iff", getMountId(self), "muzzle" , eggLoc, 150.0f, 1.0f, false, 0, 0, 0, 0);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_scout_ear_gun()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
{
|
|
removeDefaultAttackOverride(self);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("hoth_scout_ear_gun", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
float travelDistance = getDistance(target, self);
|
|
float speed = travelDistance;
|
|
|
|
playClientEffectObj(self, "sound/wep_veh_blaster.snd", self, "");
|
|
createClientProjectileObjectToObject(self, "object/weapon/ranged/rifle/shared_rifle_dlt20a.iff", getMountId(self), "muzzle2", target, "", 150.0f, 1.0f, false, 0, 0, 0, 0);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_scout_ear_gun_switch()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
{
|
|
removeDefaultAttackOverride(self);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
removeDefaultAttackOverride(self);
|
|
overrideDefaultAttack(self, "hoth_scout_ear_gun");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_scout_rocket_switch()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
{
|
|
removeDefaultAttackOverride(self);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
removeDefaultAttackOverride(self);
|
|
overrideDefaultAttack(self, "hoth_scout_rocket");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
|
|
commandHandler hoth_scout_rocket()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
{
|
|
removeDefaultAttackOverride(self);
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
|
|
|
|
if(!combatStandardAction("hoth_scout_rocket", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
location eggLoc = combat.getCommandGroundTargetLocation(params);
|
|
location myLoc = getLocation(self);
|
|
createClientProjectileObjectToLocation(self, "object/weapon/ranged/rifle/shared_quest_rifle_flame_thrower.iff", getMountId(self), "muzzle4", eggLoc, 150.0f, 2.0f, false, 0, 0, 0, 0);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_atat_shoot()
|
|
{
|
|
if (!combatStandardAction("hoth_atat_shoot", self, target, params, "", ""))
|
|
{
|
|
string targetName = getCreatureName(target);
|
|
if(targetName == null)
|
|
{
|
|
targetName = getPlayerName(target);
|
|
}
|
|
LOG("slapHappy", "ATAT has Damaged: " + target + " ( " + targetName + " )");
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_atat_vehicle_shoot()
|
|
{
|
|
if(!isIdValid(target))
|
|
{
|
|
LOG("maggie", "hoth_atat_vehicle_shoot:::: TARGET is INVALID");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if(!isIdValid(self))
|
|
{
|
|
LOG("maggie", "hoth_atat_vehicle_shoot:::: SELF is INVALID");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if(!combatStandardAction("hoth_atat_vehicle_shoot", self, target, params, "", ""))
|
|
{
|
|
LOG("maggie", "hoth_atat_vehicle_shoot:::: Hit Called");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_speeder_takeoff()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
obj_id mount = getMountId(self);
|
|
|
|
vehicle.setMinimumSpeed(mount, 29.99f);
|
|
vehicle.setMaximumSpeed(mount, 30.0f);
|
|
vehicle.setTurnRateMin(mount, 28.0f);
|
|
vehicle.setTurnRateMax(mount, 28.0f);
|
|
vehicle.setAccelMin(mount, 25.0f);
|
|
vehicle.setAccelMax(mount, 25.0f);
|
|
vehicle.setDecel(mount, 300.0f);
|
|
vehicle.setDampingRoll(mount, 1.0f);
|
|
vehicle.setDampingPitch(mount, 1.0f);
|
|
vehicle.setDampingHeight(mount, 0.1f);
|
|
vehicle.setGlide(mount, 2.5f);
|
|
vehicle.setBankingAngle(mount, 50.0f);
|
|
vehicle.setHoverHeight(mount, 10.0f);
|
|
vehicle.setAutoLevelling(mount, 0.25f);
|
|
vehicle.setStrafe(mount, false);
|
|
utils.setScriptVar(mount, "airborne", 1);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_speeder_land()
|
|
{
|
|
if (!vehicle.isRidingVehicle(self))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
obj_id mount = getMountId(self);
|
|
vehicle.initializeVehicle(mount);
|
|
|
|
utils.setScriptVar(mount, "airborne", 0);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_ai_speeder_shoot()
|
|
{
|
|
//LOG("maggie", "Hoth_AI_SPEEDER_SHOOT Called");
|
|
if(!isIdValid(target))
|
|
{
|
|
LOG("maggie", "hoth_ai_speeder_shoot:::: TARGET is INVALID");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
if(!isIdValid(self))
|
|
{
|
|
LOG("maggie", "hoth_ai_speeder_shoot:::: SELF is INVALID");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
if(!combatStandardAction("hoth_ai_speeder_shoot", self, target, params, "", ""))
|
|
{
|
|
LOG("maggie", "hoth_ai_speeder_shoot:::: Hit Called");
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler wampa_boss_ice_throw_prep()
|
|
{
|
|
if ( !combatStandardAction("wampa_boss_ice_throw_prep", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler wampa_boss_ice_throw()
|
|
{
|
|
if ( !combatStandardAction("wampa_boss_ice_throw", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler wampa_boss_tauntaun_throw_prep()
|
|
{
|
|
if ( combatStandardAction("wampa_boss_tauntaun_throw_prep", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler wampa_boss_tauntaun_throw()
|
|
{
|
|
if ( !combatStandardAction("wampa_boss_tauntaun_throw", self, target, params, "", "") )
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler hoth_atat_mine()
|
|
{
|
|
location loc = getLocation(self);
|
|
string targetLoc = ""+loc.x+" "+loc.y+" "+loc.z+" "+loc.cell+" "+loc.x+" "+loc.y+" "+loc.z;
|
|
|
|
if (!combatStandardAction("hoth_atat_mine", self, target, targetLoc, "", ""))
|
|
return SCRIPT_OVERRIDE;
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler vader_force_choke()
|
|
{
|
|
if(isPlayer(self))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("vader_force_choke", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
boolean performMedicGroupBuff(obj_id medic, obj_id target, string buffName, string params)
|
|
{
|
|
if(!isIdValid(medic) || !exists(medic))
|
|
{
|
|
return false;
|
|
}
|
|
if(!isIdValid(target) || !exists(target))
|
|
{
|
|
return false;
|
|
}
|
|
if(buffName == null || buffName.length() <= 0)
|
|
{
|
|
return false;
|
|
}
|
|
if(params == null || params.length() <= 0)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
obj_id tgId = getGroupObject(target);
|
|
obj_id sgId = getGroupObject(medic);
|
|
boolean performed_buff = false;
|
|
|
|
if (!isIdValid(tgId) || !isIdValid(sgId) || sgId != tgId)
|
|
{
|
|
performed_buff |= combatStandardAction(buffName, medic, target, params, "", "");
|
|
obj_id beast = beast_lib.getBeastOnPlayer(target);
|
|
if (isIdValid(beast) && exists(beast) && !isDead(beast) && getDistance(medic, beast) < 72.0f)
|
|
{
|
|
performed_buff |= combatStandardAction(buffName, medic, beast, params, "", "");
|
|
}
|
|
|
|
if (!performed_buff)
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
obj_id[] members = getGroupMemberIds(sgId);
|
|
|
|
for (int i=0;i<members.length;i++)
|
|
{
|
|
if (isIdValid(members[i]) && exists(members[i]) && !isDead(members[i]) && canSee(medic, members[i]) && getDistance(medic, members[i]) < 72.0f)
|
|
{
|
|
performed_buff |= combatStandardAction(buffName, medic, members[i], params, "", "");
|
|
obj_id beast = beast_lib.getBeastOnPlayer(members[i]);
|
|
if (isIdValid(beast) && exists(beast) && !isDead(beast) && getDistance(medic, beast) < 72.0f)
|
|
{
|
|
performed_buff |= combatStandardAction(buffName, medic, beast, params, "", "");
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
return performed_buff;
|
|
}
|
|
|
|
commandHandler sp_smoke_mirrors()
|
|
{
|
|
if (!combatStandardAction("sp_smoke_mirrors", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler sp_shifty_setup()
|
|
{
|
|
if(!stealth.hasInvisibleBuff(self) && !buff.hasBuff(self, "sp_smoke_mirrors"))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("sp_shifty_setup", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fireCr1BlastCannon()
|
|
{
|
|
if(!combatStandardAction("fireCr1BlastCannon", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_flame_jet_1()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.fire_potency");
|
|
|
|
if(commandPotency <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_flame_jet_1", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_flame_jet_2()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.fire_potency");
|
|
|
|
if(commandPotency < 50)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_flame_jet_2", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_flame_jet_3()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.fire_potency");
|
|
|
|
if(commandPotency < 100)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_flame_jet_3", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_flame_jet_1()
|
|
{
|
|
if(!combatStandardAction("server_droid_flame_jet_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
string template = getTemplateName(self);
|
|
|
|
if(template.equals("object/mobile/magnaguard.iff"))
|
|
{
|
|
playClientEffectObj(self, "appearance/pt_droid_flame_jet_magnaguard.prt", self, "root", null, "flamejet");
|
|
}
|
|
else
|
|
{
|
|
playClientEffectObj(self, "appearance/pt_droid_flame_jet.prt", self, "root", null, "flamejet");
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_flame_jet_2()
|
|
{
|
|
if(!combatStandardAction("server_droid_flame_jet_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
string template = getTemplateName(self);
|
|
|
|
if(template.equals("object/mobile/magnaguard.iff"))
|
|
{
|
|
playClientEffectObj(self, "appearance/pt_droid_flame_jet_magnaguard.prt", self, "root", null, "flamejet");
|
|
}
|
|
else
|
|
{
|
|
playClientEffectObj(self, "appearance/pt_droid_flame_jet.prt", self, "root", null, "flamejet");
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_flame_jet_3()
|
|
{
|
|
if(!combatStandardAction("server_droid_flame_jet_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
string template = getTemplateName(self);
|
|
|
|
if(template.equals("object/mobile/magnaguard.iff"))
|
|
{
|
|
playClientEffectObj(self, "appearance/pt_droid_flame_jet_magnaguard.prt", self, "root", null, "flamejet");
|
|
}
|
|
else
|
|
{
|
|
playClientEffectObj(self, "appearance/pt_droid_flame_jet.prt", self, "root", null, "flamejet");
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_droideka_shield_1()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.shield_heatsink");
|
|
|
|
if(commandPotency <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("droid_droideka_shield_1", droid, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_droideka_shield_2()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
int commandPotency = getIntObjVar(droid, "module_data.shield_heatsink");
|
|
|
|
if(commandPotency < 50)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("droid_droideka_shield_2", droid, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_droideka_shield_3()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.shield_heatsink");
|
|
|
|
if(commandPotency < 100)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("droid_droideka_shield_3", droid, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_battery_dump_1()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.dump_capacitors");
|
|
|
|
if(commandPotency <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_battery_dump_1", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_battery_dump_2()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.dump_capacitors");
|
|
|
|
if(commandPotency < 50)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_battery_dump_2", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_battery_dump_3()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.dump_capacitors");
|
|
|
|
if(commandPotency < 100)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_battery_dump_3", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_battery_dump_1()
|
|
{
|
|
if(!combatStandardAction("server_droid_battery_dump_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_battery_dump_2()
|
|
{
|
|
if(!combatStandardAction("server_droid_battery_dump_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_battery_dump_3()
|
|
{
|
|
if(!combatStandardAction("server_droid_battery_dump_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_regenerative_plating_1()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.quickset_metal");
|
|
|
|
if(commandPotency <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_regenerative_plating_1", droid, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_regenerative_plating_2()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.quickset_metal");
|
|
|
|
if(commandPotency < 50)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_regenerative_plating_2", droid, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_regenerative_plating_3()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.quickset_metal");
|
|
|
|
if(commandPotency < 100)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_regenerative_plating_3", droid, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_regenerative_plating_1()
|
|
{
|
|
if(!combatStandardAction("server_droid_regenerative_plating_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_regenerative_plating_2()
|
|
{
|
|
if(!combatStandardAction("server_droid_regenerative_plating_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_regenerative_plating_3()
|
|
{
|
|
if(!combatStandardAction("server_droid_regenerative_plating_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_electrical_shock_1()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.arc_projector");
|
|
|
|
if(commandPotency <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_electrical_shock_1", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_electrical_shock_2()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.arc_projector");
|
|
|
|
if(commandPotency < 50)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_electrical_shock_2", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_electrical_shock_3()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.arc_projector");
|
|
|
|
if(commandPotency < 100)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_electrical_shock_3", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_electrical_shock_1()
|
|
{
|
|
if(!combatStandardAction("server_droid_electrical_shock_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_electrical_shock_2()
|
|
{
|
|
if(!combatStandardAction("server_droid_electrical_shock_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_electrical_shock_3()
|
|
{
|
|
if(!combatStandardAction("server_droid_electrical_shock_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_torturous_needle_1()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.pain_inducer");
|
|
|
|
if(commandPotency <= 0)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_torturous_needle_1", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_torturous_needle_2()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.pain_inducer");
|
|
|
|
if(commandPotency < 50)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_torturous_needle_2", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler droid_torturous_needle_3()
|
|
{
|
|
obj_id droid = pet_lib.validateDroidCommand(self);
|
|
|
|
if(!isIdValid(droid))
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
// Validate that this droid has a module that works.
|
|
int commandPotency = getIntObjVar(droid, "module_data.pain_inducer");
|
|
|
|
if(commandPotency < 100)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_use_droid_command"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
queueCommand(droid, ##"server_droid_torturous_needle_3", target, "", COMMAND_PRIORITY_IMMEDIATE);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_torturous_needle_1()
|
|
{
|
|
if(!combatStandardAction("server_droid_torturous_needle_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_torturous_needle_2()
|
|
{
|
|
if(!combatStandardAction("server_droid_torturous_needle_2", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler server_droid_torturous_needle_3()
|
|
{
|
|
if(!combatStandardAction("server_droid_torturous_needle_3", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler death_troopers_afflicted_toss()
|
|
{
|
|
if(!combatStandardAction("death_troopers_afflicted_toss", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler death_troopers_death_wing_afflict()
|
|
{
|
|
if(!combatStandardAction("death_troopers_death_wing_afflict", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
doAnimationAction(target, "heavy_cough_vomit");
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler death_troopers_afflicted_splat()
|
|
{
|
|
if(!combatStandardAction("death_troopers_afflicted_splat", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler death_troopers_afflicted_konk()
|
|
{
|
|
if(!combatStandardAction("death_troopers_afflicted_konk", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
//Boss Deadly Eye Shot
|
|
commandHandler of_dm_boss()
|
|
{
|
|
if (!combatStandardAction("of_dm_boss", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float baseCooldownTime = getBaseCooldownTime("of_dm_boss");
|
|
if(baseCooldownTime < 0)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_cooldown_line_of_sure");
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, baseCooldownTime - (cooldownTimeMod/10));
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Boss Seismic Grenade
|
|
commandHandler of_ae_dm_boss()
|
|
{
|
|
if(!combatStandardAction("of_ae_dm_boss", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
// Boss Orbital Strike
|
|
commandHandler of_del_ae_dm_boss()
|
|
{
|
|
|
|
if(getTopMostContainer(self) != self)
|
|
{
|
|
sendSystemMessage(self, new string_id("spam", "cant_do_indoors"));
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if (!combatStandardAction("of_del_ae_dm_boss", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
playClientEffectLoc(self, "clienteffect/combat_pt_orbitalstrike_low_pt.cef", getLocation(target), 0);
|
|
|
|
if(successfulFastAttack(self, "of_aoe"))
|
|
{
|
|
setCommandTimerValue(self, TIMER_COOLDOWN, 0f);
|
|
}
|
|
|
|
doInspiredAction(self);
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
boolean isInBlackwingInfectionedArea(obj_id self)
|
|
{
|
|
if ( locations.isInRegion(self, "@dathomir_region_names:black_mesa") )
|
|
return true;
|
|
|
|
obj_id building = getTopMostContainer(self);
|
|
if ( isIdValid(building) && getTemplateName(building).equals("object/building/dathomir/imperial_blackwing_facility.iff") )
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
boolean hasVaharaCodyAntiVirus(obj_id self)
|
|
{
|
|
if( utils.hasScriptVar(self, "outbreak.innoculated") || buff.hasBuff(self, "death_troopers_inoculation") )
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
messageHandler death_troopers_infection_1()
|
|
{
|
|
messageTo(self, "death_troopers_infection_1_delay", null, 0.5f, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler death_troopers_infection_1_delay()
|
|
{
|
|
if ( isInBlackwingInfectionedArea(self) )
|
|
{
|
|
if ( !hasVaharaCodyAntiVirus(self) )
|
|
{
|
|
buff.applyBuff(self, self, "death_troopers_infection_2");
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler death_troopers_infection_2()
|
|
{
|
|
messageTo(self, "death_troopers_infection_2_delay", null, 0.5f, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler death_troopers_infection_2_delay()
|
|
{
|
|
if ( isInBlackwingInfectionedArea(self) )
|
|
{
|
|
if( !hasVaharaCodyAntiVirus(self) )
|
|
{
|
|
trial.bumpSession(self, "outbreak_stacking_infection");
|
|
buff.applyBuff(self, self, "death_troopers_infection_3");
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler death_troopers_infection_3()
|
|
{
|
|
messageTo(self, "death_troopers_infection_3_delay", null, 0.5f, false);
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler death_troopers_infection_3_delay()
|
|
{
|
|
if ( isInBlackwingInfectionedArea(self) )
|
|
{
|
|
if( !hasVaharaCodyAntiVirus(self) )
|
|
{
|
|
buff.applyBuff(self, self, "death_troopers_infection_3");
|
|
}
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
messageHandler death_troopers_inoculation()
|
|
{
|
|
if ( isInBlackwingInfectionedArea(self) )
|
|
{
|
|
if( utils.hasScriptVar(self, "outbreak.innoculated") )
|
|
{
|
|
utils.removeScriptVar(self, "outbreak.innoculated");
|
|
}
|
|
|
|
buff.applyBuff(self, self, "death_troopers_infection_1");
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler gcw_atst_attack_tower()
|
|
{
|
|
LOG("gcw_vehicle", "gcw_atst_attack_tower");
|
|
|
|
if(!combatStandardAction("gcw_atst_attack_tower", self, target, params, "", ""))
|
|
{
|
|
LOG("gcw_vehicle", "gcw_atst_attack_tower 2");
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler firePulseCannon()
|
|
{
|
|
if(!combatStandardAction("firePulseCannon", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
}
|
|
|
|
commandHandler fs_saber_intercept_1()
|
|
{
|
|
if(self == target)
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
if(!combatStandardAction("fs_saber_intercept_1", self, target, params, "", ""))
|
|
{
|
|
return SCRIPT_OVERRIDE;
|
|
}
|
|
|
|
return SCRIPT_CONTINUE;
|
|
} |