//#include "nw_i0_plot" #include "rd_treasure" #include "utl_i_sqluuid" #include "utl_i_sqlocals" int HasHenchman(object oPC); void main() { object oPC = GetLastPCRested(); object oItem; int iGold; int iGoldNow; int iGoldTake; if (GetLastRestEventType()==REST_EVENTTYPE_REST_FINISHED) { SetLocalInt(oPC,"ArenaHasFought",0); if (HasHenchman(oPC)) { iGold = SQLocalsUUID_GetInt(oPC,"RestGold"); iGoldNow = GetGold(oPC); SQLocalsUUID_SetInt(oPC,"RestGold",iGoldNow); if (iGoldNow>iGold) { iGoldTake = (iGoldNow-iGold)/10; if (iGoldTake>0) { SendMessageToPC(oPC,"Your henchman takes " + IntToString(iGoldTake) + " gold pieces as his share of the spoils."); //DelayCommand(0.1f,TakeGold(iGoldTake,oPC)); DelayCommand(0.1f,AssignCommand(oPC,TakeGoldFromCreature(iGoldTake,oPC,TRUE))); } } } if (SQLocalsUUID_GetInt(oPC,"SpecialPowers") > 0) CreateSpecialPowers(oPC); if (SQLocalsUUID_GetInt(oPC,"SuperPowers") > 0) CreateSuperPowers(oPC); if (SQLocalsUUID_GetInt(oPC,"EvilPath") > 0) { CreateEvilPowers(oPC); object oEvil; oEvil = GetObjectByTag("en4_evil"); if (!GetIsObjectValid(oEvil)) SendMessageToPC(oPC,"Error: Unable to check faction."); if (GetIsEnemy(oPC,oEvil)) { AdjustReputation(oPC,oEvil,50); if (GetIsEnemy(oPC,oEvil)) SendMessageToPC(oPC,"Error: Unable to fix faction."); else SendMessageToPC(oPC,"Faction adjusted."); } } oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); if (!GetIsObjectValid(oItem) && GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0) oItem = GetItemInSlot(INVENTORY_SLOT_ARMS,oPC); if (GetIsObjectValid(oItem)) GetSpecialWeaponBonus(oPC,oItem); oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC); if (GetIsObjectValid(oItem)) GetSpecialWeaponBonus(oPC,oItem); } ExportSingleCharacter(oPC); } int HasHenchman(object oPC) { int iResult; int iIndex; object oHench; iResult = FALSE; iIndex = 1; while (iIndex < 7) { oHench = GetHenchman(oPC,iIndex); if (GetIsObjectValid(oHench)) { if (GetTag(oHench) == SQLocalsUUID_GetString(oPC,"Henchman")) iResult = TRUE; } iIndex++; } return iResult; }