51 lines
1.9 KiB
Plaintext
51 lines
1.9 KiB
Plaintext
/////////////////////////////////////////////////////////////
|
|
// Plague Bearer - rts_it_mag41
|
|
/////////////////////////////////////////////////////////////
|
|
#include "prc_inc_racial"
|
|
#include "rtsh_multiplay"
|
|
void main()
|
|
{
|
|
object oPC=GetItemActivator();
|
|
int nMana=fnGetTeamMana(oPC);
|
|
object oTarg=GetItemActivatedTarget();
|
|
int nType=MyPRCGetRacialType(oTarg);
|
|
effect eBeam=EffectBeam(VFX_BEAM_SILENT_EVIL,oPC,BODY_NODE_HAND);
|
|
object oSFXer=CreateObject(OBJECT_TYPE_PLACEABLE,"plc_invisobj",GetLocation(oPC));
|
|
effect eDiseaseVis=EffectVisualEffect(VFX_DUR_AURA_DISEASE);
|
|
effect eDisease=EffectDisease(DISEASE_FILTH_FEVER);
|
|
int nEvil=GetLocalInt(GetModule(),"nEvilPower");
|
|
if (oTarg!=OBJECT_INVALID&&oTarg!=oPC)
|
|
{ // valid target
|
|
if (nType!=RACIAL_TYPE_CONSTRUCT&&nType!=RACIAL_TYPE_UNDEAD)
|
|
{ // valid race
|
|
if (nMana>399)
|
|
{ // have enough mana
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eDiseaseVis,oSFXer,6.0);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBeam,oTarg,4.0);
|
|
AssignCommand(oSFXer,PlaySound("al_an_flies1"));
|
|
nMana=nMana-400;
|
|
fnSetTeamMana(oPC,nMana);
|
|
AdjustAlignment(oPC,ALIGNMENT_EVIL,10);
|
|
nEvil=nEvil+50;
|
|
SetLocalInt(GetModule(),"nEvilPower",nEvil);
|
|
ExecuteScript("rise_of_evil",GetModule());
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eDisease,oTarg,HoursToSeconds(36));
|
|
ExecuteScript("rts_it_mag41d",oTarg);
|
|
DelayCommand(10.0,DestroyObject(oSFXer));
|
|
} // have enough mana
|
|
else
|
|
{
|
|
SendMessageToPC(oPC,"This item costs 400 mana to activate.");
|
|
}
|
|
} // valid race
|
|
else
|
|
{
|
|
SendMessageToPC(oPC,"This item cannot be used on constructs or undead.");
|
|
}
|
|
} // valid target
|
|
else
|
|
{ //
|
|
SendMessageToPC(oPC,"You need to target someone other than yourself with that item!");
|
|
} //
|
|
}
|