diff --git a/_content/hak/aantioch_top/nw_s1_auramenca.ncs b/_content/hak/aantioch_top/nw_s1_auramenca.ncs index bb6a07ee..ccd87e0a 100644 Binary files a/_content/hak/aantioch_top/nw_s1_auramenca.ncs and b/_content/hak/aantioch_top/nw_s1_auramenca.ncs differ diff --git a/_content/hak/aantioch_top/nw_s1_krenscare.ncs b/_content/hak/aantioch_top/nw_s1_krenscare.ncs index 4a8c0eb9..a5f43b19 100644 Binary files a/_content/hak/aantioch_top/nw_s1_krenscare.ncs and b/_content/hak/aantioch_top/nw_s1_krenscare.ncs differ diff --git a/_content/hak/aantioch_top/nw_s2_divprot.ncs b/_content/hak/aantioch_top/nw_s2_divprot.ncs index 50058082..814b1613 100644 Binary files a/_content/hak/aantioch_top/nw_s2_divprot.ncs and b/_content/hak/aantioch_top/nw_s2_divprot.ncs differ diff --git a/_content/hak/aantioch_top/nw_s3_balordeth.ncs b/_content/hak/aantioch_top/nw_s3_balordeth.ncs index 81bc3907..f90deb5d 100644 Binary files a/_content/hak/aantioch_top/nw_s3_balordeth.ncs and b/_content/hak/aantioch_top/nw_s3_balordeth.ncs differ diff --git a/_module/ncs/aa_rod_of_wonder.ncs b/_module/ncs/aa_rod_of_wonder.ncs index 7aa10acc..a721d8c9 100644 Binary files a/_module/ncs/aa_rod_of_wonder.ncs and b/_module/ncs/aa_rod_of_wonder.ncs differ diff --git a/_module/ncs/barrel_ondeath.ncs b/_module/ncs/barrel_ondeath.ncs index c5ed2677..f9021529 100644 Binary files a/_module/ncs/barrel_ondeath.ncs and b/_module/ncs/barrel_ondeath.ncs differ diff --git a/_module/ncs/dragonspawn.ncs b/_module/ncs/dragonspawn.ncs index 2e8e323e..e1382116 100644 Binary files a/_module/ncs/dragonspawn.ncs and b/_module/ncs/dragonspawn.ncs differ diff --git a/_module/ncs/explosive_death.ncs b/_module/ncs/explosive_death.ncs index 8c7ea59e..e70eedf0 100644 Binary files a/_module/ncs/explosive_death.ncs and b/_module/ncs/explosive_death.ncs differ diff --git a/_module/ncs/gz_healer_spawn.ncs b/_module/ncs/gz_healer_spawn.ncs index 15b72039..8d0aec15 100644 Binary files a/_module/ncs/gz_healer_spawn.ncs and b/_module/ncs/gz_healer_spawn.ncs differ diff --git a/_module/ncs/hif_onclientente.ncs b/_module/ncs/hif_onclientente.ncs index c33e2094..4a553238 100644 Binary files a/_module/ncs/hif_onclientente.ncs and b/_module/ncs/hif_onclientente.ncs differ diff --git a/_module/ncs/king_sit.ncs b/_module/ncs/king_sit.ncs index 1e4d578d..9bda952d 100644 Binary files a/_module/ncs/king_sit.ncs and b/_module/ncs/king_sit.ncs differ diff --git a/_module/ncs/no_spn_melcast2.ncs b/_module/ncs/no_spn_melcast2.ncs index 0f12cfba..c2f150b9 100644 Binary files a/_module/ncs/no_spn_melcast2.ncs and b/_module/ncs/no_spn_melcast2.ncs differ diff --git a/_module/ncs/no_spn_melcast3.ncs b/_module/ncs/no_spn_melcast3.ncs index f56f1f43..7a744c61 100644 Binary files a/_module/ncs/no_spn_melcast3.ncs and b/_module/ncs/no_spn_melcast3.ncs differ diff --git a/_module/ncs/no_spn_melenh.ncs b/_module/ncs/no_spn_melenh.ncs index 7d273eac..d05ef7e3 100644 Binary files a/_module/ncs/no_spn_melenh.ncs and b/_module/ncs/no_spn_melenh.ncs differ diff --git a/_module/ncs/no_spn_rftr.ncs b/_module/ncs/no_spn_rftr.ncs index 7e5956cb..50892a6a 100644 Binary files a/_module/ncs/no_spn_rftr.ncs and b/_module/ncs/no_spn_rftr.ncs differ diff --git a/_module/ncs/no_spn_rftrcast1.ncs b/_module/ncs/no_spn_rftrcast1.ncs index 432d8dd3..49d6eb34 100644 Binary files a/_module/ncs/no_spn_rftrcast1.ncs and b/_module/ncs/no_spn_rftrcast1.ncs differ diff --git a/_module/ncs/no_spn_rngt2comm.ncs b/_module/ncs/no_spn_rngt2comm.ncs index dfc84423..ae260ab0 100644 Binary files a/_module/ncs/no_spn_rngt2comm.ncs and b/_module/ncs/no_spn_rngt2comm.ncs differ diff --git a/_module/ncs/no_spn_rngt3comm.ncs b/_module/ncs/no_spn_rngt3comm.ncs index fc90f24c..2c45b35f 100644 Binary files a/_module/ncs/no_spn_rngt3comm.ncs and b/_module/ncs/no_spn_rngt3comm.ncs differ diff --git a/_module/ncs/no_spn_rog.ncs b/_module/ncs/no_spn_rog.ncs index f61ca2e6..6599ae53 100644 Binary files a/_module/ncs/no_spn_rog.ncs and b/_module/ncs/no_spn_rog.ncs differ diff --git a/_module/ncs/no_spn_rogcast3.ncs b/_module/ncs/no_spn_rogcast3.ncs index 5973018c..1ad31d08 100644 Binary files a/_module/ncs/no_spn_rogcast3.ncs and b/_module/ncs/no_spn_rogcast3.ncs differ diff --git a/_module/ncs/no_spn_rogenh.ncs b/_module/ncs/no_spn_rogenh.ncs index cb774385..9f05a933 100644 Binary files a/_module/ncs/no_spn_rogenh.ncs and b/_module/ncs/no_spn_rogenh.ncs differ diff --git a/_module/ncs/no_spn_rogtel.ncs b/_module/ncs/no_spn_rogtel.ncs index 9a41af84..f02f4285 100644 Binary files a/_module/ncs/no_spn_rogtel.ncs and b/_module/ncs/no_spn_rogtel.ncs differ diff --git a/_module/ncs/no_spn_summ.ncs b/_module/ncs/no_spn_summ.ncs index 79a35d3a..d19c4073 100644 Binary files a/_module/ncs/no_spn_summ.ncs and b/_module/ncs/no_spn_summ.ncs differ diff --git a/_module/ncs/nw_c2_default9si.ncs b/_module/ncs/nw_c2_default9si.ncs index 99b85b8f..bb72cf81 100644 Binary files a/_module/ncs/nw_c2_default9si.ncs and b/_module/ncs/nw_c2_default9si.ncs differ diff --git a/_module/ncs/nw_c2_fastbuff9.ncs b/_module/ncs/nw_c2_fastbuff9.ncs index d4cb570c..c97d1504 100644 Binary files a/_module/ncs/nw_c2_fastbuff9.ncs and b/_module/ncs/nw_c2_fastbuff9.ncs differ diff --git a/_module/ncs/nw_c2_highai.ncs b/_module/ncs/nw_c2_highai.ncs index 4c0f4736..af540c34 100644 Binary files a/_module/ncs/nw_c2_highai.ncs and b/_module/ncs/nw_c2_highai.ncs differ diff --git a/_module/ncs/nw_o2_generallow.ncs b/_module/ncs/nw_o2_generallow.ncs index cd69b64f..72b50dc8 100644 Binary files a/_module/ncs/nw_o2_generallow.ncs and b/_module/ncs/nw_o2_generallow.ncs differ diff --git a/_module/ncs/prc_rest.ncs b/_module/ncs/prc_rest.ncs deleted file mode 100644 index e23661cb..00000000 Binary files a/_module/ncs/prc_rest.ncs and /dev/null differ diff --git a/_module/ncs/queen_sit.ncs b/_module/ncs/queen_sit.ncs index 958577d3..d7cf73e6 100644 Binary files a/_module/ncs/queen_sit.ncs and b/_module/ncs/queen_sit.ncs differ diff --git a/_module/ncs/re_comspawnfarm3.ncs b/_module/ncs/re_comspawnfarm3.ncs index 3955e087..d7641f5b 100644 Binary files a/_module/ncs/re_comspawnfarm3.ncs and b/_module/ncs/re_comspawnfarm3.ncs differ diff --git a/_module/ncs/re_comspawnfarm5.ncs b/_module/ncs/re_comspawnfarm5.ncs index cd82d4e6..32b4a971 100644 Binary files a/_module/ncs/re_comspawnfarm5.ncs and b/_module/ncs/re_comspawnfarm5.ncs differ diff --git a/_module/nss/prc_rest.nss b/_module/nss/prc_rest.nss deleted file mode 100644 index d5490b89..00000000 --- a/_module/nss/prc_rest.nss +++ /dev/null @@ -1,408 +0,0 @@ -//:://///////////////////////////////////////////// -//:: OnPlayerRest eventscript -//:: prc_rest -//::////////////////////////////////////////////// -/* - Hooked NPC's into this via prc_npc_rested - 06.03.2004, Ornedan -*/ - -#include "prc_inc_function" -#include "psi_inc_psifunc" -#include "prc_sp_func" -#include "prc_inc_domain" -#include "true_inc_trufunc" -#include "inv_inc_invfunc" -#include "inc_epicspells" -#include "prc_inc_scry" -#include "prc_inc_dragsham" -#include "prc_inc_wpnrest" -#include "inc_dynconv" -#include "prc_inc_util" -#include "shd_inc_myst" -#include "prc_inc_template" - -void PrcFeats(object oPC) -{ - if(DEBUG) DoDebug("prc_rest: Evaluating PC feats for " + DebugObject2Str(oPC)); - - SetLocalInt(oPC,"ONREST",1); - object oSkin = GetPCSkin(oPC); - DelayCommand(0.2, ScrubPCSkin(oPC, oSkin)); - DelayCommand(0.3, FeatSpecialUsePerDay(oPC)); - DelayCommand(0.4, DeletePRCLocalInts(oSkin)); - DelayCommand(0.5, DeletePRCLocalIntsT(oPC)); - DelayCommand(0.6, EvalPRCFeats(oPC)); - DelayCommand(0.7, DoWeaponsEquip(oPC)); - DelayCommand(1.0, DeleteLocalInt(oPC,"ONREST")); -} - -void RestCancelled(object oPC) -{ - if(GetPRCSwitch(PRC_PNP_REST_HEALING)) - { - int nHP = GetLocalInt(oPC, "PnP_Rest_InitialHP"); - //cancelled, dont heal anything - //nHP += GetHitDice(oPC); - int nCurrentHP = GetCurrentHitPoints(oPC); - int nDamage = nCurrentHP-nHP; - //check its a positive number - if(nDamage > 0) - { - //DelayCommand(1.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_PLUS_TWENTY), oPC)); - SetCurrentHitPoints(oPC, nCurrentHP - nDamage); - } - } - if(DEBUG) DoDebug("prc_rest: Rest cancelled for " + DebugObject2Str(oPC)); - DelayCommand(1.1,PrcFeats(oPC)); - // Execute scripts hooked to this event for the player triggering it - ExecuteAllScriptsHookedToEvent(oPC, EVENT_ONPLAYERREST_CANCELLED); -} - -void RestFinished(object oPC) -{ - int nGeneration = PRC_NextGeneration(GetLocalInt(oPC, PRC_Rest_Generation)); - if (DEBUG > 1) DoDebug("Rest Generation: " + IntToString(nGeneration)); - SetLocalInt(oPC, PRC_Rest_Generation, nGeneration); - - if(DEBUG) DoDebug("prc_rest: Rest finished for for " + DebugObject2Str(oPC)); - //Restore Power Points for Psionics - ExecuteScript("prc_psi_ppoints", oPC); - ExecuteScript("tob_evnt_recover", oPC); - DelayCommand(0.1, BonusDomainRest(oPC)); - DelayCommand(0.2, ClearLawLocalVars(oPC)); - DelayCommand(0.3, ClearMystLocalVars(oPC)); - DelayCommand(0.4, ClearLegacyUses(oPC)); - DelayCommand(0.5, ClearInvocationLocalVars(oPC)); - - // To heal up enslaved creatures... - object oSlave = GetLocalObject(oPC, "EnslavedCreature"); - if (GetIsObjectValid(oSlave) && !GetIsDead(oSlave) && !GetIsInCombat(oSlave)) - AssignCommand(oSlave, ActionRest()); - //ForceRest(oSlave); - - if (GetIsEpicSpellcaster(oPC)) { - FloatingTextStringOnCreature("*You feel refreshed*", oPC, FALSE); - ReplenishSlots(oPC); - } - - if (GetHasFeat(FEAT_SF_CODE,oPC)) - DelayCommand(0.1, RemoveSpecificProperty(GetPCSkin(oPC),ITEM_PROPERTY_BONUS_FEAT,IP_CONST_FEAT_SF_CODE)); - - // begin flurry of swords array - if (GetLevelByClass(CLASS_TYPE_ARCANE_DUELIST, oPC)) - { - DeleteLocalInt(oPC, "FLURRY_TARGET_NUMBER"); - - int i; - for (i = 0 ; i < 10 ; i++) - { - string sName = "FLURRY_TARGET_" + IntToString(i); - SetLocalObject(oPC, sName, OBJECT_INVALID); - } - } - // end flurry or swords array - - //Check for leftover Diamond Dragon appendages - if (GetLevelByClass(CLASS_TYPE_DIAMOND_DRAGON, oPC)) - { - if(GetPersistantLocalInt(oPC, "ChannelingTail")) - { - SetPersistantLocalInt(oPC, "ChannelingTail", FALSE); - SetCreatureTailType(CREATURE_TAIL_TYPE_NONE, oPC); - } - if(GetPersistantLocalInt(oPC, "ChannelingWings")) - { - SetPersistantLocalInt(oPC, "ChannelingWings", FALSE); - SetCreatureWingType(CREATURE_WING_TYPE_NONE, oPC); - } - } - - if(GetPRCSwitch(PRC_PNP_REST_HEALING)) - { - int nHP = GetLocalInt(oPC, "PnP_Rest_InitialHP"); - int nOldMax = GetLocalInt(oPC, "PnP_Rest_InitialMax"); - if(DEBUG) DoDebug("prc_rest: Finished HPs for " + DebugObject2Str(oPC)+"n/n/"+" nCurrent: "+IntToString(nHP)+" nMax: "+IntToString(nOldMax)); - //only heal HP if not undead and not a construct - if(MyPRCGetRacialType(oPC) != RACIAL_TYPE_UNDEAD && MyPRCGetRacialType(oPC) != RACIAL_TYPE_CONSTRUCT) - nHP = GetMaxHitPoints(oPC) - nOldMax + nHP + GetHitDice(oPC); - int nCurrentHP = GetCurrentHitPoints(oPC); - int nDamage = nCurrentHP-nHP; - //check its a positive number - if(nDamage > 0) - { - //DelayCommand(1.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDamage, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_PLUS_TWENTY), oPC)); - SetCurrentHitPoints(oPC, nCurrentHP - nDamage); - } - // We've finished rest, clean up - DeleteLocalInt(oPC, "PnP_Rest_InitialHP"); - DeleteLocalInt(oPC, "PnP_Rest_InitialMax"); - } - - int nSpellCount = GetPRCSwitch(PRC_DISABLE_SPELL_COUNT); - int i; - string sMessage; - for(i=1;i 0 || nRest < 0) - { - int nDelay = nRest * GetHitDice(oPC); - if (nRest == -1) nDelay = 24; - else if (nRest == -2) nDelay = 16; - - SetLocalInt(oPC, "RestTimer", TRUE); - DelayCommand(HoursToSeconds(nDelay), DeleteLocalInt(oPC, "RestTimer")); - DelayCommand(HoursToSeconds(nDelay), FloatingTextStringOnCreature("You may now rest again.", oPC, FALSE)); - FloatingTextStringOnCreature("You may rest again in "+IntToString(nDelay)+" hours.", oPC, FALSE); - } - - //ebonfowl: execute reserve feat update - if(GetLocalInt(oPC, "ReserveFeatsRunning") == TRUE) - { - DelayCommand(1.5, ExecuteScript("prc_reservefeat", oPC)); - } - - // Execute scripts hooked to this event for the player triggering it - ExecuteAllScriptsHookedToEvent(oPC, EVENT_ONPLAYERREST_FINISHED); -} - -void RestStarted(object oPC) -{ - if(DEBUG) DoDebug("prc_rest: Rest started for " + DebugObject2Str(oPC)); - - // Scrying cleanup - if (GetIsScrying(oPC)) - { - object oCopy = GetLocalObject(oPC, "Scry_Copy"); - DoScryEnd(oPC, oCopy); - } - - int nRest = GetPRCSwitch(PRC_PNP_REST_LIMIT); - if(nRest > 0 || nRest < 0) - { - int nDelay = nRest * GetHitDice(oPC); - if (nRest == -1) nDelay = 24; - else if (nRest == -2) nDelay = 16; - - if(GetLocalInt(oPC, "RestTimer")) - { - AssignCommand(oPC, ClearAllActions()); - FloatingTextStringOnCreature("You may not rest yet. You may rest once every "+IntToString(nDelay)+" hours.", oPC, FALSE); - } - } - - // Clean up Crown of Might - object oCrown = GetItemPossessedBy(oPC, "prc_crown_might"); - if (GetIsObjectValid(oCrown)) DestroyObject(oCrown); - oCrown = GetItemPossessedBy(oPC, "prc_crown_prot"); - if (GetIsObjectValid(oCrown)) DestroyObject(oCrown); - - if (GetLevelByClass(CLASS_TYPE_DRUNKEN_MASTER, oPC)){ - SetLocalInt(oPC, "DRUNKEN_MASTER_IS_IN_DRUNKEN_RAGE", 0); - SetLocalInt(oPC, "DRUNKEN_MASTER_IS_DRUNK_LIKE_A_DEMON", 0); - } - /* Left here in case the multisummon trick is ever broken. In that case, use this to make Astral Constructs get unsummoned properly - if(GetHasFeat(whatever feat determines if the PC can manifest Astral Construct here)){ - int i = 1; - object oCheck = GetHenchman(oPC, i); - while(oCheck != OBJECT_INVALID){ - if(GetStringLeft(GetTag(oCheck), 14) == "psi_astral_con") - DoDespawn(oCheck); - i++; - oCheck = GetHenchman(oPC, i); - } - } - */ - - if (GetIsPC(oPC)) SetLocalInt(oPC, "PnP_Rest_InitialHP", GetCurrentHitPoints(oPC)); - SetLocalInt(oPC, "PnP_Rest_InitialMax", GetMaxHitPoints(oPC)); - if(DEBUG) DoDebug("prc_rest: HPs for " + DebugObject2Str(oPC)+"n/n/"+" nCurrent: "+IntToString(GetCurrentHitPoints(oPC))+" nMax: "+IntToString(GetMaxHitPoints(oPC))); - // Remove Psionic Focus - if(GetIsPsionicallyFocused(oPC)) - { - LosePsionicFocus(oPC); - } - DeleteLocalInt(oPC, PRC_SPELL_CHARGE_COUNT); - DeleteLocalInt(oPC, PRC_SPELL_CHARGE_SPELLID); - DeleteLocalObject(oPC, PRC_SPELL_CONC_TARGET); - if(GetLocalInt(oPC, PRC_SPELL_HOLD)) FloatingTextStringOnCreature("*Normal Casting*", oPC); - DeleteLocalInt(oPC, PRC_SPELL_HOLD); - DeleteLocalInt(oPC, PRC_SPELL_METAMAGIC); - DeleteLocalManifestation(oPC, PRC_POWER_HOLD_MANIFESTATION); - DeleteLocalMystery(oPC, "MYST_HOLD_MYST"); - // run the prereq check here - ExecuteScript("prc_prereq", oPC); - // Execute scripts hooked to this event for the player triggering it - ExecuteAllScriptsHookedToEvent(oPC, EVENT_ONPLAYERREST_STARTED); -} - -void main() -{ - object oPC = GetLastBeingRested(); - - if(DEBUG) DoDebug("prc_rest: Running for " + DebugObject2Str(oPC)); - if(DEBUG) DoDebug("prc_rest Void Main: HPs for " + DebugObject2Str(oPC) +" nCurrent: "+IntToString(GetCurrentHitPoints(oPC))); - - // return here for DMs as they don't need all this stuff - if(GetIsDM(oPC)) - return; - - //rest kits - if(GetPRCSwitch(PRC_SUPPLY_BASED_REST)) - ExecuteScript("sbr_onrest", OBJECT_SELF); - - // Handle the PRCForceRest() wrapper - if(GetLocalInt(oPC, "PRC_ForceRested")) - { - if(DEBUG) DoDebug("prc_rest: Handling forced rest"); - RestStarted(oPC); - // A minor delay to break the script association and to lessen TMI chances - DelayCommand(0.5f, RestFinished(oPC)); - // Clear the flag - DeleteLocalInt(oPC, "PRC_ForceRested"); - } - else - { - switch(MyGetLastRestEventType()){ - case REST_EVENTTYPE_REST_CANCELLED:{ - RestCancelled(oPC); - break; - } - case REST_EVENTTYPE_REST_STARTED:{ - RestStarted(oPC); - break; - } - case REST_EVENTTYPE_REST_FINISHED:{ - RestFinished(oPC); - break; - } - case REST_EVENTTYPE_REST_INVALID:{ - break; - } - } - } -}