LoD_PRC8/_module/nss/hal_wolf_inc.nss
Jaysyn904 94990edc60 Initial Upload
Initial Upload
2023-09-21 21:20:34 -04:00

56 lines
1.7 KiB
Plaintext

#include "elv_guildchecker"
void TurnIntoWolf(object oVictim)
{
effect ePoof = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_1);
effect eMorph = ExtraordinaryEffect(EffectPolymorph(POLYMORPH_TYPE_WEREWOLF, TRUE));
effect eABMod = ExtraordinaryEffect(EffectModifyAttacks(5));
effect eSpeedUp = ExtraordinaryEffect(EffectMovementSpeedIncrease(99));
// Loop all PC's in the module and set this PC to dislike them
object oPC = GetFirstPC();
while(GetIsObjectValid(oPC))
{
// Set to dislike
SetPCDislike(oVictim, oPC);
// Get next PC
oPC = GetNextPC();
}
ApplyEffectToObject(DURATION_TYPE_INSTANT, ePoof, oVictim);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eMorph, oVictim);
//ApplyEffectToObject(DURATION_TYPE_PERMANENT, eABMod, oVictim);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSpeedUp, oVictim);
}
void RemoveWolf(object oVictim)
{
effect eVictim = GetFirstEffect(oVictim);
while(GetIsEffectValid(eVictim))
{
/* int nEffectType = GetEffectType(eVictim);
if( nEffectType == EFFECT_TYPE_POLYMORPH ||
nEffectType == EFFECT_TYPE_ATTACK_INCREASE ||
nEffectType == EFFECT_TYPE_MOVEMENT_SPEED_INCREASE)
{
*/ RemoveEffect(oVictim, eVictim);/*
}
*/
eVictim = GetNextEffect(oVictim);
}
// Loop all PC's in the module and set this PC to dislike them
object oPC = GetFirstPC();
while(GetIsObjectValid(oPC))
{
// Set to dislike
SetPCLike(oVictim, oPC);
// Get next PC
oPC = GetNextPC();
}
ApplyGuildAura(GetPCPlayerName(oVictim), oVictim);
}