PWE_PRC8/_module/nss/rr_treasure.nss
Jaysyn904 ee1dc35889 Initial Commit
Initial Commit
2025-04-03 10:29:41 -04:00

1881 lines
78 KiB
Plaintext

//::///////////////////////////////////////////////////////////////////////////
//::
//:: This file was generated by the NWTREASURE program.
//::
//:: Elements Copyright (c) 2001-2002 Bioware Corp.
//::
//::///////////////////////////////////////////////////////////////////////////
//
// Globals used to pass arguments around (reduces compiled script size)
//
int g_nM;
int g_nS;
object g_oA;
object g_oT;
int g_n;
//
// The following are only used by the respawn system
//
location g_loc;
string g_sProfile;
float g_fDelay;
int g_nSingleShot;
int g_nSomethingSpawned;
//
// Level range definitions
//
int RANGE_1_MIN = 0;
int RANGE_1_MAX = 5;
int RANGE_2_MIN = 6;
int RANGE_2_MAX = 8;
int RANGE_3_MIN = 9;
int RANGE_3_MAX = 10;
int RANGE_4_MIN = 11;
int RANGE_4_MAX = 13;
int RANGE_5_MIN = 14;
int RANGE_5_MAX = 16;
int RANGE_6_MIN = 17;
int RANGE_6_MAX = 100;
//
// Forward reference routines
//
void dbSpeak (string s);
int GetDefaultRespawnTime (); //Only used for SW style
//
// Get the level range from the hit dice
//
int GetLevelRange (int nHD)
{
if (nHD <= RANGE_3_MAX)
{
if (nHD <= RANGE_1_MAX)
return 1;
if (nHD <= RANGE_2_MAX)
return 2;
return 3;
}
else
{
if (nHD >= RANGE_6_MIN)
return 6;
if (nHD <= RANGE_5_MIN)
return 5;
return 4;
}
}
//
// Validate the objects
//
int InitializeGenerateTreasure (object oA, object oT)
{
dbSpeak ("*********************NEW TREASURE*************************");
if (GetIsObjectValid (oA) == FALSE)
{
dbSpeak ("Aborted. Attacker or last opener isn't valid.");
return 0;
}
dbSpeak ("For: " + GetName (oA));
if (oT == OBJECT_INVALID)
{
oT = oA;
}
g_oA = oA;
g_oT = oT;
return 1;
}
//
// Create an item on the object
//
void MyCreateItemOnObjectInt (string sItemTemplate, int nStackSize, int nStackRange)
{
//
// Sanity check
//
if (sItemTemplate == "")
{
PrintString ("blank item passed into MyCreateItemOnObject.");
}
//
// Debug string
//
dbSpeak (sItemTemplate);
//
// If a stack range was supplied, then add a random amount
//
if (nStackRange >= 2)
nStackSize += Random (nStackRange);
//
// Create the item
//
object oItem = CreateItemOnObject(sItemTemplate, g_oT, nStackSize);
if (GetIsObjectValid(oItem) == FALSE && sItemTemplate != "NW_IT_GOLD001") // gold :)
{
// * check to see if item is there in a stack, if not give warning
if (GetIsObjectValid(GetItemPossessedBy(g_oT, GetStringUpperCase(sItemTemplate))) == FALSE &&
GetIsObjectValid(GetItemPossessedBy(g_oT, GetStringLowerCase(sItemTemplate))) == FALSE)
{
PrintString("**DESIGN***");
PrintString("******" + sItemTemplate + " is an invalid item template.");
PrintString("*******");
}
}
}
//
// No suffixing
//
void MyCreateItemOnObjectA0_P0 (string sItemTemplate)
{
MyCreateItemOnObjectInt (sItemTemplate, 1, 1);
}
void MyCreateItemOnObjectA1_P0 (string sItemTemplate, int nStackSize)
{
MyCreateItemOnObjectInt (sItemTemplate, nStackSize, 1);
}
void MyCreateItemOnObjectA2_P0 (string sItemTemplate, int nStackSize, int nStackRange)
{
MyCreateItemOnObjectInt (sItemTemplate, nStackSize, nStackRange);
}
//
// 1 digit suffixing
//
void MyCreateItemOnObjectA0_P1 (string sItemTemplate, int nIndex)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight (IntToString (nIndex), 1), 1, 1);
}
void MyCreateItemOnObjectA1_P1 (string sItemTemplate, int nIndex, int nStackSize)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight (IntToString (nIndex), 1), nStackSize, 1);
}
void MyCreateItemOnObjectA2_P1 (string sItemTemplate, int nIndex, int nStackSize, int nStackRange)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight (IntToString (nIndex), 1), nStackSize, nStackRange);
}
//
// 2 digit suffixing
//
void MyCreateItemOnObjectA0_P2 (string sItemTemplate, int nIndex)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("0" + IntToString (nIndex), 2), 1, 1);
}
void MyCreateItemOnObjectA1_P2 (string sItemTemplate, int nIndex, int nStackSize)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("0" + IntToString (nIndex), 2), nStackSize, 1);
}
void MyCreateItemOnObjectA2_P2 (string sItemTemplate, int nIndex, int nStackSize, int nStackRange)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("0" + IntToString (nIndex), 2), nStackSize, nStackRange);
}
//
// 3 digit suffixing
//
void MyCreateItemOnObjectA0_P3 (string sItemTemplate, int nIndex)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("00" + IntToString (nIndex), 3), 1, 1);
}
void MyCreateItemOnObjectA1_P3 (string sItemTemplate, int nIndex, int nStackSize)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("00" + IntToString (nIndex), 3), nStackSize, 1);
}
void MyCreateItemOnObjectA2_P3 (string sItemTemplate, int nIndex, int nStackSize, int nStackRange)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("00" + IntToString (nIndex), 3), nStackSize, nStackRange);
}
//
// 4 digit suffixing
//
void MyCreateItemOnObjectA0_P4 (string sItemTemplate, int nIndex)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("000" + IntToString (nIndex), 4), 1, 1);
}
void MyCreateItemOnObjectA1_P4 (string sItemTemplate, int nIndex, int nStackSize)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("000" + IntToString (nIndex), 4), nStackSize, 1);
}
void MyCreateItemOnObjectA2_P4 (string sItemTemplate, int nIndex, int nStackSize, int nStackRange)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("000" + IntToString (nIndex), 4), nStackSize, nStackRange);
}
//
// 5 digit suffixing
//
void MyCreateItemOnObjectA0_P5 (string sItemTemplate, int nIndex)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("0000" + IntToString (nIndex), 5), 1, 1);
}
void MyCreateItemOnObjectA1_P5 (string sItemTemplate, int nIndex, int nStackSize)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("0000" + IntToString (nIndex), 5), nStackSize, 1);
}
void MyCreateItemOnObjectA2_P5 (string sItemTemplate, int nIndex, int nStackSize, int nStackRange)
{
MyCreateItemOnObjectInt (sItemTemplate + GetStringRight ("0000" + IntToString (nIndex), 5), nStackSize, nStackRange);
}
//
// Create gold
//
void MyCreateGold (int nCount, int nDie, float fMultiplier)
{
int nGold;
switch (nDie)
{
case 2: nGold = d2 (nCount); break;
case 3: nGold = d3 (nCount); break;
case 4: nGold = d4 (nCount); break;
case 6: nGold = d6 (nCount); break;
case 8: nGold = d8 (nCount); break;
case 10: nGold = d10 (nCount); break;
case 12: nGold = d12 (nCount); break;
case 20: nGold = d20 (nCount); break;
case 100: nGold = d100 (nCount); break;
default:
nGold = 0;
while (nCount > 0)
{
nCount--;
nGold += Random (nDie) + 1;
}
break;
}
float fGold = IntToFloat (nGold) * fMultiplier;
nGold = FloatToInt (fGold);
if (nGold < 1)
nGold = 1;
MyCreateItemOnObjectInt ("NW_IT_GOLD001", nGold, 1);
}
//
// Random Class to Use
//
int MyRandomClassToUse (object oCharacter)
{
int nTotal = GetHitDice (oCharacter);
if (nTotal < 1)
return CLASS_TYPE_INVALID;
int nState1 = GetLevelByPosition (1, oCharacter);
int nState2 = GetLevelByPosition (2, oCharacter);
int nUseClass = Random (nTotal);
if (nUseClass < nState1)
return GetClassByPosition (1, oCharacter);
else
if (nUseClass < nState1 + nState2)
return GetClassByPosition (2, oCharacter);
else
return GetClassByPosition (3, oCharacter);
}
//::///////////////////////////////////////////////////////////////////////////
//::
//:: **** BEGIN GENERATED CODE ****
//::
//::///////////////////////////////////////////////////////////////////////////
void dbSpeak (string s)
{
}
string g_sS0 = "nw_maarcl";
string g_sS1 = "nw_aarcl";
string g_sS2 = "nw_waxgr";
string g_sS3 = "nw_waxmgr";
string g_sS4 = "nw_waxhn";
string g_sS5 = "nw_waxmhn";
string g_sS6 = "nw_waxbt";
string g_sS7 = "nw_waxmbt";
string g_sS8 = "nw_wswbs";
string g_sS9 = "nw_wswmbs";
string g_sS10 = "nw_wswdg";
string g_sS11 = "nw_wswmdg";
string g_sS12 = "nw_wswgs";
string g_sS13 = "nw_wswmgs";
string g_sS14 = "nw_wswls";
string g_sS15 = "nw_wswmls";
string g_sS16 = "nw_wswka";
string g_sS17 = "nw_wswmka";
string g_sS18 = "nw_wswrp";
string g_sS19 = "nw_wswmrp";
string g_sS20 = "nw_wswsc";
string g_sS21 = "nw_wswmsc";
string g_sS22 = "nw_wswss";
string g_sS23 = "nw_wswmss";
string g_sS24 = "nw_wblcl";
string g_sS25 = "nw_wblmcl";
string g_sS26 = "nw_wblfh";
string g_sS27 = "nw_wblmfh";
string g_sS28 = "nw_wblfl";
string g_sS29 = "nw_wblmfl";
string g_sS30 = "nw_wblhl";
string g_sS31 = "nw_wblmhl";
string g_sS32 = "nw_wblhw";
string g_sS33 = "nw_wblmhw";
string g_sS34 = "nw_wblml";
string g_sS35 = "nw_wblmml";
string g_sS36 = "nw_wdbma";
string g_sS37 = "nw_wdbmma";
string g_sS38 = "nw_wdbax";
string g_sS39 = "nw_wdbmax";
string g_sS40 = "nw_wdbqs";
string g_sS41 = "nw_wdbmqs";
string g_sS42 = "nw_wdbsw";
string g_sS43 = "nw_wdbmsw";
string g_sS44 = "nw_wspka";
string g_sS45 = "nw_wspmka";
string g_sS46 = "nw_wspku";
string g_sS47 = "nw_wspmku";
string g_sS48 = "nw_wspsc";
string g_sS49 = "nw_wspmsc";
string g_sS50 = "nw_wplhb";
string g_sS51 = "nw_wplmhb";
string g_sS52 = "nw_wplsc";
string g_sS53 = "nw_wplmsc";
string g_sS54 = "nw_wplss";
string g_sS55 = "nw_wplmss";
string g_sS56 = "nw_wbwxh";
string g_sS57 = "nw_wbwmxh";
string g_sS58 = "nw_wbwxl";
string g_sS59 = "nw_wbwmxl";
string g_sS60 = "nw_wbwmln";
string g_sS61 = "nw_wbwln";
string g_sS62 = "nw_wbwmsh";
string g_sS63 = "nw_wbwsh";
string g_sS64 = "nw_wbwsl";
string g_sS65 = "nw_wbwmsl";
string g_sS66 = "nw_wthmdt";
string g_sS67 = "nw_wthdt";
string g_sS68 = "nw_wthsh";
string g_sS69 = "nw_wthmsh";
string g_sS70 = "nw_wthax";
string g_sS71 = "nw_wthmax";
string g_sS72 = "nw_ashlw";
string g_sS73 = "nw_ashmlw";
string g_sS74 = "nw_ashsw";
string g_sS75 = "nw_ashmsw";
string g_sS76 = "nw_ashto";
string g_sS77 = "nw_ashmto";
string g_sS78 = "nw_it_sparscr";
string g_sS79 = "nw_it_spdvscr";
string g_sS80 = "nw_wmgmrd";
string g_sS81 = "nw_wmgwn";
string g_sS82 = "nw_it_mboots";
string g_sS83 = "nw_it_mglove";
string g_sS84 = "nw_it_mbracer";
string g_sS85 = "recipeformort";
string g_sS86 = "tink_recipe";
string g_sS87 = "trecipe";
string g_sS88 = "nw_mcloth";
string g_sS89 = "nw_it_novel";
string g_sS90 = "nw_armhe";
string g_sS91 = "nw_it_mbelt";
string g_sS92 = "cloak";
string g_sS93 = "boots";
string g_sS94 = "belt";
string g_sS95 = "nw_it_mneck";
string g_sS96 = "nw_it_mring";
string g_sS97 = "ring";
string g_sS98 = "nw_it_contain";
string g_sS99 = "nw_it_mmidmisc";
string g_sS100 = "bookofsummon";
string g_sS101 = "nw_wblmms";
string g_sS102 = "nw_wmgrd";
string g_sS103 = "nw_wammar";
string g_sS104 = "nw_wammbo";
string g_sS105 = "nw_wammbu";
string g_sS106 = "nw_wblms";
string g_sS107 = "nw_wmgst";
string g_sS108 = "nw_it_thnmisc";
string g_sS109 = "nw_it_mpotion";
string g_sS110 = "it_mpotion";
string g_sS111 = "sy_potion";
void CT_rr_misc_lower (object oA, object oT);
void CT_rr_uniques (object oA, object oT);
void CT_rr_master_lewt_high (object oA, object oT);
void CT_rr_master_lewt_med (object oA, object oT);
void CT_rr_master_lewt_low (object oA, object oT);
void CT_rr_master_lewt (object oA, object oT);
void CI_rr_low_weap_armor ()
{
switch (Random (104))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS0,51); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS0,53); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS0,52); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS0,59); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS0,50); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS0,46); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS0,44); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS0,43); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS0,45); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS0,49); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS0,35); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS0,47); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS0,48); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS1,6); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS1,5); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS1,7); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS1,12); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS1,1); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS1,9); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS1,2); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS1,10); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS1,4); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS1,8); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS1,3); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS2,1); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS3,2); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS4,1); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS5,2); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS6,1); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS7,2); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS8,1); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS9,2); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS10,1); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS11,2); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS12,1); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS13,2); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS14,1); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS15,2); break;
case 38: MyCreateItemOnObjectA0_P3 (g_sS16,1); break;
case 39: MyCreateItemOnObjectA0_P3 (g_sS17,2); break;
case 40: MyCreateItemOnObjectA0_P3 (g_sS18,1); break;
case 41: MyCreateItemOnObjectA0_P3 (g_sS19,2); break;
case 42: MyCreateItemOnObjectA0_P3 (g_sS20,1); break;
case 43: MyCreateItemOnObjectA0_P3 (g_sS21,2); break;
case 44: MyCreateItemOnObjectA0_P3 (g_sS22,1); break;
case 45: MyCreateItemOnObjectA0_P3 (g_sS23,2); break;
case 46: MyCreateItemOnObjectA0_P3 (g_sS24,1); break;
case 47: MyCreateItemOnObjectA0_P3 (g_sS25,2); break;
case 48: MyCreateItemOnObjectA0_P3 (g_sS26,1); break;
case 49: MyCreateItemOnObjectA0_P3 (g_sS27,2); break;
case 50: MyCreateItemOnObjectA0_P3 (g_sS28,1); break;
case 51: MyCreateItemOnObjectA0_P3 (g_sS29,2); break;
case 52: MyCreateItemOnObjectA0_P3 (g_sS30,1); break;
case 53: MyCreateItemOnObjectA0_P3 (g_sS31,2); break;
case 54: MyCreateItemOnObjectA0_P3 (g_sS32,1); break;
case 55: MyCreateItemOnObjectA0_P3 (g_sS33,2); break;
case 56: MyCreateItemOnObjectA0_P3 (g_sS34,1); break;
case 57: MyCreateItemOnObjectA0_P3 (g_sS35,2); break;
case 58: MyCreateItemOnObjectA0_P3 (g_sS36,1); break;
case 59: MyCreateItemOnObjectA0_P3 (g_sS37,2); break;
case 60: MyCreateItemOnObjectA0_P3 (g_sS38,1); break;
case 61: MyCreateItemOnObjectA0_P3 (g_sS39,2); break;
case 62: MyCreateItemOnObjectA0_P3 (g_sS40,1); break;
case 63: MyCreateItemOnObjectA0_P3 (g_sS41,2); break;
case 64: MyCreateItemOnObjectA0_P3 (g_sS42,1); break;
case 65: MyCreateItemOnObjectA0_P3 (g_sS43,2); break;
case 66: MyCreateItemOnObjectA0_P3 (g_sS44,1); break;
case 67: MyCreateItemOnObjectA0_P3 (g_sS45,2); break;
case 68: MyCreateItemOnObjectA0_P3 (g_sS46,1); break;
case 69: MyCreateItemOnObjectA0_P3 (g_sS47,2); break;
case 70: MyCreateItemOnObjectA0_P3 (g_sS48,1); break;
case 71: MyCreateItemOnObjectA0_P3 (g_sS49,2); break;
case 72: MyCreateItemOnObjectA0_P3 (g_sS50,1); break;
case 73: MyCreateItemOnObjectA0_P3 (g_sS51,2); break;
case 74: MyCreateItemOnObjectA0_P3 (g_sS52,1); break;
case 75: MyCreateItemOnObjectA0_P3 (g_sS53,2); break;
case 76: MyCreateItemOnObjectA0_P3 (g_sS54,1); break;
case 77: MyCreateItemOnObjectA0_P3 (g_sS55,2); break;
case 78: MyCreateItemOnObjectA0_P3 (g_sS56,1); break;
case 79: MyCreateItemOnObjectA0_P3 (g_sS57,2); break;
case 80: MyCreateItemOnObjectA0_P3 (g_sS58,1); break;
case 81: MyCreateItemOnObjectA0_P3 (g_sS59,2); break;
case 82: MyCreateItemOnObjectA0_P3 (g_sS60,10); break;
case 83: MyCreateItemOnObjectA0_P3 (g_sS61,1); break;
case 84: MyCreateItemOnObjectA0_P3 (g_sS60,2); break;
case 85: MyCreateItemOnObjectA0_P3 (g_sS62,10); break;
case 86: MyCreateItemOnObjectA0_P3 (g_sS63,1); break;
case 87: MyCreateItemOnObjectA0_P3 (g_sS62,2); break;
case 88: MyCreateItemOnObjectA0_P3 (g_sS64,1); break;
case 89: MyCreateItemOnObjectA0_P3 (g_sS65,1); break;
case 90: MyCreateItemOnObjectA2_P3 (g_sS66,6,1,10); break;
case 91: MyCreateItemOnObjectA2_P3 (g_sS67,1,1,10); break;
case 92: MyCreateItemOnObjectA2_P3 (g_sS66,2,1,10); break;
case 93: MyCreateItemOnObjectA2_P3 (g_sS66,5,1,10); break;
case 94: MyCreateItemOnObjectA2_P3 (g_sS68,1,1,10); break;
case 95: MyCreateItemOnObjectA2_P3 (g_sS69,2,1,10); break;
case 96: MyCreateItemOnObjectA2_P3 (g_sS70,1,1,10); break;
case 97: MyCreateItemOnObjectA2_P3 (g_sS71,2,1,10); break;
case 98: MyCreateItemOnObjectA0_P3 (g_sS72,1); break;
case 99: MyCreateItemOnObjectA0_P3 (g_sS73,2); break;
case 100: MyCreateItemOnObjectA0_P3 (g_sS74,1); break;
case 101: MyCreateItemOnObjectA0_P3 (g_sS75,2); break;
case 102: MyCreateItemOnObjectA0_P3 (g_sS76,1); break;
case 103: MyCreateItemOnObjectA0_P3 (g_sS77,2); break;
}
}
void CI_rr_scrolls_1to4 ()
{
switch (Random (78))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS78,414); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS78,211); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS78,212); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS78,112); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS78,213); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS78,405); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS78,107); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS79,202); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS78,307); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS78,217); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS78,110); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS78,406); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS78,411); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS78,206); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS78,3); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS78,301); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS78,219); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS78,416); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS78,215); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS78,101); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS78,412); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS78,413); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS78,309); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS78,304); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS78,220); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS78,208); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS78,209); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS78,103); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS78,312); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS78,308); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS78,106); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS78,408); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS78,207); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS78,314); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS78,216); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS78,218); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS79,201); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS78,417); break;
case 38: MyCreateItemOnObjectA0_P3 (g_sS78,4); break;
case 39: MyCreateItemOnObjectA0_P3 (g_sS78,310); break;
case 40: MyCreateItemOnObjectA0_P3 (g_sS78,104); break;
case 41: MyCreateItemOnObjectA0_P3 (g_sS78,302); break;
case 42: MyCreateItemOnObjectA0_P3 (g_sS78,109); break;
case 43: MyCreateItemOnObjectA0_P3 (g_sS78,202); break;
case 44: MyCreateItemOnObjectA0_P3 (g_sS78,401); break;
case 45: MyCreateItemOnObjectA0_P3 (g_sS78,315); break;
case 46: MyCreateItemOnObjectA0_P3 (g_sS78,113); break;
case 47: MyCreateItemOnObjectA0_P3 (g_sS79,402); break;
case 48: MyCreateItemOnObjectA0_P3 (g_sS78,221); break;
case 49: MyCreateItemOnObjectA0_P3 (g_sS78,409); break;
case 50: MyCreateItemOnObjectA0_P3 (g_sS78,415); break;
case 51: MyCreateItemOnObjectA0_P3 (g_sS78,102); break;
case 52: MyCreateItemOnObjectA0_P3 (g_sS78,303); break;
case 53: MyCreateItemOnObjectA0_P3 (g_sS78,111); break;
case 54: MyCreateItemOnObjectA0_P3 (g_sS78,2); break;
case 55: MyCreateItemOnObjectA0_P3 (g_sS79,301); break;
case 56: MyCreateItemOnObjectA0_P3 (g_sS78,402); break;
case 57: MyCreateItemOnObjectA0_P3 (g_sS79,302); break;
case 58: MyCreateItemOnObjectA0_P3 (g_sS78,201); break;
case 59: MyCreateItemOnObjectA0_P3 (g_sS78,1); break;
case 60: MyCreateItemOnObjectA0_P3 (g_sS79,401); break;
case 61: MyCreateItemOnObjectA0_P3 (g_sS78,210); break;
case 62: MyCreateItemOnObjectA0_P3 (g_sS78,205); break;
case 63: MyCreateItemOnObjectA0_P3 (g_sS78,410); break;
case 64: MyCreateItemOnObjectA0_P3 (g_sS79,203); break;
case 65: MyCreateItemOnObjectA0_P3 (g_sS78,108); break;
case 66: MyCreateItemOnObjectA0_P3 (g_sS78,313); break;
case 67: MyCreateItemOnObjectA0_P3 (g_sS79,204); break;
case 68: MyCreateItemOnObjectA0_P3 (g_sS78,305); break;
case 69: MyCreateItemOnObjectA0_P3 (g_sS78,403); break;
case 70: MyCreateItemOnObjectA0_P3 (g_sS78,105); break;
case 71: MyCreateItemOnObjectA0_P3 (g_sS78,203); break;
case 72: MyCreateItemOnObjectA0_P3 (g_sS78,306); break;
case 73: MyCreateItemOnObjectA0_P3 (g_sS78,404); break;
case 74: MyCreateItemOnObjectA0_P3 (g_sS78,214); break;
case 75: MyCreateItemOnObjectA0_P3 (g_sS78,311); break;
case 76: MyCreateItemOnObjectA0_P3 (g_sS78,407); break;
case 77: MyCreateItemOnObjectA0_P3 (g_sS78,204); break;
}
}
void CI_rr_wands_rods_lower ()
{
switch (Random (28))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS80,6); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS81,3); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS81,2); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS81,13); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS81,7); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS81,4); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS81,6); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS81,5); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS81,12); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS81,10); break;
case 10: MyCreateItemOnObjectA0_P0 ("wandofburninghan"); break;
case 11: MyCreateItemOnObjectA0_P0 ("wandofcharmmonst"); break;
case 12: MyCreateItemOnObjectA0_P0 ("wandofcharmperso"); break;
case 13: MyCreateItemOnObjectA0_P0 ("wandofcolorspray"); break;
case 14: MyCreateItemOnObjectA0_P0 ("wandofcontagion"); break;
case 15: MyCreateItemOnObjectA0_P0 ("wandofcuringi"); break;
case 16: MyCreateItemOnObjectA0_P0 ("wandofcuringii"); break;
case 17: MyCreateItemOnObjectA0_P0 ("wandofenfeebleme"); break;
case 18: MyCreateItemOnObjectA0_P0 ("wandofholdperson"); break;
case 19: MyCreateItemOnObjectA0_P0 ("wandofinvisibili"); break;
case 20: MyCreateItemOnObjectA0_P0 ("wandofknock"); break;
case 21: MyCreateItemOnObjectA0_P0 ("wandoflight"); break;
case 22: MyCreateItemOnObjectA0_P0 ("wandofmelfs"); break;
case 23: MyCreateItemOnObjectA0_P0 ("wandofneutralize"); break;
case 24: MyCreateItemOnObjectA0_P0 ("wandofpoison"); break;
case 25: MyCreateItemOnObjectA0_P0 ("wandofsilence"); break;
case 26: MyCreateItemOnObjectA0_P0 ("wandofstoneskin"); break;
case 27: MyCreateItemOnObjectA0_P0 ("wandofweb"); break;
}
}
void CI_rr_misc_lower ()
{
switch (Random (105))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS82,15); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS82,10); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS82,11); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS82,1); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS82,6); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS82,18); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS82,19); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS0,104); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS0,55); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS0,88); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS0,31); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS0,92); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS83,16); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS83,17); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS83,21); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS83,22); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS83,26); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS83,27); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS84,12); break;
case 19: case 20: case 21: case 22:
case 23: case 24: case 25: case 26: MyCreateItemOnObjectA0_P0 ("acidflask"); break;
case 27: case 28: case 29: case 30:
case 31: case 32: case 33: case 34: MyCreateItemOnObjectA0_P0 ("alchemistsfire"); break;
case 35: case 36: case 37: case 38:
case 39: case 40: case 41: case 42: MyCreateItemOnObjectA0_P0 ("holywaterflask"); break;
case 43: case 44: case 45: case 46:
case 47: case 48: case 49: case 50: MyCreateItemOnObjectA0_P0 ("lantern"); break;
case 51: case 52: case 53: case 54:
case 55: case 56: case 57: case 58: MyCreateItemOnObjectA0_P0 ("oilflask"); break;
case 59: case 60: case 61: case 62:
case 63: case 64: case 65: case 66: MyCreateItemOnObjectA0_P0 ("torch"); break;
case 67: MyCreateItemOnObjectA0_P0 ("legendofswifttoo"); break;
case 68: MyCreateItemOnObjectA0_P0 ("windwalkerstale"); break;
case 69: MyCreateItemOnObjectA0_P0 ("bitingbastardrec"); break;
case 70: MyCreateItemOnObjectA0_P0 ("recipegargoylebl"); break;
case 71: MyCreateItemOnObjectA0_P0 ("recipeflamedagge"); break;
case 72: MyCreateItemOnObjectA0_P0 ("recipecrimsonswo"); break;
case 73: MyCreateItemOnObjectA0_P0 ("recipemaceconfin"); break;
case 74: MyCreateItemOnObjectA0_P0 ("recipegoldenrapi"); break;
case 75: MyCreateItemOnObjectA0_P0 ("recipegargoylehe"); break;
case 76: MyCreateItemOnObjectA0_P0 ("recipelongbowdea"); break;
case 77: MyCreateItemOnObjectA0_P3 (g_sS85,1); break;
case 78: MyCreateItemOnObjectA0_P0 ("recipeforquarfea"); break;
case 79: MyCreateItemOnObjectA0_P0 ("recipeforquarter"); break;
case 80: MyCreateItemOnObjectA0_P0 ("recipefordragons"); break;
case 81: MyCreateItemOnObjectA0_P0 ("recipeforwaraxe"); break;
case 82: MyCreateItemOnObjectA0_P0 ("recipeforverdi"); break;
case 83: MyCreateItemOnObjectA0_P0 ("recipemaceconfin"); break;
case 84: MyCreateItemOnObjectA0_P0 ("recipeforskele"); break;
case 85: MyCreateItemOnObjectA0_P0 ("recipeformage"); break;
case 86: MyCreateItemOnObjectA0_P0 ("recipeforgolde"); break;
case 87: MyCreateItemOnObjectA0_P0 ("recipeforfirebla"); break;
case 88: MyCreateItemOnObjectA0_P2 (g_sS86,3); break;
case 89: MyCreateItemOnObjectA0_P2 (g_sS87,4); break;
case 90: MyCreateItemOnObjectA0_P2 (g_sS87,5); break;
case 91: MyCreateItemOnObjectA0_P2 (g_sS86,2); break;
case 92: MyCreateItemOnObjectA0_P2 (g_sS86,1); break;
case 93: MyCreateItemOnObjectA0_P0 ("recipeforclockof"); break;
case 94: MyCreateItemOnObjectA0_P0 ("ats_s_w902_n_cop"); break;
case 95: MyCreateItemOnObjectA0_P0 ("hc_thunder"); break;
case 96: MyCreateItemOnObjectA0_P0 ("hc_tangle"); break;
case 97: case 98: case 99: case 100:
case 101: case 102: case 103: case 104: MyCreateItemOnObjectA0_P0 ("foodration"); break;
}
}
void CI_rr_trade_items ()
{
switch (Random (54))
{
case 0: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_ada",1,4); break;
case 1: MyCreateItemOnObjectA0_P0 ("ats_r_bee1_n_wax"); break;
case 2: MyCreateItemOnObjectA0_P0 ("broiledspicygree"); break;
case 3: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_bro",1,4); break;
case 4: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_cop",1,4); break;
case 5: MyCreateItemOnObjectA0_P0 ("ats_c_l002_n_llh"); break;
case 6: MyCreateItemOnObjectA0_P0 ("ats_c_l001_n_llh"); break;
case 7: MyCreateItemOnObjectA0_P0 ("ats_c_l003_n_llh"); break;
case 8: MyCreateItemOnObjectA0_P0 ("ats_c_l002_n_mlh"); break;
case 9: MyCreateItemOnObjectA0_P0 ("ats_c_l001_n_mlh"); break;
case 10: MyCreateItemOnObjectA0_P0 ("ats_c_l003_n_mlh"); break;
case 11: MyCreateItemOnObjectA0_P0 ("ats_c_l002_n_slh"); break;
case 12: MyCreateItemOnObjectA0_P0 ("ats_c_l001_n_slh"); break;
case 13: MyCreateItemOnObjectA0_P0 ("ats_c_l003_n_slh"); break;
case 14: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_gol",1,4); break;
case 15: MyCreateItemOnObjectA0_P0 ("ats_c_l202_n_llh"); break;
case 16: MyCreateItemOnObjectA0_P0 ("ats_c_l201_n_llh"); break;
case 17: MyCreateItemOnObjectA0_P0 ("ats_c_l203_n_llh"); break;
case 18: MyCreateItemOnObjectA0_P0 ("ats_c_l202_n_mlh"); break;
case 19: MyCreateItemOnObjectA0_P0 ("ats_c_l201_n_mlh"); break;
case 20: MyCreateItemOnObjectA0_P0 ("ats_c_l203_n_mlh"); break;
case 21: MyCreateItemOnObjectA0_P0 ("ats_c_l202_n_slh"); break;
case 22: MyCreateItemOnObjectA0_P0 ("ats_c_l201_n_slh"); break;
case 23: MyCreateItemOnObjectA0_P0 ("ats_c_l203_n_slh"); break;
case 24: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_iro",1,4); break;
case 25: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_mit",1,4); break;
case 26: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_myr",1,4); break;
case 27: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_rub",1,4); break;
case 28: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_bla",1,4); break;
case 29: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_sil",1,4); break;
case 30: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_sye",1,4); break;
case 31: MyCreateItemOnObjectA2_P0 ("ats_c_b001_n_ver",1,4); break;
case 32: MyCreateItemOnObjectA0_P0 ("ats_s_w902_n_cop"); break;
case 33: MyCreateItemOnObjectA0_P0 ("ats_s_w911_n_cop"); break;
case 34: MyCreateItemOnObjectA0_P0 ("ats_s_k102_n_cop"); break;
case 35: MyCreateItemOnObjectA0_P0 ("ats_s_k103_n_cop"); break;
case 36: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_ame"); break;
case 37: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_bsf"); break;
case 38: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_dia"); break;
case 39: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_eme"); break;
case 40: MyCreateItemOnObjectA0_P0 ("ats_c_g001_r_fop"); break;
case 41: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_jde"); break;
case 42: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_laz"); break;
case 43: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_mal"); break;
case 44: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_oyx"); break;
case 45: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_opl"); break;
case 46: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_prl"); break;
case 47: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_rby"); break;
case 48: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_sap"); break;
case 49: MyCreateItemOnObjectA0_P0 ("ats_r_gem0_n_trq"); break;
case 50: MyCreateItemOnObjectA0_P0 ("ats_r_cffa_n_pot"); break;
case 51: MyCreateItemOnObjectA0_P0 ("ats_r_cffc_n_pot"); break;
case 52: MyCreateItemOnObjectA0_P0 ("ats_r_cffe_n_pot"); break;
case 53: MyCreateItemOnObjectA0_P0 ("ats_r_cfff_n_pot"); break;
}
}
void CI_rr_scrolls_5to7 ()
{
switch (Random (39))
{
case 0: { int n = 1 + Random (3); int i; for (i = 0; i < n; i++) CI_rr_scrolls_1to4(); } break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS78,603); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS78,509); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS78,607); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS78,610); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS78,502); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS78,507); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS78,707); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS78,704); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS78,501); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS78,503); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS78,608); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS78,504); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS78,708); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS78,601); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS78,602); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS79,701); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS78,508); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS78,612); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS78,613); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS78,505); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS78,511); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS78,512); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS78,513); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS78,611); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS78,506); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS78,705); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS78,604); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS78,702); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS78,706); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS79,501); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS79,702); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS78,609); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS78,701); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS78,510); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS78,605); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS78,703); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS78,614); break;
case 38: MyCreateItemOnObjectA0_P3 (g_sS78,606); break;
}
}
void CI_rr_wands_stronger ()
{
switch (Random (19))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS81,11); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS81,8); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS81,9); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS80,4); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS80,6); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS80,2); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS80,5); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS80,3); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS102,2); break;
case 9: case 10: case 11: case 12:
case 13: case 14: case 15: case 16:
case 17: case 18: CI_rr_wands_rods_lower(); break;
}
}
void CI_rr_med_weap_armor ()
{
switch (Random (118))
{
case 0: case 1: case 2: case 3:
case 4: case 5: case 6: case 7:
case 8: case 9: case 10: case 11:
case 12: case 13: case 14: case 15:
case 16: case 17: case 18: case 19: CI_rr_low_weap_armor(); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS0,64); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS0,68); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS0,69); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS0,59); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS0,74); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS0,67); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS0,71); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS0,72); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS0,75); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS0,65); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS0,66); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS0,58); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS0,37); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS0,70); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS0,73); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS73,8); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS75,8); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS77,8); break;
case 38: MyCreateItemOnObjectA2_P3 (g_sS103,3,1,30); break;
case 39: MyCreateItemOnObjectA2_P3 (g_sS103,1,1,30); break;
case 40: MyCreateItemOnObjectA2_P3 (g_sS103,2,1,30); break;
case 41: MyCreateItemOnObjectA2_P3 (g_sS103,5,1,30); break;
case 42: MyCreateItemOnObjectA2_P3 (g_sS103,6,1,30); break;
case 43: MyCreateItemOnObjectA2_P3 (g_sS103,7,1,30); break;
case 44: MyCreateItemOnObjectA2_P3 (g_sS103,4,1,30); break;
case 45: MyCreateItemOnObjectA2_P3 (g_sS103,8,1,30); break;
case 46: MyCreateItemOnObjectA2_P3 (g_sS104,5,1,30); break;
case 47: MyCreateItemOnObjectA2_P3 (g_sS104,1,1,30); break;
case 48: MyCreateItemOnObjectA2_P3 (g_sS104,2,1,30); break;
case 49: MyCreateItemOnObjectA2_P3 (g_sS104,4,1,30); break;
case 50: MyCreateItemOnObjectA2_P3 (g_sS104,6,1,30); break;
case 51: MyCreateItemOnObjectA2_P3 (g_sS104,3,1,30); break;
case 52: MyCreateItemOnObjectA2_P3 (g_sS104,7,1,30); break;
case 53: MyCreateItemOnObjectA2_P3 (g_sS105,2,1,30); break;
case 54: MyCreateItemOnObjectA2_P3 (g_sS105,4,1,30); break;
case 55: MyCreateItemOnObjectA2_P3 (g_sS105,3,1,30); break;
case 56: MyCreateItemOnObjectA2_P3 (g_sS105,5,1,30); break;
case 57: MyCreateItemOnObjectA2_P3 (g_sS105,1,1,30); break;
case 58: MyCreateItemOnObjectA2_P3 (g_sS105,6,1,30); break;
case 59: MyCreateItemOnObjectA2_P3 (g_sS105,7,1,30); break;
case 60: MyCreateItemOnObjectA0_P3 (g_sS3,9); break;
case 61: MyCreateItemOnObjectA0_P3 (g_sS3,8); break;
case 62: MyCreateItemOnObjectA0_P3 (g_sS9,9); break;
case 63: MyCreateItemOnObjectA0_P3 (g_sS11,8); break;
case 64: MyCreateItemOnObjectA0_P3 (g_sS13,11); break;
case 65: MyCreateItemOnObjectA0_P3 (g_sS13,9); break;
case 66: MyCreateItemOnObjectA0_P3 (g_sS15,9); break;
case 67: MyCreateItemOnObjectA0_P3 (g_sS15,10); break;
case 68: MyCreateItemOnObjectA0_P3 (g_sS21,8); break;
case 69: MyCreateItemOnObjectA0_P3 (g_sS17,10); break;
case 70: MyCreateItemOnObjectA0_P3 (g_sS19,10); break;
case 71: MyCreateItemOnObjectA0_P3 (g_sS21,10); break;
case 72: MyCreateItemOnObjectA0_P3 (g_sS17,8); break;
case 73: MyCreateItemOnObjectA0_P3 (g_sS23,8); break;
case 74: MyCreateItemOnObjectA0_P3 (g_sS23,9); break;
case 75: MyCreateItemOnObjectA0_P3 (g_sS25,10); break;
case 76: MyCreateItemOnObjectA0_P3 (g_sS25,8); break;
case 77: MyCreateItemOnObjectA0_P3 (g_sS29,8); break;
case 78: MyCreateItemOnObjectA0_P3 (g_sS27,10); break;
case 79: MyCreateItemOnObjectA0_P3 (g_sS29,10); break;
case 80: MyCreateItemOnObjectA0_P3 (g_sS27,8); break;
case 81: MyCreateItemOnObjectA0_P3 (g_sS31,10); break;
case 82: MyCreateItemOnObjectA0_P3 (g_sS33,9); break;
case 83: MyCreateItemOnObjectA0_P3 (g_sS31,8); break;
case 84: MyCreateItemOnObjectA0_P3 (g_sS33,11); break;
case 85: MyCreateItemOnObjectA0_P3 (g_sS35,11); break;
case 86: MyCreateItemOnObjectA0_P3 (g_sS35,9); break;
case 87: MyCreateItemOnObjectA0_P3 (g_sS101,8); break;
case 88: MyCreateItemOnObjectA0_P3 (g_sS101,10); break;
case 89: MyCreateItemOnObjectA0_P3 (g_sS101,2); break;
case 90: MyCreateItemOnObjectA0_P3 (g_sS106,1); break;
case 91: MyCreateItemOnObjectA0_P3 (g_sS37,10); break;
case 92: MyCreateItemOnObjectA0_P3 (g_sS39,10); break;
case 93: MyCreateItemOnObjectA0_P3 (g_sS37,8); break;
case 94: MyCreateItemOnObjectA0_P3 (g_sS41,8); break;
case 95: MyCreateItemOnObjectA0_P3 (g_sS43,10); break;
case 96: MyCreateItemOnObjectA0_P3 (g_sS43,8); break;
case 97: MyCreateItemOnObjectA0_P3 (g_sS49,8); break;
case 98: MyCreateItemOnObjectA0_P3 (g_sS45,8); break;
case 99: MyCreateItemOnObjectA0_P3 (g_sS47,8); break;
case 100: MyCreateItemOnObjectA0_P3 (g_sS47,8); break;
case 101: MyCreateItemOnObjectA0_P3 (g_sS49,10); break;
case 102: MyCreateItemOnObjectA0_P3 (g_sS55,8); break;
case 103: MyCreateItemOnObjectA0_P3 (g_sS51,10); break;
case 104: MyCreateItemOnObjectA0_P3 (g_sS51,8); break;
case 105: MyCreateItemOnObjectA0_P3 (g_sS53,10); break;
case 106: MyCreateItemOnObjectA0_P3 (g_sS53,8); break;
case 107: MyCreateItemOnObjectA0_P3 (g_sS55,10); break;
case 108: MyCreateItemOnObjectA0_P3 (g_sS57,8); break;
case 109: MyCreateItemOnObjectA0_P3 (g_sS59,8); break;
case 110: MyCreateItemOnObjectA0_P3 (g_sS60,11); break;
case 111: MyCreateItemOnObjectA0_P3 (g_sS60,8); break;
case 112: MyCreateItemOnObjectA0_P3 (g_sS62,11); break;
case 113: MyCreateItemOnObjectA0_P3 (g_sS62,8); break;
case 114: MyCreateItemOnObjectA0_P3 (g_sS65,9); break;
case 115: MyCreateItemOnObjectA2_P3 (g_sS66,8,1,10); break;
case 116: MyCreateItemOnObjectA2_P3 (g_sS69,8,1,10); break;
case 117: MyCreateItemOnObjectA2_P3 (g_sS71,8,1,10); break;
}
}
void CI_rr_uniques ()
{
switch (Random (8))
{
case 0: {
switch (Random (66))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS0,21); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS0,54); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS0,25); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS0,28); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS0,42); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS0,24); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS0,22); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS0,29); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS0,26); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS0,41); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS0,20); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS0,27); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS0,18); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS0,63); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS0,60); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS0,4); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS0,11); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS0,11); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS0,1); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS0,13); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS88,5); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS0,32); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS0,9); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS0,17); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS0,12); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS0,33); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS0,2); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS0,34); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS0,5); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS0,8); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS89,3); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS0,7); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS0,40); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS0,14); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS0,16); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS0,39); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS0,36); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS0,15); break;
case 38: MyCreateItemOnObjectA0_P3 (g_sS0,37); break;
case 39: MyCreateItemOnObjectA0_P3 (g_sS0,10); break;
case 40: MyCreateItemOnObjectA0_P3 (g_sS73,6); break;
case 41: MyCreateItemOnObjectA0_P3 (g_sS73,5); break;
case 42: MyCreateItemOnObjectA0_P3 (g_sS73,3); break;
case 43: MyCreateItemOnObjectA0_P3 (g_sS73,4); break;
case 44: MyCreateItemOnObjectA0_P3 (g_sS73,7); break;
case 45: MyCreateItemOnObjectA0_P3 (g_sS75,5); break;
case 46: MyCreateItemOnObjectA0_P3 (g_sS75,4); break;
case 47: MyCreateItemOnObjectA0_P3 (g_sS75,7); break;
case 48: MyCreateItemOnObjectA0_P3 (g_sS75,3); break;
case 49: MyCreateItemOnObjectA0_P3 (g_sS75,10); break;
case 50: MyCreateItemOnObjectA0_P3 (g_sS75,11); break;
case 51: MyCreateItemOnObjectA0_P3 (g_sS75,6); break;
case 52: MyCreateItemOnObjectA0_P3 (g_sS77,7); break;
case 53: MyCreateItemOnObjectA0_P3 (g_sS77,5); break;
case 54: MyCreateItemOnObjectA0_P3 (g_sS77,10); break;
case 55: MyCreateItemOnObjectA0_P3 (g_sS77,11); break;
case 56: MyCreateItemOnObjectA0_P3 (g_sS77,6); break;
case 57: MyCreateItemOnObjectA0_P3 (g_sS77,3); break;
case 58: MyCreateItemOnObjectA0_P3 (g_sS77,4); break;
case 59: MyCreateItemOnObjectA0_P3 (g_sS90,10); break;
case 60: MyCreateItemOnObjectA0_P3 (g_sS90,12); break;
case 61: MyCreateItemOnObjectA0_P3 (g_sS90,11); break;
case 62: MyCreateItemOnObjectA0_P3 (g_sS89,4); break;
case 63: MyCreateItemOnObjectA0_P3 (g_sS90,8); break;
case 64: MyCreateItemOnObjectA0_P3 (g_sS90,9); break;
case 65: MyCreateItemOnObjectA0_P3 (g_sS90,7); break;
}
} break;
case 1: {
switch (Random (80))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS88,4); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS88,14); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS88,3); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS88,16); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS88,13); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS88,12); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS88,7); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS88,8); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS88,10); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS88,9); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS88,6); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS88,1); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS88,17); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS88,15); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS88,2); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS91,11); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS91,8); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS91,7); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS91,16); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS91,2); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS91,6); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS91,10); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS91,3); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS91,4); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS91,1); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS91,14); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS91,17); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS91,13); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS91,12); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS91,15); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS91,5); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS91,9); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS82,2); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS82,3); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS82,4); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS84,11); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS82,9); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS82,22); break;
case 38: MyCreateItemOnObjectA0_P3 (g_sS84,10); break;
case 39: MyCreateItemOnObjectA0_P3 (g_sS84,6); break;
case 40: MyCreateItemOnObjectA0_P3 (g_sS0,57); break;
case 41: MyCreateItemOnObjectA0_P3 (g_sS0,56); break;
case 42: MyCreateItemOnObjectA0_P3 (g_sS0,106); break;
case 43: MyCreateItemOnObjectA0_P3 (g_sS0,91); break;
case 44: MyCreateItemOnObjectA0_P3 (g_sS0,30); break;
case 45: MyCreateItemOnObjectA0_P3 (g_sS0,102); break;
case 46: MyCreateItemOnObjectA0_P3 (g_sS0,101); break;
case 47: MyCreateItemOnObjectA0_P3 (g_sS0,100); break;
case 48: MyCreateItemOnObjectA0_P3 (g_sS0,103); break;
case 49: MyCreateItemOnObjectA0_P3 (g_sS84,13); break;
case 50: MyCreateItemOnObjectA0_P3 (g_sS83,6); break;
case 51: MyCreateItemOnObjectA0_P3 (g_sS83,4); break;
case 52: MyCreateItemOnObjectA0_P3 (g_sS83,8); break;
case 53: MyCreateItemOnObjectA0_P3 (g_sS83,7); break;
case 54: MyCreateItemOnObjectA0_P3 (g_sS83,9); break;
case 55: MyCreateItemOnObjectA0_P3 (g_sS83,20); break;
case 56: MyCreateItemOnObjectA0_P3 (g_sS83,25); break;
case 57: MyCreateItemOnObjectA0_P3 (g_sS83,5); break;
case 58: MyCreateItemOnObjectA0_P3 (g_sS83,3); break;
case 59: MyCreateItemOnObjectA0_P3 (g_sS83,12); break;
case 60: MyCreateItemOnObjectA0_P3 (g_sS83,10); break;
case 61: MyCreateItemOnObjectA0_P3 (g_sS83,14); break;
case 62: MyCreateItemOnObjectA0_P3 (g_sS83,13); break;
case 63: MyCreateItemOnObjectA0_P3 (g_sS83,15); break;
case 64: MyCreateItemOnObjectA0_P3 (g_sS83,11); break;
case 65: MyCreateItemOnObjectA0_P3 (g_sS83,1); break;
case 66: MyCreateItemOnObjectA0_P3 (g_sS92,7); break;
case 67: MyCreateItemOnObjectA0_P3 (g_sS92,2); break;
case 68: MyCreateItemOnObjectA0_P3 (g_sS92,6); break;
case 69: MyCreateItemOnObjectA0_P3 (g_sS92,5); break;
case 70: MyCreateItemOnObjectA0_P3 (g_sS92,4); break;
case 71: MyCreateItemOnObjectA0_P3 (g_sS92,3); break;
case 72: MyCreateItemOnObjectA0_P3 (g_sS92,1); break;
case 73: MyCreateItemOnObjectA0_P3 (g_sS92,8); break;
case 74: MyCreateItemOnObjectA0_P3 (g_sS92,9); break;
case 75: MyCreateItemOnObjectA0_P3 (g_sS93,3); break;
case 76: MyCreateItemOnObjectA0_P3 (g_sS93,1); break;
case 77: MyCreateItemOnObjectA0_P3 (g_sS93,2); break;
case 78: MyCreateItemOnObjectA0_P3 (g_sS94,2); break;
case 79: MyCreateItemOnObjectA0_P3 (g_sS94,1); break;
}
} break;
case 2: {
switch (Random (28))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS95,32); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS95,30); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS95,31); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS95,29); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS95,36); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS95,5); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS95,34); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS95,37); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS95,2); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS95,4); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS96,29); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS96,10); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS96,9); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS96,2); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS96,7); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS96,12); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS96,3); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS96,5); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS96,30); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS96,4); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS96,13); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS89,1); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS97,6); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS97,5); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS97,4); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS97,3); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS97,2); break;
case 27: MyCreateItemOnObjectA0_P2 (g_sS97,1); break;
}
} break;
case 3: {
switch (Random (13))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS98,6); break;
case 1: MyCreateItemOnObjectA0_P2 (g_sS99,1); break;
case 2: MyCreateItemOnObjectA0_P2 (g_sS99,2); break;
case 3: MyCreateItemOnObjectA0_P2 (g_sS99,3); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS89,2); break;
case 5: MyCreateItemOnObjectA0_P0 ("hornofgoodnessev"); break;
case 6: MyCreateItemOnObjectA0_P0 ("pipesofthecellar"); break;
case 7: MyCreateItemOnObjectA0_P0 ("lanternofreveali"); break;
case 8: MyCreateItemOnObjectA0_P0 ("pipesofhaunting"); break;
case 9: MyCreateItemOnObjectA0_P0 ("oxwhistle"); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS100,2); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS100,3); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS100,1); break;
}
} break;
case 4: {
switch (Random (47))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS3,4); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS3,6); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS3,3); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS3,5); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS5,5); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS5,3); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS5,6); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS5,4); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS7,3); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS7,5); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS7,6); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS7,4); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS89,6); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS9,4); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS9,7); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS9,6); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS9,5); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS9,3); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS11,3); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS11,4); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS11,7); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS11,6); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS13,4); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS13,3); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS13,5); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS89,9); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS13,6); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS15,5); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS89,7); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS15,6); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS15,7); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS15,4); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS19,4); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS17,7); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS19,6); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS17,4); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS17,5); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS21,6); break;
case 38: MyCreateItemOnObjectA0_P3 (g_sS17,6); break;
case 39: MyCreateItemOnObjectA0_P3 (g_sS19,5); break;
case 40: MyCreateItemOnObjectA0_P3 (g_sS19,7); break;
case 41: MyCreateItemOnObjectA0_P3 (g_sS21,5); break;
case 42: MyCreateItemOnObjectA0_P3 (g_sS21,4); break;
case 43: MyCreateItemOnObjectA0_P3 (g_sS21,7); break;
case 44: MyCreateItemOnObjectA0_P3 (g_sS23,5); break;
case 45: MyCreateItemOnObjectA0_P3 (g_sS23,4); break;
case 46: MyCreateItemOnObjectA0_P3 (g_sS23,6); break;
}
} break;
case 5: {
switch (Random (16))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS25,12); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS25,6); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS25,4); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS27,4); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS27,5); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS29,6); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS29,5); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS31,4); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS31,6); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS35,6); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS35,4); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS35,5); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS101,3); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS101,6); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS101,7); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS101,4); break;
}
} break;
case 6: {
switch (Random (35))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS41,3); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS37,4); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS41,6); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS43,7); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS43,5); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS39,7); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS37,6); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS37,3); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS41,7); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS41,5); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS49,4); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS49,3); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS47,5); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS45,6); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS45,4); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS45,7); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS47,3); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS47,7); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS45,5); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS47,6); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS49,5); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS49,6); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS45,3); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS51,3); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS55,7); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS55,5); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS53,4); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS51,6); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS55,4); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS53,5); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS53,3); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS55,6); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS51,7); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS53,6); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS51,4); break;
}
} break;
case 7: {
switch (Random (24))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS57,3); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS59,3); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS57,4); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS59,7); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS59,4); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS59,6); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS57,7); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS57,6); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS59,5); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS60,4); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS60,7); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS60,5); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS60,3); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS62,3); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS62,6); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS62,7); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS62,4); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS62,5); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS65,7); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS65,4); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS65,6); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS65,3); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS65,5); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS65,8); break;
}
} break;
}
}
void CI_rr_master_lewt_high ()
{
if (Random (100) < 30)
{ MyCreateGold (8,75,1.00); }
if (Random (100) < 8)
{ { int n = 1 + Random (3); int i; for (i = 0; i < n; i++) {
switch (Random (30))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS78,905); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS78,908); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS78,902); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS78,803); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS78,912); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS78,809); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS78,804); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS78,807); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS78,806); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS78,906); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS78,801); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS78,901); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS78,903); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS78,808); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS78,802); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS78,910); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS78,805); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS78,911); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS78,909); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS78,907); break;
case 20: case 21: case 22: case 23:
case 24: case 25: case 26: case 27:
case 28: case 29: { int n = 1 + Random (3); int i; for (i = 0; i < n; i++) CI_rr_scrolls_5to7(); } break;
}
} } }
if (Random (100) < 4)
{ {
switch (Random (26))
{
case 0: case 1: case 2: case 3:
case 4: case 5: case 6: case 7:
case 8: case 9: case 10: case 11:
case 12: case 13: case 14: case 15:
case 16: case 17: case 18: case 19: CI_rr_wands_stronger(); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS107,2); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS107,6); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS107,3); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS107,5); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS89,8); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS107,4); break;
}
} }
if (Random (100) < 15)
{ { int n = 1 + Random (3); int i; for (i = 0; i < n; i++) CI_rr_misc_lower(); } }
if (Random (100) < 8)
{ { int n = 1 + Random (6); int i; for (i = 0; i < n; i++) CI_rr_trade_items(); } }
if (Random (100) < 7)
{ { int n = 1 + Random (2); int i; for (i = 0; i < n; i++) {
switch (Random (80))
{
case 0: case 1: case 2: case 3:
case 4: case 5: case 6: case 7:
case 8: case 9: case 10: case 11:
case 12: case 13: case 14: CI_rr_low_weap_armor(); break;
case 15: case 16: case 17: case 18:
case 19: case 20: case 21: case 22:
case 23: case 24: CI_rr_med_weap_armor(); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS0,76); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS0,80); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS0,81); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS0,81); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS0,62); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS0,86); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS0,79); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS0,83); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS0,84); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS0,87); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS0,77); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS0,78); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS0,61); break;
case 38: MyCreateItemOnObjectA0_P3 (g_sS0,82); break;
case 39: MyCreateItemOnObjectA0_P3 (g_sS0,85); break;
case 40: MyCreateItemOnObjectA0_P3 (g_sS73,9); break;
case 41: MyCreateItemOnObjectA0_P3 (g_sS75,9); break;
case 42: MyCreateItemOnObjectA0_P3 (g_sS77,9); break;
case 43: MyCreateItemOnObjectA0_P3 (g_sS3,11); break;
case 44: MyCreateItemOnObjectA0_P3 (g_sS3,10); break;
case 45: MyCreateItemOnObjectA0_P3 (g_sS5,11); break;
case 46: MyCreateItemOnObjectA0_P3 (g_sS5,9); break;
case 47: MyCreateItemOnObjectA0_P3 (g_sS7,11); break;
case 48: MyCreateItemOnObjectA0_P3 (g_sS7,9); break;
case 49: MyCreateItemOnObjectA0_P3 (g_sS9,10); break;
case 50: MyCreateItemOnObjectA0_P3 (g_sS11,9); break;
case 51: MyCreateItemOnObjectA0_P3 (g_sS13,12); break;
case 52: MyCreateItemOnObjectA0_P3 (g_sS13,10); break;
case 53: MyCreateItemOnObjectA0_P3 (g_sS25,11); break;
case 54: MyCreateItemOnObjectA0_P3 (g_sS25,9); break;
case 55: MyCreateItemOnObjectA0_P3 (g_sS39,9); break;
case 56: MyCreateItemOnObjectA0_P3 (g_sS37,11); break;
case 57: MyCreateItemOnObjectA0_P3 (g_sS39,11); break;
case 58: MyCreateItemOnObjectA0_P3 (g_sS41,9); break;
case 59: MyCreateItemOnObjectA0_P3 (g_sS43,11); break;
case 60: MyCreateItemOnObjectA0_P3 (g_sS43,9); break;
case 61: MyCreateItemOnObjectA0_P3 (g_sS45,9); break;
case 62: MyCreateItemOnObjectA0_P3 (g_sS47,9); break;
case 63: MyCreateItemOnObjectA0_P3 (g_sS49,11); break;
case 64: MyCreateItemOnObjectA0_P3 (g_sS55,9); break;
case 65: MyCreateItemOnObjectA0_P3 (g_sS51,11); break;
case 66: MyCreateItemOnObjectA0_P3 (g_sS51,9); break;
case 67: MyCreateItemOnObjectA0_P3 (g_sS53,11); break;
case 68: MyCreateItemOnObjectA0_P3 (g_sS53,9); break;
case 69: MyCreateItemOnObjectA0_P3 (g_sS55,11); break;
case 70: MyCreateItemOnObjectA0_P3 (g_sS57,9); break;
case 71: MyCreateItemOnObjectA0_P3 (g_sS59,9); break;
case 72: MyCreateItemOnObjectA0_P3 (g_sS60,12); break;
case 73: MyCreateItemOnObjectA0_P3 (g_sS60,9); break;
case 74: MyCreateItemOnObjectA0_P3 (g_sS62,12); break;
case 75: MyCreateItemOnObjectA0_P3 (g_sS62,9); break;
case 76: MyCreateItemOnObjectA0_P3 (g_sS65,10); break;
case 77: MyCreateItemOnObjectA2_P3 (g_sS66,9,1,10); break;
case 78: MyCreateItemOnObjectA2_P3 (g_sS69,9,1,10); break;
case 79: MyCreateItemOnObjectA2_P3 (g_sS71,9,1,10); break;
}
} } }
if (Random (100) < 2)
{ CI_rr_uniques(); }
}
void CI_rr_master_lewt_med ()
{
if (Random (100) < 30)
{ MyCreateGold (12,10,1.00); }
if (Random (100) < 6)
{ CI_rr_scrolls_5to7(); }
if (Random (100) < 3)
{ CI_rr_wands_stronger(); }
if (Random (100) < 3)
{ {
switch (Random (39))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS91,20); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS91,18); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS91,19); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS91,16); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS91,15); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS82,16); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS82,12); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS82,13); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS82,7); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS82,8); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS82,20); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS82,21); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS84,8); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS84,9); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS84,4); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS84,5); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS0,105); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS0,89); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS0,90); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS0,101); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS0,98); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS0,100); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS0,99); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS84,13); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS83,6); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS83,4); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS83,8); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS83,7); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS83,9); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS83,18); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS83,19); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS83,23); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS83,24); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS83,28); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS83,29); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS83,5); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS83,3); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS84,12); break;
case 38: CI_rr_master_lewt_high(); break;
}
} }
if (Random (100) < 3)
{ {
switch (Random (39))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS95,13); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS95,14); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS95,36); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS95,32); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS95,30); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS95,31); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS95,29); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS95,5); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS95,26); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS95,27); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS95,23); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS95,33); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS95,3); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS95,9); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS95,10); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS95,17); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS95,18); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS96,29); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS96,15); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS96,16); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS96,2); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS96,26); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS96,27); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS96,7); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS96,12); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS96,3); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS96,30); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS96,18); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS96,19); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS96,32); break;
case 30: case 31: case 32: MyCreateItemOnObjectA0_P3 (g_sS96,21); break;
case 33: case 34: case 35: MyCreateItemOnObjectA0_P3 (g_sS96,23); break;
case 36: case 37: case 38: MyCreateItemOnObjectA0_P3 (g_sS96,22); break;
}
} }
if (Random (100) < 5)
{ { int n = 1 + Random (4); int i; for (i = 0; i < n; i++) CI_rr_trade_items(); } }
if (Random (100) < 4)
{ { int n = 1 + Random (2); int i; for (i = 0; i < n; i++) CI_rr_misc_lower(); } }
if (Random (100) < 5)
{ CI_rr_med_weap_armor(); }
if (Random (100) < 1)
{ CI_rr_uniques(); }
}
void CI_rr_master_lewt_low ()
{
if (Random (100) < 30)
{ MyCreateGold (3,6,1.00); }
if (Random (100) < 5)
{ CI_rr_low_weap_armor(); }
if (Random (100) < 2)
{ { int n = 1 + Random (3); int i; for (i = 0; i < n; i++) {
switch (Random (85))
{
case 0: MyCreateItemOnObjectA0_P3 (g_sS84,7); break;
case 1: MyCreateItemOnObjectA0_P3 (g_sS84,3); break;
case 2: MyCreateItemOnObjectA0_P3 (g_sS95,1); break;
case 3: MyCreateItemOnObjectA0_P3 (g_sS95,12); break;
case 4: MyCreateItemOnObjectA0_P3 (g_sS95,24); break;
case 5: MyCreateItemOnObjectA0_P3 (g_sS95,25); break;
case 6: MyCreateItemOnObjectA0_P3 (g_sS95,20); break;
case 7: MyCreateItemOnObjectA0_P3 (g_sS95,22); break;
case 8: MyCreateItemOnObjectA0_P3 (g_sS95,23); break;
case 9: MyCreateItemOnObjectA0_P3 (g_sS95,35); break;
case 10: MyCreateItemOnObjectA0_P3 (g_sS95,7); break;
case 11: MyCreateItemOnObjectA0_P3 (g_sS95,8); break;
case 12: MyCreateItemOnObjectA0_P3 (g_sS95,6); break;
case 13: MyCreateItemOnObjectA0_P3 (g_sS95,16); break;
case 14: MyCreateItemOnObjectA0_P3 (g_sS95,21); break;
case 15: MyCreateItemOnObjectA0_P3 (g_sS96,21); break;
case 16: MyCreateItemOnObjectA0_P3 (g_sS96,23); break;
case 17: MyCreateItemOnObjectA0_P3 (g_sS96,29); break;
case 18: MyCreateItemOnObjectA0_P3 (g_sS96,6); break;
case 19: MyCreateItemOnObjectA0_P3 (g_sS96,14); break;
case 20: MyCreateItemOnObjectA0_P3 (g_sS96,9); break;
case 21: MyCreateItemOnObjectA0_P3 (g_sS96,24); break;
case 22: MyCreateItemOnObjectA0_P3 (g_sS96,25); break;
case 23: MyCreateItemOnObjectA0_P3 (g_sS96,3); break;
case 24: MyCreateItemOnObjectA0_P3 (g_sS96,11); break;
case 25: MyCreateItemOnObjectA0_P3 (g_sS96,1); break;
case 26: MyCreateItemOnObjectA0_P3 (g_sS96,8); break;
case 27: MyCreateItemOnObjectA0_P3 (g_sS96,31); break;
case 28: MyCreateItemOnObjectA0_P3 (g_sS96,22); break;
case 29: MyCreateItemOnObjectA0_P3 (g_sS98,6); break;
case 30: MyCreateItemOnObjectA0_P3 (g_sS108,2); break;
case 31: MyCreateItemOnObjectA0_P3 (g_sS108,1); break;
case 32: MyCreateItemOnObjectA0_P3 (g_sS108,3); break;
case 33: MyCreateItemOnObjectA0_P3 (g_sS98,2); break;
case 34: MyCreateItemOnObjectA0_P3 (g_sS109,16); break;
case 35: MyCreateItemOnObjectA0_P3 (g_sS109,6); break;
case 36: MyCreateItemOnObjectA0_P3 (g_sS109,9); break;
case 37: MyCreateItemOnObjectA0_P3 (g_sS109,15); break;
case 38: MyCreateItemOnObjectA0_P3 (g_sS109,14); break;
case 39: MyCreateItemOnObjectA0_P3 (g_sS109,7); break;
case 40: MyCreateItemOnObjectA0_P3 (g_sS109,10); break;
case 41: MyCreateItemOnObjectA0_P3 (g_sS109,13); break;
case 42: MyCreateItemOnObjectA0_P3 (g_sS109,17); break;
case 43: MyCreateItemOnObjectA0_P3 (g_sS109,12); break;
case 44: MyCreateItemOnObjectA0_P3 (g_sS109,8); break;
case 45: MyCreateItemOnObjectA0_P3 (g_sS109,11); break;
case 46: MyCreateItemOnObjectA0_P3 (g_sS109,19); break;
case 47: MyCreateItemOnObjectA0_P3 (g_sS109,18); break;
case 48: MyCreateItemOnObjectA0_P3 (g_sS110,22); break;
case 49: MyCreateItemOnObjectA0_P3 (g_sS110,23); break;
case 50: MyCreateItemOnObjectA0_P3 (g_sS110,24); break;
case 51: MyCreateItemOnObjectA0_P3 (g_sS111,25); break;
case 52: CI_rr_master_lewt_med(); break;
case 53: case 54: case 55: case 56:
case 57: case 58: case 59: case 60:
case 61: case 62: case 63: case 64:
case 65: case 66: case 67: case 68:
case 69: case 70: case 71: case 72:
case 73: case 74: case 75: case 76:
case 77: case 78: case 79: case 80:
case 81: case 82: case 83: case 84: CI_rr_misc_lower(); break;
}
} } }
if (Random (100) < 5)
{ { int n = 1 + Random (2); int i; for (i = 0; i < n; i++) CI_rr_trade_items(); } }
if (Random (100) < 5)
{ CI_rr_scrolls_1to4(); }
if (Random (100) < 1)
{ CI_rr_wands_rods_lower(); }
}
void CI_rr_master_lewt ()
{
switch (GetLevelRange (GetHitDice (g_oA) + g_nM))
{
case 1: CI_rr_master_lewt_low(); break;
case 2: CI_rr_master_lewt_low(); break;
case 3: CI_rr_master_lewt_med(); break;
case 4: CI_rr_master_lewt_med(); break;
case 5: CI_rr_master_lewt_med(); break;
case 6: CI_rr_master_lewt_high(); break;
}
}
void CT_rr_misc_lower (object oA, object oT)
{
g_nM = 0; g_nS = 0;
if (!InitializeGenerateTreasure (oA, oT))
return;
CI_rr_misc_lower ();
}
void CT_rr_uniques (object oA, object oT)
{
g_nM = 0; g_nS = 0;
if (!InitializeGenerateTreasure (oA, oT))
return;
CI_rr_uniques ();
}
void CT_rr_master_lewt_high (object oA, object oT)
{
g_nM = 0; g_nS = 0;
if (!InitializeGenerateTreasure (oA, oT))
return;
CI_rr_master_lewt_high ();
}
void CT_rr_master_lewt_med (object oA, object oT)
{
g_nM = 0; g_nS = 0;
if (!InitializeGenerateTreasure (oA, oT))
return;
CI_rr_master_lewt_med ();
}
void CT_rr_master_lewt_low (object oA, object oT)
{
g_nM = 0; g_nS = 0;
if (!InitializeGenerateTreasure (oA, oT))
return;
CI_rr_master_lewt_low ();
}
void CT_rr_master_lewt (object oA, object oT)
{
g_nM = 0; g_nS = 0;
if (!InitializeGenerateTreasure (oA, oT))
return;
CI_rr_master_lewt ();
}
int TREASURE_LOW = 1;
int TREASURE_MEDIUM = 2;
int TREASURE_HIGH = 3;
int TREASURE_BOSS = 4;
int TREASURE_BOOK = 5;
int TREASURE_FEAT = 11;
int TREASURE_NPC_LOW = 12;
int TREASURE_NPC_MEDIUM = 13;
int TREASURE_NPC_HIGH = 14;
int TREASURE_NPC_BOSS = 15;
int TREASURE_NONE = 16;
int TREASURE_U_RR_MISC_LOWER = 105;
int TREASURE_U_RR_UNIQUES = 150;
int TREASURE_U_RR_MASTER_LEWT_HIGH = 102;
int TREASURE_U_RR_MASTER_LEWT_MED = 101;
int TREASURE_U_RR_MASTER_LEWT_LOW = 100;
int TREASURE_U_RR_MASTER_LEWT = 110;
void GenerateTreasure (int nType, object oA, object oT)
{
switch (nType)
{
case 105: CT_rr_misc_lower (oA, oT); break;
case 150: CT_rr_uniques (oA, oT); break;
case 102: CT_rr_master_lewt_high (oA, oT); break;
case 101: CT_rr_master_lewt_med (oA, oT); break;
case 100: CT_rr_master_lewt_low (oA, oT); break;
case 110: CT_rr_master_lewt (oA, oT); break;
}
}
int TreasureTableNameToNumber (string sName)
{
string s = GetStringLowerCase (sName);
if (s == "rr_misc_lower") return 105;
if (s == "rr_uniques") return 150;
if (s == "rr_master_lewt_high") return 102;
if (s == "rr_master_lewt_med") return 101;
if (s == "rr_master_lewt_low") return 100;
if (s == "rr_master_lewt") return 110;
return -1;
}
void GenerateNPCTreasure (int nType = 1, object oT = OBJECT_SELF, object oA = OBJECT_SELF)
{
switch (nType)
{
case 1: GenerateTreasure (TREASURE_NPC_LOW, oA, oT); break;
case 2: GenerateTreasure (TREASURE_NPC_MEDIUM, oA, oT); break;
case 3: GenerateTreasure (TREASURE_NPC_HIGH, oA, oT); break;
case 4: GenerateTreasure (TREASURE_NPC_BOSS, oA, oT); break;
}
}
//::///////////////////////////////////////////////////////////////////////////
//::
//:: **** BEGIN BIOWARE CODE ****
//::
//:: Copyright (c) 2001-2002 Bioware Corp.
//::
//::///////////////////////////////////////////////////////////////////////////
// * Returns the object that either last opened the container or destroyed it
object GetLastOpener()
{
if (GetIsObjectValid(GetLastOpenedBy()) == TRUE)
{
dbSpeak("LastOpener: GetLastOpenedBy " + GetTag(GetLastOpenedBy()));
return GetLastOpenedBy();
}
else
if (GetIsObjectValid(GetLastKiller()) == TRUE)
{
dbSpeak("LastOpener: GetLastAttacker");
return GetLastKiller();
}
dbSpeak("LastOpener: The Object is Invalid you weenie!");
return OBJECT_INVALID;
}
// * Container shouts if disturbed
void ShoutDisturbed()
{
if (GetIsDead(OBJECT_SELF) == TRUE)
{
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE,
GetLocation(OBJECT_SELF), TRUE, OBJECT_TYPE_CREATURE);
//Cycle through the targets within the spell shape until an invalid object is captured.
while (GetIsObjectValid(oTarget))
{
if (GetFactionEqual(oTarget, OBJECT_SELF) == TRUE)
{
// * Make anyone who is a member of my faction hostile if I am violated
object oAttacker = GetLastAttacker();
SetIsTemporaryEnemy(oAttacker,oTarget);
AssignCommand(oTarget, ActionAttack(oAttacker));
}
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE,
GetLocation(OBJECT_SELF), TRUE, OBJECT_TYPE_CREATURE);
}
}
else (GetIsOpen(OBJECT_SELF) == TRUE);
{
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE,
GetLocation(OBJECT_SELF), TRUE, OBJECT_TYPE_CREATURE);
//Cycle through the targets within the spell shape until an invalid object is captured.
while (GetIsObjectValid(oTarget))
{
if (GetFactionEqual(oTarget, OBJECT_SELF) == TRUE)
{
// * Make anyone who is a member of my faction hostile if I am violated
object oAttacker = GetLastOpener();
SetIsTemporaryEnemy(oAttacker,oTarget);
AssignCommand(oTarget, ActionAttack(oAttacker));
}
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE,
GetLocation(OBJECT_SELF), TRUE, OBJECT_TYPE_CREATURE);
}
}
}
void GenerateLowTreasure(object oLastOpener, object oCreateOn=OBJECT_INVALID)
{
GenerateTreasure(TREASURE_LOW, oLastOpener, oCreateOn);
}
void GenerateMediumTreasure(object oLastOpener, object oCreateOn=OBJECT_INVALID)
{
GenerateTreasure(TREASURE_MEDIUM, oLastOpener, oCreateOn);
}
void GenerateHighTreasure(object oLastOpener, object oCreateOn=OBJECT_INVALID)
{
GenerateTreasure(TREASURE_HIGH, oLastOpener, oCreateOn);
}
void GenerateBossTreasure(object oLastOpener, object oCreateOn=OBJECT_INVALID)
{
GenerateTreasure(TREASURE_BOSS, oLastOpener, oCreateOn);
}
void GenerateBookTreasure(object oLastOpener, object oCreateOn=OBJECT_INVALID)
{
GenerateTreasure(TREASURE_BOOK, oLastOpener, oCreateOn);
}
//::///////////////////////////////////////////////////////////////////////////
//::
//:: **** END BIOWARE CODE ****
//::
//:: Copyright (c) 2001-2002 Bioware Corp.
//::
//::///////////////////////////////////////////////////////////////////////////