int StartingConditional() { int iResult = FALSE; object oPC = GetPCSpeaker(); // get Lecturn string sPower; string sClass; string sLevel; string sGold; string sChest; string sBluePrint; string sTag; string sName; string sText; int iPass = FALSE; // ** Search Area for Magical Focus object oFocusLevel = GetNearestObjectByTag("asg_magicfocus_1",OBJECT_SELF); int iFmod = 0; if (GetIsObjectValid(oFocusLevel)) { iFmod = 5; } else { oFocusLevel = GetNearestObjectByTag("asg_magicfocus_2",OBJECT_SELF); if (GetIsObjectValid(oFocusLevel)) { iFmod = 10; } else { oFocusLevel = GetNearestObjectByTag("asg_magicfocus_3",OBJECT_SELF); if (GetIsObjectValid(oFocusLevel)) { iFmod = 20; } else { oFocusLevel = GetNearestObjectByTag("asg_magicfocus_4",OBJECT_SELF); if (GetIsObjectValid(oFocusLevel)) { iFmod = 100; } else { oFocusLevel = GetNearestObjectByTag("asg_magicfocus_5",OBJECT_SELF); if (GetIsObjectValid(oFocusLevel)) { iFmod = -20; } } } } } // ** float vDist = 1.0; // old varible if (vDist<=15.0) { object oCChest = GetNearestObjectByTag("ASG_CCHEST",OBJECT_SELF); vDist = GetDistanceBetween(oCChest,OBJECT_SELF); int vItem; string sName; if (vDist<=30.0) { object oItem = GetLocalObject(OBJECT_SELF,"ASG_BUILDITEM_ITEM"); if (GetIsObjectValid(oItem)) { SetCustomToken(1970000,GetName(oItem)); sName = GetName(oItem); iPass = TRUE; } else { FloatingTextStringOnCreature("Anvil/Alter Not ready, please use Research Desk First.",oPC,FALSE); } if (iPass==TRUE) { int iRLevel = GetLocalInt(OBJECT_SELF,"ASG_EFORGELEVELRSET"); if (iFmod<0) iRLevel = iRLevel + (iFmod*-1); else { iRLevel = iRLevel - iFmod; } sLevel = IntToString(iRLevel); string sArDiv = GetLocalString(OBJECT_SELF,"ASG_MIC_MAGICTYPE"); int iClass; int iPassLevel = FALSE; if (sArDiv == "D") { int iClr = GetLevelByClass(CLASS_TYPE_CLERIC,oPC); int iDrd = GetLevelByClass(CLASS_TYPE_DRUID,oPC); if (iRLevel<=iClr || iRLevel+iFmod<=iDrd) iPassLevel=TRUE; } else { int iSor = GetLevelByClass(CLASS_TYPE_SORCERER,oPC); int iWiz = GetLevelByClass(CLASS_TYPE_WIZARD,oPC); if (iRLevel<=iSor || iRLevel<=iWiz) iPassLevel=TRUE; } int iGPValue=GetGoldPieceValue(oItem)/2; SetLocalInt(OBJECT_SELF,"ASG_BUILDITEM_MATERIALCOST",iGPValue); int iXPloss = iGPValue/25;if (iXPloss<1) iXPloss = 1; SetLocalInt(OBJECT_SELF,"ASG_BUILDITEM_XPLOSS",iXPloss); SetLocalString(OBJECT_SELF,"ASG_BUILDITEM_BLUEPRINT",sBluePrint); SetLocalObject(OBJECT_SELF,"ASG_BUILDITEM_OBJECT",oItem); if (iPassLevel==TRUE) { iResult = TRUE; } else { iResult = FALSE; } } } // get Componant Chest } return iResult; }