59 lines
1.8 KiB
Plaintext
59 lines
1.8 KiB
Plaintext
//Created by Guile 3/23/07
|
|
//Put this script OnEnter
|
|
void main()
|
|
{
|
|
|
|
object oPC = GetEnteringObject();
|
|
|
|
if (!GetIsPC(oPC)) return;
|
|
|
|
object oTarget;
|
|
oTarget = oPC;
|
|
|
|
//Visual effects can't be applied to waypoints, so if it is a WP
|
|
//the VFX will be applied to the WP's location instead
|
|
|
|
int nInt;
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
effect eEffect;
|
|
eEffect = EffectVisualEffect(VFX_IMP_TORNADO);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
else
|
|
DelayCommand(1.1, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
|
|
|
eEffect = EffectHeal(GetMaxHitPoints(oPC));
|
|
DelayCommand(1.3, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
|
|
eEffect = EffectHeal(GetMaxHitPoints(oPC));
|
|
DelayCommand(1.4, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
|
|
|
eEffect = EffectConcealment(50,MISS_CHANCE_TYPE_NORMAL);
|
|
DelayCommand(1.4, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 360.0f));
|
|
|
|
object oPlayer = oPC;
|
|
|
|
if(GetIsPC(oPC))
|
|
{
|
|
|
|
AssignCommand(oPlayer, ClearAllActions());
|
|
|
|
//Clear Reputation of PC
|
|
if (GetStandardFactionReputation(STANDARD_FACTION_COMMONER, oPlayer) <= 10)
|
|
{ SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
|
|
SetStandardFactionReputation(STANDARD_FACTION_COMMONER, 80, oPlayer);
|
|
}
|
|
if (GetStandardFactionReputation(STANDARD_FACTION_MERCHANT, oPlayer) <= 10)
|
|
{ SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
|
|
SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, 80, oPlayer);
|
|
}
|
|
if (GetStandardFactionReputation(STANDARD_FACTION_DEFENDER, oPlayer) <= 10)
|
|
{ SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
|
|
SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 80, oPlayer);
|
|
}
|
|
|
|
}
|
|
}
|