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.
60 lines
2.3 KiB
Plaintext
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);
|
|
}
|
|
}
|