Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
62 lines
2.3 KiB
Plaintext
62 lines
2.3 KiB
Plaintext
//#include "_persist_01a"
|
|
#include "aps_include"
|
|
|
|
void main()
|
|
{
|
|
object oPC = GetLastOpenedBy();
|
|
//int iGlassSkill = GetTokenPair(oPC,14,4);
|
|
int iGlassSkill = GetPersistentInt(oPC,"iGlassSkill","UOACraft"
|
|
);
|
|
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);
|
|
}
|
|
}
|