Jaysyn904 04165202c0 Initial upload
Initial upload
2024-11-25 19:36:07 -05:00

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.");}
}