Really fixed Evard's on wands this time

Really fixed Evard's on wands this time.  Fixed Acidic Spatter in regards to Acid Fog being spell #0.
This commit is contained in:
Jaysyn904 2024-11-08 19:02:23 -05:00
parent 820ddff588
commit ea09e4db6f
3 changed files with 32 additions and 26 deletions

View File

@ -376,7 +376,7 @@
372 Aura_of_Vitality 321 1 1 0 7 0
373 War_Cry 322 1 1 0 4 0
374 Regenerate 323 1 1 0 7 0
375 Evards_Black_Tentacles 324 1 1 0 4 0
375 Evards_Black_Tentacles 324 1 0 0 4 0
376 Legend_Lore 326 1 1 0 5 0
377 Find_Traps 327 0 0 0 3 0
378 Summon_Mephit **** 1 1 1 5 0

View File

@ -86,28 +86,6 @@ void main()
//timestop noncombat equip
DoTimestopEquip(oPC, oItem);
//:: Clear Echoblade effect if weapon is changed
int nBaseItem = GetBaseItemType(oItem);
effect eEffect = GetFirstEffect(oPC);
if (nBaseItem == BASE_ITEM_AMULET || nBaseItem == BASE_ITEM_ARMOR || nBaseItem == BASE_ITEM_ARROW || nBaseItem == BASE_ITEM_BELT || nBaseItem == BASE_ITEM_BOLT || nBaseItem == BASE_ITEM_BOOTS
|| nBaseItem == BASE_ITEM_BRACER || nBaseItem == BASE_ITEM_BULLET || nBaseItem == BASE_ITEM_CBLUDGWEAPON || nBaseItem == BASE_ITEM_CLOAK || nBaseItem == BASE_ITEM_CPIERCWEAPON
|| nBaseItem == BASE_ITEM_CREATUREITEM || nBaseItem == BASE_ITEM_CSLASHWEAPON || nBaseItem == BASE_ITEM_CSLSHPRCWEAP || nBaseItem == BASE_ITEM_GLOVES || nBaseItem == BASE_ITEM_HELMET
|| nBaseItem == BASE_ITEM_RING || nBaseItem == BASE_ITEM_LARGESHIELD || nBaseItem == BASE_ITEM_RING || nBaseItem == BASE_ITEM_SMALLSHIELD || nBaseItem == BASE_ITEM_TOWERSHIELD)
{
return;
}
else
{
while(GetIsEffectValid(eEffect))
{
if(GetEffectTag(eEffect) == "Echoblade")
RemoveEffect(oPC, eEffect);
eEffect = GetNextEffect(oPC);
}
}
//:: Saint / Holy Touch doesn't work w/ ranged weapons
if (GetHasTemplate(TEMPLATE_SAINT, oPC))
{
@ -137,12 +115,34 @@ void main()
}
//:: check if equipped with a ranged weapon and apply effect again if not
//:: Check if equipped with a ranged weapon and apply effect again if not
if (!GetWeaponRanged(oItem))
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oPC);
}
// Execute scripts hooked to this event for the creature and item triggering it
//:: Clear Echoblade effect if weapon is changed
int nBaseItem = GetBaseItemType(oItem);
effect eEffect = GetFirstEffect(oPC);
if (nBaseItem == BASE_ITEM_AMULET || nBaseItem == BASE_ITEM_ARMOR || nBaseItem == BASE_ITEM_ARROW || nBaseItem == BASE_ITEM_BELT || nBaseItem == BASE_ITEM_BOLT || nBaseItem == BASE_ITEM_BOOTS
|| nBaseItem == BASE_ITEM_BRACER || nBaseItem == BASE_ITEM_BULLET || nBaseItem == BASE_ITEM_CBLUDGWEAPON || nBaseItem == BASE_ITEM_CLOAK || nBaseItem == BASE_ITEM_CPIERCWEAPON
|| nBaseItem == BASE_ITEM_CREATUREITEM || nBaseItem == BASE_ITEM_CSLASHWEAPON || nBaseItem == BASE_ITEM_CSLSHPRCWEAP || nBaseItem == BASE_ITEM_GLOVES || nBaseItem == BASE_ITEM_HELMET
|| nBaseItem == BASE_ITEM_RING || nBaseItem == BASE_ITEM_LARGESHIELD || nBaseItem == BASE_ITEM_RING || nBaseItem == BASE_ITEM_SMALLSHIELD || nBaseItem == BASE_ITEM_TOWERSHIELD)
{
return;
}
else
{
while(GetIsEffectValid(eEffect))
{
if(GetEffectTag(eEffect) == "Echoblade")
RemoveEffect(oPC, eEffect);
eEffect = GetNextEffect(oPC);
}
}
//:: Execute scripts hooked to this event for the creature and item triggering it
ExecuteAllScriptsHookedToEvent(oPC, EVENT_ONPLAYEREQUIPITEM);
ExecuteAllScriptsHookedToEvent(oItem, EVENT_ITEM_ONPLAYEREQUIPITEM);

View File

@ -97,7 +97,7 @@ int GetHighestSpellAvailableBySchool(object oPC, string sSchool)
return nSpellLevel;
}
int GetHighestDomainSpellAvailable(object oPC, string sDomain) //This will loop all domain spells for a given doamain and return the highest level available to cast
int GetHighestDomainSpellAvailable(object oPC, string sDomain) //This will loop all domain spells for a given domain and return the highest level available to cast
{
string sFile = "prc_desc_" + sDomain;
@ -207,6 +207,12 @@ void UpdateReserveFeats(object oPC) //This will check for each reserve feat, ca
if(GetHasFeat(FEAT_ACIDIC_SPLATTER, oPC))
{
nBonus = GetHighestSpellAvailableByDescriptor(oPC, RESERVESPELL_DESCRIPTOR_ACID);
if((GetHasSpell(SPELL_ACID_FOG, oPC)) || (PRCGetIsRealSpellKnown(SPELL_ACID_FOG, oPC)))
{
nBonus = 6;
}
DeleteLocalInt(oPC, "AcidicSplatterBonus");
if (nBonus > 1) SetLocalInt(oPC, "AcidicSplatterBonus", nBonus);