Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,106 +0,0 @@
|
||||
/*:://////////////////////////////////////////////
|
||||
//:: Spell Name Statue - On Listen
|
||||
//:: Spell FileName PHS_S_StatueB
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Spell Effects Applied / Notes
|
||||
//:://////////////////////////////////////////////
|
||||
The creature will apply the first effects, too. It'll use the effects
|
||||
creator to determine which are the granite effects.
|
||||
|
||||
On Conversation
|
||||
|
||||
Listens for "move" and "statue".
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jasperre
|
||||
//::////////////////////////////////////////////*/
|
||||
|
||||
#include "PHS_INC_SPELLS"
|
||||
|
||||
void main()
|
||||
{
|
||||
// Declarations
|
||||
int nMatch = GetListenPatternNumber();
|
||||
object oShouter = GetLastSpeaker();
|
||||
|
||||
// Disallow non-masters
|
||||
if(GetLocalObject(OBJECT_SELF, "PHS_SPELL_STATUE_MASTER") != oShouter)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Apply statue?
|
||||
if(nMatch == 60)
|
||||
{
|
||||
// Apply it (if not got it already)
|
||||
if(!PHS_GetHasEffectFromCaster(EFFECT_TYPE_PETRIFY, oShouter, OBJECT_SELF))
|
||||
{
|
||||
// Apply it
|
||||
SendMessageToPC(oShouter, "*You turn into a statue*");
|
||||
|
||||
// Declare effects
|
||||
|
||||
// Hardness 8
|
||||
effect eHardness1 = EffectDamageResistance(DAMAGE_TYPE_PIERCING, 8);
|
||||
effect eHardness2 = EffectDamageResistance(DAMAGE_TYPE_SLASHING, 8);
|
||||
effect eHardness3 = EffectDamageResistance(DAMAGE_TYPE_BLUDGEONING, 8);
|
||||
// Visual and stopping effect
|
||||
// * Also adds all the things a statue would be immune to (criticals ETC)
|
||||
effect eStatue = PHS_CreateProperPetrifyEffectLink();
|
||||
|
||||
// Link these effects
|
||||
effect eLink = EffectLinkEffects(eStatue, eHardness1);
|
||||
eLink = EffectLinkEffects(eLink, eHardness2);
|
||||
eLink = EffectLinkEffects(eLink, eHardness3);
|
||||
|
||||
// Make it supernatural
|
||||
eLink = SupernaturalEffect(eLink);
|
||||
|
||||
// Apply it
|
||||
PHS_ApplyPermanent(oShouter, eLink);
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMessageToPC(oShouter, "*You already are a statue*");
|
||||
}
|
||||
}
|
||||
else if(nMatch == 50)
|
||||
{
|
||||
// Remove it (if they have it).
|
||||
// Apply it (if not got it already)
|
||||
if(PHS_GetHasEffectFromCaster(EFFECT_TYPE_PETRIFY, oShouter, OBJECT_SELF))
|
||||
{
|
||||
// Apply it
|
||||
SendMessageToPC(oShouter, "*You turn to flesh again*");
|
||||
|
||||
// Search through the valid effects on the target.
|
||||
effect eCheck = GetFirstEffect(oShouter);
|
||||
while(GetIsEffectValid(eCheck))
|
||||
{
|
||||
// Check effect type
|
||||
// * Only remove petrify, its all linked.
|
||||
if(GetEffectType(eCheck) == EFFECT_TYPE_PETRIFY)
|
||||
{
|
||||
// Its supernatural
|
||||
if(GetEffectSubType(eCheck) == SUBTYPE_SUPERNATURAL)
|
||||
{
|
||||
// Created by us
|
||||
if(GetEffectCreator(eCheck) == OBJECT_SELF)
|
||||
{
|
||||
// Remove it
|
||||
RemoveEffect(oShouter, eCheck);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
//Get next effect on the target
|
||||
eCheck = GetNextEffect(oShouter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMessageToPC(oShouter, "*You already are not a statue*");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user