// lupg_create_unit - Create upgrade unit #include "rtsh_multiplay" void main() { object oPC=GetPCSpeaker(); int nParm=GetLocalInt(oPC,"nParm"); string sID=GetLocalString(oPC,"sTeamID"); object oWP=GetWaypointByTag(sID+"_upgrade_spawn"); object oCreature; object oItem; string sReq=GetLocalString(oPC,"sUpgReqItem"); int nN; int nCost; string sRes; if (GetStringLength(sReq)>0) { // consume item oItem=GetItemPossessedBy(oPC,sReq); DestroyObject(oItem); } // consume item if (sID=="SPID") { // spider team upgrades nN=fnGetTeamMana(oPC); if (nParm==1) { nCost=100; sRes="spidrid1"; } else if (nParm==2) { nCost=150; sRes="spidrid2"; } nN=nN-nCost; fnSetTeamMana(oPC,nN); oCreature=CreateObject(OBJECT_TYPE_CREATURE,sRes,GetLocation(oWP)); } // spider team upgrades else if (sID=="DWF") { // dwarf team upgrades if (nParm==1) { nCost=200; sRes="dwfupg1"; } else if (nParm==2) { nCost=300; sRes="dwfupg2"; } oCreature=CreateObject(OBJECT_TYPE_CREATURE,sRes,GetLocation(oWP)); AssignCommand(oCreature,TakeGoldFromCreature(nCost,oPC,TRUE)); } // dwarf team upgrades else if (sID=="UND") { // undead nN=fnGetTeamMana(oPC); if (nParm==1) sRes="undupg1"; else if (nParm==2) sRes="undupg2"; nCost=10; nN=nN-nCost; fnSetTeamMana(oPC,nN); oCreature=CreateObject(OBJECT_TYPE_CREATURE,sRes,GetLocation(oWP)); } // undead else if (sID=="UNC") { // unclean nN=fnGetTeamMana(oPC); if (nParm==1) sRes="uncupg1"; else if (nParm==2) sRes="uncupg2"; nCost=20; nN=nN-nCost; fnSetTeamMana(oPC,nN); oCreature=CreateObject(OBJECT_TYPE_CREATURE,sRes,GetLocation(oWP)); } // unclean }