#include "inc_itemprop002" void main() { object oPC = GetLastUsedBy(); int iPCLevel = GetHitDice(oPC); int i; int iLevelExceeded = 0; int iItemLevel; object oItem = GetFirstItemInInventory(oPC); int iNetWealth = GetGold(oPC); int iGold; string sItemList = "The following items exceed your level: "; //visual effects //location lLoc = GetLocation(OBJECT_SELF); //effect eEffect = EffectVisualEffect(VFX_COM_SPARKS_PARRY); //ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eEffect, lLoc, 1.0); effect eEffect = EffectVisualEffect(VFX_IMP_CHARM); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, OBJECT_SELF, 1.0); SendMessageToPC(oPC, "========================================"); SendMessageToPC(oPC, "Wealth evalution for " + GetName(oPC)); // Inventory items while ( GetIsObjectValid(oItem) ) { //SendMessageToPC(oPC, "Net Worth "+IntToString(iNetWealth)+" + "+GetName(oItem)+" Cost "+IntToString(GetGoldPieceValue(oItem))); iNetWealth += GetGoldPieceValue(oItem); iItemLevel = GetItemLevel(oItem); if (iItemLevel > iPCLevel) { if (iLevelExceeded = 1) InsertString(sItemList, ", " , GetStringLength(sItemList)); InsertString(sItemList, GetName(oItem), GetStringLength(sItemList)); SendMessageToPC(oPC, GetName(oItem) + " exceeds your level. (Item Level = " + IntToString(iItemLevel) + ")"); iLevelExceeded = 1; } oItem = GetNextItemInInventory(oPC); } // Equipped items for ( i = 0; i < NUM_INVENTORY_SLOTS; i++ ) { oItem = GetItemInSlot(i, oPC); //SendMessageToPC(oPC, "Net Worth "+IntToString(iNetWealth)+" + "+GetName(oItem)+" Cost "+IntToString(GetGoldPieceValue(oItem))); iNetWealth += GetGoldPieceValue(oItem); iItemLevel = GetItemLevel(oItem); if (iItemLevel > iPCLevel) { if (iLevelExceeded = 1) InsertString(sItemList, ", " , GetStringLength(sItemList)); InsertString(sItemList, GetName(oItem), GetStringLength(sItemList)); SendMessageToPC(oPC, GetName(oItem) + " exceeds your level. (Item Level = " + IntToString(iItemLevel) + ")"); iLevelExceeded = 1; } } if (iLevelExceeded == 0) { sItemList = "You have no items that exceed your level."; SendMessageToPC(oPC, "You have no items that exceed your level."); } switch(iPCLevel) { case 1: iGold = 300; break; case 2: iGold = 900; break; case 3: iGold = 2700; break; case 4: iGold = 5400; break; case 5: iGold = 9000; break; case 6: iGold = 13000; break; case 7: iGold = 19000; break; case 8: iGold = 27000; break; case 9: iGold = 36000; break; case 10: iGold = 49000; break; case 11: iGold = 66000; break; case 12: iGold = 88000; break; case 13: iGold = 110000; break; case 14: iGold = 150000; break; case 15: iGold = 200000; break; case 16: iGold = 260000; break; case 17: iGold = 340000; break; case 18: iGold = 440000; break; case 19: iGold = 580000; break; case 20: iGold = 760000; break; case 21: iGold = 940000; break; case 22: iGold = 1120000; break; case 23: iGold = 1300000; break; case 24: iGold = 1480000; break; case 25: iGold = 1660000; break; case 26: iGold = 1840000; break; case 27: iGold = 2020000; break; case 28: iGold = 2200000; break; case 29: iGold = 2380000; break; case 30: iGold = 2560000; break; case 31: iGold = 2740000; break; case 32: iGold = 2920000; break; case 33: iGold = 3100000; break; case 34: iGold = 3280000; break; case 35: iGold = 3460000; break; case 36: iGold = 3640000; break; case 37: iGold = 3820000; break; case 38: iGold = 4000000; break; case 39: iGold = 4180000; break; case 40: iGold = 4360000; break; //default: iGold = -1; } SendMessageToPC(oPC, "Your net wealth is " + IntToString(iNetWealth)); SendMessageToPC(oPC, "Suggested wealth for level " + IntToString(iPCLevel) + " is " + IntToString(iGold)); if (iGold < iNetWealth) { int iDiff = iNetWealth - iGold; SendMessageToPC(oPC, "Your wealth is " + IntToString(iDiff) + " GP over."); iLevelExceeded = 1; } if (iLevelExceeded == 0) { SendMessageToPC(oPC, GetName(oPC) + " is the fairest of all."); PlaySound("sco_positive"); } else PlaySound("as_cv_glasbreak2"); SendMessageToPC(oPC, "========================================"); SetDescription(OBJECT_SELF, "Use this mirror to see a reflection of your character and evaluate your wealth. ~ Reflection of " + GetName(oPC) + ": " + GetDescription(oPC) + " ~ Wealth Evaluation: " + sItemList + " Your net wealth is " + IntToString(iNetWealth) + ". Suggested wealth for your level (" + IntToString(iPCLevel) + ") is " + IntToString(iGold) + "."); }