UW2_PRC8/_module/nss/forgeused.nss
Jaysyn904 5197ad9a4d Initial upload
Initial upload
2023-09-25 20:24:01 -04:00

54 lines
2.1 KiB
Plaintext

void main()
{
object oPC= GetLastUsedBy();
object immortal = GetNearestObjectByTag("immortal2");
if (immortal != OBJECT_INVALID){
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(1000, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_PLUS_FIVE), oPC);
return;}
object crown = GetItemPossessedBy(oPC, "ImmortalCrown2");
if (crown == OBJECT_INVALID){
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(1000, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_PLUS_FIVE), oPC);
return;}
AssignCommand(oPC, DestroyObject(crown));
object area1 = GetArea(oPC);
object party = GetFirstFactionMember(oPC);
while (party != OBJECT_INVALID){
object area2 = GetArea(party);
if (area1==area2){
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(200), party);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_DUR_PARALYZED), party);
location sage = GetLocation(GetWaypointByTag("sage1"));
AssignCommand(party, JumpToLocation(sage));
string immortalname;
immortalname = ">>> ID: " + GetPCPlayerName( party )
+ "; Name: "+ GetName( party )
+ "; CD Key:" + GetPCPublicCDKey( party );
SetCampaignInt("PoA", "immortalname", 2, party);
}
party = GetNextFactionMember(oPC);
}
object oWarn = GetFirstPC();
while ((oWarn != OBJECT_INVALID))
{
int state = GetCampaignInt("PoA", "immortalname", oWarn);
if (oWarn != oPC && state != 2){
location lVis = GetLocation(oWarn);
DelayCommand(4.0, SendMessageToPC(oWarn, "The Immortal Crown Has Been Destroyed!!!!!!!!."));
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_TIME_STOP), lVis, 5.0);
DelayCommand(5.0, SendMessageToPC(oWarn, "Suddenly, You feel The Life Energy Being Sucked From You!!!!!."));
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(1000, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_PLUS_FIVE), oWarn);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_FNF_IMPLOSION), lVis, 5.0);
}
oWarn = GetNextPC();
}
}