Aschbourne_PRC8/_module/nss/_open_kiln.nss
Jaysyn904 5d27edafba Major update
Fixed CCOH, Fixed starting GP, Fixed DMFI languages, Fix cep weapon appearances, Fixed new player start up system.  Added PC deleter.  Added ACP 4.1.  Full compile.  Updated release archive.
2024-09-16 23:40:48 -04:00

60 lines
2.3 KiB
Plaintext

//#include "_persist_01a"
void main()
{
object oPC = GetLastOpenedBy();
//int iGlassSkill = GetTokenPair(oPC,14,4);
int iGlassSkill = GetCampaignInt("UOACraft","iGlassSkill",oPC);
int iGlassChance = iGlassSkill;
if (GetItemPossessedBy(oPC,"NoDrop_SkillLogBook")==OBJECT_INVALID)
{
CreateItemOnObject("skilllogbook",oPC,1);
}
if (iGlassChance <350)
{
iGlassChance = GetAbilityScore(oPC,ABILITY_DEXTERITY)*4;
iGlassChance = iGlassChance+(GetAbilityScore(oPC,ABILITY_INTELLIGENCE)*3);
iGlassChance = iGlassChance+(GetAbilityScore(oPC,ABILITY_WISDOM)*3);
iGlassChance = iGlassChance *3;
if (iGlassChance > 350) iGlassChance = 350;
if (iGlassSkill > iGlassChance) iGlassChance = iGlassSkill;
}
// Create Patterns for objects with less than 24.0 skill
// CreateItemOnObject("pattern001",OBJECT_SELF,1); //Tinker Tool
CreateItemOnObject("pattern002",OBJECT_SELF,1); //Small Cast
CreateItemOnObject("pattern003",OBJECT_SELF,1); //Medium Cast
CreateItemOnObject("pattern074",OBJECT_SELF,1); //Ring Cast Mold
CreateItemOnObject("pattern113",OBJECT_SELF,1); //Yeast Vial
if (iGlassChance >= 350)
{
CreateItemOnObject("pattern004",OBJECT_SELF,1); //Large Cast
CreateItemOnObject("pattern011",OBJECT_SELF,1); // Glass Bottle
CreateItemOnObject("pattern098",OBJECT_SELF,1); //Necklace Mold
}
if (iGlassChance >=400) CreateItemOnObject("pattern122",OBJECT_SELF,1); //empty cider jug
if (iGlassChance >=450) CreateItemOnObject("pattern099",OBJECT_SELF,1); //Amulet Mold
CreateItemOnObject("pattern010",OBJECT_SELF,1); // Glass Vial
// Search for and destroy any hidden 'body bags' from prior incarnations of this placeable
object oSearchForBag = GetNearestObjectByTag("Body Bag",OBJECT_SELF,1);
if (oSearchForBag == OBJECT_INVALID)return;
object oBagItem = OBJECT_INVALID;
if (GetDistanceToObject(oSearchForBag)<= 0.2)
{
//SendMessageToPC(GetFirstPC(),"Body bag found.. destroying contents..");
oBagItem = GetFirstItemInInventory(oSearchForBag);
while (oBagItem != OBJECT_INVALID)
{
//SendMessageToPC(GetFirstPC(),"Destroying : "+GetName(oBagItem));
DestroyObject(oBagItem);
oBagItem = GetNextItemInInventory(oSearchForBag);
}
DestroyObject(oSearchForBag,1.0);
}
}