52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
// Philosopher's stone usage script - transform metallic bars/rings/necklaces to gold
|
|
// Jeremy Greene
|
|
#include "rtsh_multiplay"
|
|
|
|
string fnTransformToResref(object oTarget)
|
|
{
|
|
string sObjResRef=GetResRef(oTarget);
|
|
if(sObjResRef=="bar_admant") return "nw_it_gold001";
|
|
if(sObjResRef=="bar_iron") return "nw_it_gold001";
|
|
if(sObjResRef=="bar_mith") return "nw_it_gold001";
|
|
if(sObjResRef=="x2_it_cmat_adam") return "nw_it_gold001";
|
|
if(sObjResRef=="x2_it_cmat_iron") return "nw_it_gold001";
|
|
if(sObjResRef=="x2_it_cmat_mith") return "nw_it_gold001";
|
|
if(sObjResRef=="x2_it_cmat_steel") return "nw_it_gold001";
|
|
if(sObjResRef=="nw_it_mneck020") return "nw_it_mneck022";
|
|
if(sObjResRef=="nw_it_mneck021") return "nw_it_mneck022";
|
|
if(sObjResRef=="nw_it_mring021") return "nw_it_mring023";
|
|
if(sObjResRef=="nw_it_mring022") return "nw_it_mring023";
|
|
return "";
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oUser=GetItemActivator();
|
|
object oTarget=GetItemActivatedTarget();
|
|
object oNew;
|
|
string sTransform=fnTransformToResref(oTarget);
|
|
int nMana=fnGetTeamMana(oUser);
|
|
if (nMana>9)
|
|
{ // sufficient mana
|
|
if(GetItemPossessor(oTarget)==oUser&&sTransform!="")
|
|
// Item in user's possession
|
|
{
|
|
if(sTransform=="nw_it_gold001") GiveGoldToCreature(oUser,200);
|
|
else oNew=CreateItemOnObject(sTransform,oUser);
|
|
DestroyObject(oTarget);
|
|
nMana=nMana-10;
|
|
fnSetTeamMana(oUser,nMana);
|
|
}
|
|
else if(sTransform!="")
|
|
// item on ground
|
|
{
|
|
oNew=CreateObject(OBJECT_TYPE_ITEM,sTransform,GetLocation(oTarget));
|
|
if(sTransform=="nw_it_gold001") SetItemStackSize(oNew,200);
|
|
DestroyObject(oTarget);
|
|
nMana=nMana-10;
|
|
fnSetTeamMana(oUser,nMana);
|
|
}
|
|
} // sufficient mana
|
|
else { SendMessageToPC(oUser,"You need 10 mana to use that item.");}
|
|
}
|