spell_id = args.get_arg(0) # check that this spell was struck if evt_obj.data1 != spell_id: return 0 game.particles('sp-Mirror Image Loss', attachee) game.sound(32228,1) images = args.get_arg(2) if images <= 1: args.remove_spell() args.remove_spell_mod() else: args.set_arg(2, images-1) return 0 cond = PythonModifier('sp-Greater Mirror Image', 7) cond.AddHook(ET_OnGetTooltip,EK_NONE,MirrorTooltip,()) cond.AddHook(ET_OnGetEffectTooltip,EK_NONE,spellEffectTooltip,()) cond.AddHook(ET_OnBeginRound,EK_NONE,AddImage,()) cond.AddHook(ET_OnD20Query,EK_Q_Critter_Has_Mirror_Image,HasImage,()) cond.AddHook(ET_OnD20Query,EK_Q_Critter_Has_Spell_Active,queryActiveSpell,()) cond.AddHook(ET_OnD20Signal,EK_S_Killed,spellKilled,()) cond.AddHook(ET_OnD20Signal,EK_S_Spell_Mirror_Image_Struck,ImageStruck,()) cond.AddHook(ET_OnD20Signal,EK_S_Dismiss_Spells,checkRemoveSpell,()) cond.AddSpellDispelCheckStandard() cond.AddSpellTeleportPrepareStandard() cond.AddSpellTeleportReconnectStandard() cond.AddSpellCountdownStandardHook()
evt_obj.append(tpdp.hash("MIND_BLANK"), -2, " (" + str(args.get_arg(1)) + " rounds)") return 0 def MindBlankHasSpellActive(attachee, args, evt_obj): evt_obj.return_val = 1 return 0 def MindBlankKilled(attachee, args, evt_obj): args.remove_spell() args.remove_spell_mod() return 0 def MindBlankSpellEnd(attachee, args, evt_obj): print "MomentOfPrescienceSpellEnd" spell_id = args.get_arg(0) if evt_obj.data1 == spell_id: game.particles( 'sp-Mind Blank-END', attachee) return 0 mindBlank = PythonModifier("sp-Mind Blank", 4) mindBlank.AddHook(ET_OnSpellImmunityCheck, EK_NONE, MindBlankImmunity, ()) # spell_id, duration, spare, spare mindBlank.AddHook(ET_OnGetTooltip, EK_NONE, MindBlankTooltip, ()) mindBlank.AddHook(ET_OnGetEffectTooltip, EK_NONE, MindBlankEffectTooltip, ()) mindBlank.AddHook(ET_OnD20Signal, EK_S_Spell_End, MindBlankSpellEnd, ()) mindBlank.AddHook(ET_OnD20Query, EK_Q_Critter_Has_Spell_Active, MindBlankHasSpellActive, ()) mindBlank.AddHook(ET_OnD20Signal, EK_S_Killed, MindBlankKilled, ()) mindBlank.AddSpellDispelCheckStandard() mindBlank.AddSpellTeleportPrepareStandard() mindBlank.AddSpellTeleportReconnectStandard() mindBlank.AddSpellCountdownStandardHook()
def ForesightSpellEnd(attachee, args, evt_obj): spell_id = args.get_arg(0) if evt_obj.data1 == spell_id: game.particles( 'sp-Foresight-END', attachee) return 0 def ForesightHasSpellActive(attachee, args, evt_obj): if evt_obj.data1 == 186: evt_obj.return_val = 1 return 0 def ForesightKilled(attachee, args, evt_obj): args.remove_spell() args.remove_spell_mod() return 0 foresight = PythonModifier("sp-Foresight", 4) foresight.AddHook(ET_OnGetTooltip, EK_NONE, ForesightTooltip, ()) foresight.AddHook(ET_OnGetEffectTooltip, EK_NONE, ForesightEffectTooltip, ()) foresight.AddHook(ET_OnConditionAddPre, EK_NONE, ConditionImmunityOnPreAdd, ()) foresight.AddHook(ET_OnGetAC, EK_NONE, ForesightAcBonus, ()) foresight.AddHook(ET_OnSaveThrowLevel , EK_SAVE_REFLEX , ForesightReflexSaveBonus, ()) foresight.AddHook(ET_OnD20Signal, EK_S_Spell_End, ForesightSpellEnd, ()) foresight.AddHook(ET_OnD20Query, EK_Q_Critter_Has_Spell_Active, ForesightHasSpellActive, ()) foresight.AddHook(ET_OnD20Signal, EK_S_Killed, ForesightKilled, ()) foresight.AddSpellDispelCheckStandard() foresight.AddSpellTeleportPrepareStandard() foresight.AddSpellTeleportReconnectStandard() foresight.AddSpellCountdownStandardHook()
print "MomentOfPrescienceSpellEnd" spell_id = args.get_arg(0) if evt_obj.data1 == spell_id: game.particles('sp-Moment of Prescience-END', attachee) return 0 momentOfPrescience = PythonModifier("sp-Moment of Prescience", 6) # momentOfPrescience.AddHook(ET_OnBuildRadialMenuEntry, EK_NONE, MomentOfPrescienceRadial, ()) momentOfPrescience.AddHook(ET_OnGetTooltip, EK_NONE, MomentOfPrescienceTooltip, ()) momentOfPrescience.AddHook(ET_OnGetEffectTooltip, EK_NONE, MomentOfPrescienceEffectTooltip, ()) momentOfPrescience.AddHook(ET_OnGetAC, EK_NONE, MomentOfPrescienceAcBonus, ()) momentOfPrescience.AddHook(ET_OnSaveThrowLevel, EK_NONE, MomentOfPrescienceSaveBonus, ()) momentOfPrescience.AddHook(ET_OnToHitBonus2, EK_NONE, MomentOfPrescienceAttackBonus, ()) #momentOfPrescience.AddHook(ET_OnGetSkillLevel, EK_NONE, MomentOfPrescienceSkillCheck, ()) momentOfPrescience.AddHook(ET_OnD20Query, EK_Q_Critter_Has_Spell_Active, MomentOfPrescienceHasSpellActive, ()) momentOfPrescience.AddHook(ET_OnD20Signal, EK_S_Killed, MomentOfPrescienceKilled, ()) momentOfPrescience.AddHook(ET_OnD20Signal, EK_S_Spell_End, MomentOfPrescienceSpellEnd, ()) momentOfPrescience.AddSpellDispelCheckStandard() momentOfPrescience.AddSpellTeleportPrepareStandard() momentOfPrescience.AddSpellTeleportReconnectStandard() momentOfPrescience.AddSpellCountdownStandardHook()
MagicCircleOutwardAoEEntered, ()) magicCircleOutward.AddHook(ET_OnD20Query, EK_Q_Critter_Has_Spell_Active, MagicCircleOutwardHasSpellActive, ()) magicCircleOutward.AddHook(ET_OnD20Signal, EK_S_Killed, MagicCircleOutwardKilled, ()) magicCircleOutward.AddHook(ET_OnD20Signal, EK_S_Spell_End, MagicCircleOutwardSpellEnd, ()) magicCircleOutward.AddHook(ET_OnD20PythonQuery, "Has Magic Circle Spell", HasMagicCircleQuery, ()) magicCircleOutward.AddHook(ET_OnGetTooltip, EK_NONE, MagicCircleOutwardTooltip, ()) magicCircleOutward.AddHook(ET_OnGetEffectTooltip, EK_NONE, MagicCircleOutwardEffectTooltip, ()) magicCircleOutward.AddSpellDispelCheckStandard() magicCircleOutward.AddSpellTeleportPrepareStandard() magicCircleOutward.AddSpellTeleportReconnectStandard() magicCircleOutward.AddSpellCountdownStandardHook() def MagicCircleOutwardEffAoEExited(attachee, args, evt_obj): obj_evt_id = args.get_arg(0) if obj_evt_id != evt_obj.evt_id: print "Magic Circle Outward Aura: ID mismatch " + str( evt_obj.evt_id) + ", stored was: " + str(obj_evt_id) return 0 print "Magic Circle Outward Aura (ID " + str( obj_evt_id) + ") Exited, critter: " + attachee.description + " " args.condition_remove() return 0
def Remove(attachee, args, evt_obj): args.condition_remove() return 0 vertigo = PythonModifier('sp-Vertigo', 4) vertigo.AddHook(ET_OnGetTooltip, EK_NONE, spellTooltip, ()) vertigo.AddHook(ET_OnGetEffectTooltip, EK_NONE, spellEffectTooltip, ()) vertigo.AddHook(ET_OnToHitBonus2, EK_NONE, Penalty, ()) vertigo.AddHook(ET_OnSaveThrowLevel, EK_NONE, Penalty, ()) vertigo.AddHook(ET_OnD20Signal, EK_S_BeginTurn, Balance, ()) vertigo.AddHook(ET_OnD20Signal, EK_S_Killed, Remove, ()) vertigo.AddHook(ET_OnD20Signal, EK_S_Dismiss_Spells, checkRemoveSpell, ()) vertigo.AddSpellDispelCheckStandard() vertigo.AddSpellTeleportPrepareStandard() vertigo.AddSpellTeleportReconnectStandard() vertigo.AddSpellCountdownStandardHook() def Unsteady(attachee, args, evt_obj): # flags, newCap, capType, mesline evt_obj.bonus_list.set_overall_cap(1, 0, 0, 1004) evt_obj.bonus_list.set_overall_cap(2, 0, 0, 1004) return 0 def UTooltip(attachee, args, evt_obj): evt_obj.append('Unsteady') return 0 def UETooltip(attachee, args, evt_obj): key = tpdp.hash('UNSTEADY') evt_obj.append(key, -2, '')