Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
104 lines
3.2 KiB
Plaintext
104 lines
3.2 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Purify Food and Drink
|
|
//:: Spell FileName PHS_S_PurifyFood
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
Transmutation
|
|
Level: Clr 0, Drd 0
|
|
Components: V, S
|
|
Casting Time: 1 standard action
|
|
Range: Food touched
|
|
Target: One portion of contaminated food or water
|
|
Duration: Instantaneous
|
|
Saving Throw: Will negates (object)
|
|
Spell Resistance: Yes (object)
|
|
|
|
This spell makes spoiled, rotten, poisonous, or otherwise contaminated
|
|
food and water pure and suitable for eating and drinking. Unholy water
|
|
and similar food and drink of significance is spoiled by purify food and
|
|
drink, but the spell has no effect on creatures of any type nor upon magic
|
|
potions.
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
Easily done:
|
|
|
|
Replaces 1 set of items targeted with another.
|
|
|
|
Targeted ones will be tagged "PHS_SPOILED_FOOD" and "PHS_SPOILED_WATER",
|
|
and will create "clean" or new versions of them instead.
|
|
|
|
If targeted against anthing else, well, if it is holy or unholy water, it
|
|
will also replace it with an normal water bottle.
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "PHS_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell hook check.
|
|
if(!PHS_SpellHookCheck(PHS_SPELL_PURIFY_FOOD_AND_DRINK)) return;
|
|
|
|
// Declare major variables
|
|
object oCaster = OBJECT_SELF;
|
|
object oTarget = GetSpellTargetObject();
|
|
object oPossessor = GetItemPossessor(oTarget);
|
|
string sTag = GetTag(oTarget);
|
|
int nSize;
|
|
|
|
|
|
// Check if bad water
|
|
if(sTag == PHS_ITEM_SPOILED_WATER ||
|
|
sTag == PHS_ITEM_HOLY_WATER ||
|
|
sTag == PHS_ITEM_CURSED_WATER)
|
|
{
|
|
// Purify water
|
|
FloatingTextStringOnCreature("*You purify the targeted water*", oCaster, FALSE);
|
|
|
|
// Get stack size
|
|
nSize = GetItemStackSize(oTarget);
|
|
|
|
// Delete old ones
|
|
DestroyObject(oTarget);
|
|
|
|
// Create amount of new ones.
|
|
PHS_ComponentActionCreateObject(PHS_ITEM_RESREF_WATER, nSize, oPossessor);
|
|
}
|
|
else if(sTag == PHS_ITEM_SPOILED_FOOD)
|
|
{
|
|
// Purify food
|
|
FloatingTextStringOnCreature("*You purify the targeted food*", oCaster, FALSE);
|
|
|
|
// Get stack size
|
|
nSize = GetItemStackSize(oTarget);
|
|
|
|
// Delete old ones
|
|
DestroyObject(oTarget);
|
|
|
|
// Create amount of new ones.
|
|
PHS_ComponentActionCreateObject(PHS_ITEM_RESREF_FOOD, nSize, oPossessor);
|
|
}
|
|
else
|
|
{
|
|
// Nothing to purify
|
|
FloatingTextStringOnCreature("*Nothing found to purify*", oCaster, FALSE);
|
|
return;
|
|
}
|
|
|
|
// Do effects
|
|
if(!GetIsObjectValid(oPossessor))
|
|
{
|
|
// Make the possessor the caster
|
|
oPossessor = oCaster;
|
|
}
|
|
// Declare effects
|
|
effect eVis = EffectVisualEffect(VFX_IMP_HEAD_NATURE);
|
|
// Apply VFX
|
|
PHS_ApplyVFX(oPossessor, eVis);
|
|
// Signal spell cast at
|
|
PHS_SignalSpellCastAt(oPossessor, PHS_SPELL_PURIFY_FOOD_AND_DRINK, FALSE);
|
|
}
|