52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
// rts_it_op13
|
|
#include "rtsh_multiplay"
|
|
|
|
void fnHourlyConsumption(object oNPC)
|
|
{ // NPC Should consume 10 Mana Per hour
|
|
string sTID=GetLocalString(oNPC,"sTeamID");
|
|
int nMana=fnGetTeamMana(oNPC);
|
|
if (nMana>10)
|
|
{ // consume mana
|
|
nMana=nMana-10;
|
|
fnSetTeamMana(oNPC,nMana);
|
|
DelayCommand(HoursToSeconds(1),fnHourlyConsumption(oNPC));
|
|
} // consume mana
|
|
else
|
|
{ // despawn
|
|
effect eVFX=EffectVisualEffect(VFX_IMP_UNSUMMON);
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVFX,GetLocation(oNPC));
|
|
DelayCommand(1.0,DestroyObject(oNPC));
|
|
} // despawn
|
|
} // fnHourlyConsumption()
|
|
|
|
void main()
|
|
{
|
|
object oPC=GetItemActivator();
|
|
object oItem=GetItemActivated();
|
|
string sRes="merop13";
|
|
object oCr;
|
|
object oDummy;
|
|
object oWP;
|
|
int nMana=fnGetTeamMana(oPC);
|
|
string sID=GetLocalString(oPC,"sTeamID");
|
|
if (sID=="UNC")
|
|
{ // allowed team
|
|
if (nMana>199)
|
|
{ // sufficient mana
|
|
oWP=GetWaypointByTag(sID+"_RESOURCES");
|
|
effect eVFX=EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_1);
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVFX,GetLocation(oPC));
|
|
oCr=CreateObject(OBJECT_TYPE_CREATURE,sRes,GetLocation(oPC));
|
|
oDummy=GetObjectByTag(sID+"_PROXY");
|
|
ChangeFaction(oCr,oDummy);
|
|
//DelayCommand(1.0,DestroyObject(oDummy));
|
|
SetLocalString(oCr,"sTeamID",sID);
|
|
AssignCommand(oCr,DelayCommand(HoursToSeconds(1),fnHourlyConsumption(oCr)));
|
|
nMana=nMana-200;
|
|
fnSetTeamMana(oPC,nMana);
|
|
} // sufficient mana
|
|
else { SendMessageToPC(oPC,"200 mana is required to activate this item."); }
|
|
} // allowed team
|
|
else { SendMessageToPC(oPC,"This item is only beneficial to the unclean team."); }
|
|
}
|