string GetTreasure(int iMaxTreasureRange); string GetScrollLow(); string GetScrollMed(); string GetScrollHigh(); //void VerifyNotStore(object oTreasure, object oSelf); void main() { object oSelf=OBJECT_SELF; if (GetLocalInt(oSelf,"iAmOpened")!=0) return; SetLocalInt(oSelf,"iAmOpened",99); int iChestLevel = GetLocalInt(oSelf,"iChestLevel"); int iGold = iChestLevel*500; //500gp per chest level gives 500-5000 gold. int iMaxTreasureRange = 10*iChestLevel; int iTreasureItems=15+(d4(1)*iChestLevel); CreateItemOnObject("nw_it_gold001",oSelf,iGold); string sResRef; int iStack; object oTreasure; float fDelay=10.0; for (iTreasureItems; iTreasureItems>0; iTreasureItems--) { fDelay = fDelay+0.3; sResRef = GetTreasure(iMaxTreasureRange); iStack = StringToInt(GetStringRight(sResRef,2)); sResRef=GetStringLeft(sResRef,GetStringLength(sResRef)-3); oTreasure = CreateItemOnObject(sResRef,oSelf,iStack); /* if (GetStringLeft(sResRef,6)=="scribe") { AssignCommand(oTreasure,DelayCommand(fDelay,VerifyNotStore(oTreasure,oSelf))); SendMessageToPC(GetFirstPC(),"Attempting to fix scroll "+sResRef); } else { SendMessageToPC(GetFirstPC(),"Created item : "+sResRef); } if (GetIsObjectValid(oTreasure)==FALSE) SendMessageToPC(GetFirstPC(),"Object Not Created"); */ } } string GetTreasure(int iMaxTreasureRange) { string sResRef = "OBJECT_INVALID"; int iTempRange = iMaxTreasureRange; //Small chance of any treasure no matter the level of the map if (Random(1000)<(iMaxTreasureRange*5)) iTempRange=100; if (Random(1000)<300) iTempRange = iTempRange+d10(1); if (Random(1000)<300) iTempRange = iTempRange+d10(1); if (iTempRange>100) iTempRange=100; int iRandom = Random(iTempRange); int iStack=1; int iTempVal; switch (iRandom) { case 1:{sResRef="ring_iron_";break;} case 2:{sResRef="_UOAGEM";iStack=d4(1);break;} case 3:{sResRef="_UOA_SMALLSHIELD";break;} case 4:{sResRef="_UOA_SCROLL";iStack=d6(1)/2;break;} //scrolls case 5:{sResRef="_UOA_WEAP";break;} case 6:{sResRef="_UOA_SCROLL";iStack=d4(1)/2;break;} //scrolls case 7:{sResRef="nw_it_gold001";iStack=d20(4)+19;break;} case 8:{sResRef="_UOA_SCROLL";iStack=d4(1);break;} //scrolls case 9:{sResRef="_UOA_CHAINMAIL";break;} case 10:{sResRef="_UOA_HELMET";break;} case 11:{sResRef="ingot002";iStack=10;break;} //Dull Copper Ingots case 12:{sResRef="_UOA_STUD";break;} case 13:{sResRef="_UOA_ESSENCE";iStack=d4(2)+2;break;} case 14:{sResRef="ring_dull_";break;} case 15:{sResRef="acid003";iStack=10;break;} //Acid, Weak case 16:{sResRef="_UOA_SCROLL";iStack=d4(1);break;} //scrolls case 17:{sResRef="ingot003";iStack=10;break;} //Shadow Iron Ingots case 18:{sResRef="ingot001";iStack=10;break;} case 19:{sResRef="_UOA_WEAP";break;} case 20:{sResRef="_UOA_CHAINMAIL";break;} case 21:{sResRef="ingot002";iStack=10;break;} case 22:{sResRef="_UOA_SHIELD";break;} case 23:{sResRef="_UOA_HELMET";break;} case 24:{sResRef="ingot004";iStack=10;break;} //Copper Ingots case 25:{sResRef="_UOAGEM";iStack=(d4(2)/2)+1;break;} case 26:{sResRef="softleather007";break;} //Medium Soft Leather case 27:{sResRef="hardleather007";break;} //Medium Hard Leather case 28:{sResRef="ingot010";iStack=10;break;} //Silver ingots case 29:{sResRef="_UOA_ESSENCE";iStack=d4(2)+2;break;} case 30:{sResRef="_UOA_WEAP";break;} case 31:{sResRef="ingot005";iStack=10;break;} //Bronze Ingots case 32:{sResRef="_UOA_CHAINMAIL";break;} case 33:{sResRef="scrl_blank_norma";iStack=10;break;} //Blank Parchment case 34:{sResRef="_UOAGEM";iStack=d6(1);break;} case 35:{sResRef="_UOA_WEAP";break;} case 36:{sResRef="_UOA_SHIELD";break;} case 37:{sResRef="ingot006";iStack=10;break;} //Gold Ingots case 38:{sResRef="_UOA_CHAINMAIL";break;} case 39:{sResRef="acid002";iStack=10;break;} //Acid, Moderate case 40:{sResRef="_UOA_STUD";break;} case 41:{sResRef="_UOAGEM";iStack=d4(2);break;} case 42:{sResRef="_UOA_ESSENCE";iStack=d4(2)+2;break;} case 43:{sResRef="ring_shadow_";break;} case 44:{sResRef="ring_copper_";break;} case 45:{sResRef="ingot007";iStack=10;break;} //Agapite Ingots case 46:{sResRef="ingot013";iStack=10;break;} //Platinum Ingots case 47:{sResRef="ring_bronze_";break;} case 48:{sResRef="arrowhead041";iStack=d10(4)+10;break;} //Platinum Arrowheads(Exceptional) case 49:{sResRef="arrowhead077";iStack=d10(4)+10;break;} //Platinum Bolt Tips(Exceptional) case 50:{sResRef="ring_gold_";break;} case 51:{sResRef="arrowhead023";iStack=d10(4)+10;break;} //Agapite Arrowheads (Exceptional) case 52:{sResRef="arrowhead059";iStack=d10(4)+10;break;} //Agapite Bolt Tips (Exceptional) case 53:{sResRef="ring_agapite_";break;} case 54:{sResRef="ring_platnum_";break;} case 55:{sResRef="_UOAGEM";iStack=d4(2)+2;break;} case 56:{sResRef="belt006";break;} //Black Leather Belt (exceptional) case 57:{sResRef="ring_silver_";break;} case 58:{sResRef="_UOA_HELMET";break;} case 59:{sResRef="_UOA_ESSENCE";iStack=d4(2)+2;break;} case 60:{sResRef="_UOA_LARGESHIELD";break;} case 61:{sResRef="_UOA_WEAP";break;} case 62:{sResRef="_UOA_STUD";break;} case 63:{sResRef="boots009";break;} //Soft White Leather Boots (Exceptional) case 64:{sResRef="gloves009";break;} //White Leather Gloves (Exceptional) case 65:{sResRef="_UOAGEM";iStack=d4(2)+2;break;} case 66:{sResRef="acid003";iStack=10;break;} //Acid, Strong case 67:{sResRef="_UOA_SMALLSHIELD";break;} case 68:{sResRef="_UOA_SHIELD";break;} case 69:{sResRef="_UOAGEM";iStack=d4(2)+2;break;} case 70:{sResRef="_UOA_WEAP";break;} case 71:{sResRef="_UOA_SHIELD";break;} case 72:{sResRef="_UOA_HELMET";break;} case 73:{sResRef="ring_verite_";break;} case 74:{sResRef="ingot008";iStack=10;break;} //Verite Ingots case 75:{sResRef="ring_mithril_";break;} case 76:{sResRef="_UOA_SMALLSHIELD";break;} case 77:{sResRef="ingot011";iStack=10;break;} //Mithril Ingots case 78:{sResRef="_UOA_WEAP";break;} case 79:{sResRef="_UOAGEM";iStack=d4(2)+2;break;} case 80:{sResRef="_UOA_SCROLL";iStack=d4(1);break;} //scrolls case 81:{sResRef="_UOA_LARGESHIELD";break;} case 82:{sResRef="_UOA_WEAP";break;} case 83:{sResRef="nw_it_gold001";iStack=d20(4)+19;break;} case 84:{sResRef="_UOA_SMALLSHIELD";break;} case 85:{sResRef="_UOAGEM";iStack=d4(2)+2;break;} case 86:{sResRef="_UOA_CHAINMAIL";break;} case 87:{sResRef="_UOA_SHIELD";break;} case 88:{sResRef="_UOA_WEAP";break;} case 89:{sResRef="_UOA_LARGESHIELD";break;} case 90:{sResRef="_UOAGEM";iStack=d4(2)+2;break;} case 91:{sResRef="ingot012";iStack=10;break;} //Adamantite Ingots case 92:{sResRef="ring_val_";break;} case 93:{sResRef="ingot009";iStack=10;break;} //Valorite Ingots case 94:{sResRef="ring_admnt_";break;} case 95:{sResRef="_UOA_CHAINMAIL";break;} case 96:{sResRef="_UOA_LARGESHIELD";break;} case 97:{sResRef="_UOA_CHAINMAIL";break;} case 98:{sResRef="_UOA_WEAP";break;} case 99:{sResRef="_UOA_CHAINMAIL";break;} case 100:{sResRef="_UOA_CHAINMAIL";break;} default:{sResRef="ingot001";iStack=10;break;} //Iron ingots } //determine ring type if (GetStringLeft(sResRef,5)=="ring_") { iTempVal = (iMaxTreasureRange/2)+6; //56 gem types sResRef=sResRef+IntToString(101+Random(iTempVal)); } //Determine Gem Type if (sResRef=="_UOAGEM") { iTempVal = (iMaxTreasureRange/2)+6; //56 gem types switch (Random(iTempVal)+1) { case 2:{sResRef = "bandedagate";break;} case 3:{sResRef = "bluequartz";break;} case 4:{sResRef = "eyeagate";break;} case 5:{sResRef = "hematite";break;} case 6:{sResRef = "lapislazuli";break;} case 7:{sResRef = "malachite";break;} case 8:{sResRef = "mossagate";break;} case 9:{sResRef = "obsidian";break;} case 10:{sResRef = "rhodochrosite";break;} case 11:{sResRef = "tigereye";break;} case 12:{sResRef = "turquoise";break;} case 13:{sResRef = "bloodstone";break;} case 14:{sResRef = "carnelian";break;} case 15:{sResRef = "chalcendony";break;} case 16:{sResRef = "chrysoprase";break;} case 17:{sResRef = "citrine";break;} case 18:{sResRef = "jasper";break;} case 19:{sResRef = "moonstone";break;} case 20:{sResRef = "onyx";break;} case 21:{sResRef = "rockcrystal";break;} case 22:{sResRef = "sardonyx";break;} case 23:{sResRef = "smokyquartz";break;} case 24:{sResRef = "zircon";break;} case 25:{sResRef = "starrosequart";break;} case 26:{sResRef = "amber";break;} case 27:{sResRef = "alexandrite";break;} case 28:{sResRef = "amethyst";break;} case 29:{sResRef = "chrysoberyl";break;} case 30:{sResRef = "coral";break;} case 31:{sResRef = "garnetsmall";break;} case 32:{sResRef = "jade";break;} case 33:{sResRef = "jet";break;} case 34:{sResRef = "whitepearl";break;} case 35:{sResRef = "redspinel";break;} case 36:{sResRef = "tourmaline";break;} case 37:{sResRef = "aquamarine";break;} case 38:{sResRef = "garnetviolet";break;} case 39:{sResRef = "blackpearl";break;} case 40:{sResRef = "peridot";break;} case 41:{sResRef = "bluespinel";break;} case 42:{sResRef = "topaz";break;} case 43:{sResRef = "blackopal";break;} case 44:{sResRef = "emerald";break;} case 45:{sResRef = "fireopal";break;} case 46:{sResRef = "opal";break;} case 47:{sResRef = "orientalameth";break;} case 48:{sResRef = "orientaltopaz";break;} case 49:{sResRef = "sapphire";break;} case 50:{sResRef = "starruby";break;} case 51:{sResRef = "starsapphire";break;} case 52:{sResRef = "blacksapphire";break;} case 53:{sResRef = "diamond";break;} case 54:{sResRef = "jacinth";break;} case 55:{sResRef = "orientalemera";break;} case 56:{sResRef = "ruby";break;} default:{sResRef = "azurite";break;} } if (d20(1)<6) { sResRef=sResRef+"00"+IntToString(d4(1)); } } //Shields if (sResRef=="_UOA_LARGESHIELD") { iTempVal = (iMaxTreasureRange/10)+3; sResRef="ashlw"+GetStringRight("000"+IntToString(Random(iTempVal)+1),3); } if (sResRef=="_UOA_SMALLSHIELD") { iTempVal = (iMaxTreasureRange/10)+3; sResRef="ashsw"+GetStringRight("000"+IntToString(Random(iTempVal)+1),3); } if (sResRef=="_UOA_SHIELD") { iTempVal = (iMaxTreasureRange/10)+3; sResRef="ashto"+GetStringRight("000"+IntToString(Random(iTempVal)+1),3); } //Determine Helmets if (sResRef=="_UOA_HELMET") { int iBase; iTempVal = ((iMaxTreasureRange/10)+2)*3; if (Random(100)<10) { iTempVal = 12; } else { switch(d10(1)/2) { case 1:{iBase=13;break;} case 2:{iBase=49;break;} case 3:{iBase=85;break;} case 4:{iBase=121;break;} default:{iBase=157;break;} } } sResRef="arhe"+GetStringRight("000"+IntToString(Random(iTempVal)+iBase),3); } //metal armors if (sResRef=="_UOA_CHAINMAIL") { iTempVal = ((iMaxTreasureRange/10)+2)*3; if (iMaxTreasureRange<20) iTempVal = ((iMaxTreasureRange/10)+2)+12; switch (d8(1)-1) { case 2:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+56),3);break;} case 3:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+92),3);break;} case 4:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+128),3);break;} case 5:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+272),3);break;} case 6:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+200),3);break;} case 7:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+236),3);break;} default:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+20),3);break;} } } //Studded armors if (sResRef=="_UOA_STUD") { iTempVal = ((iMaxTreasureRange/10)+2)*3; switch (Random(3)) { case 1:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+405),3);break;} case 2:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+366),3);break;} default:{sResRef="aarcl"+GetStringRight("000"+IntToString(Random(iTempVal)+315),3);break;} } } //Weapons if (sResRef=="_UOA_WEAP") { if (d20(1)<17) { iTempVal = ((iMaxTreasureRange/10)+2)*3; switch (Random(25)+1) { case 1:{sResRef="wswdg";break;} case 2:{sResRef="wswss";break;} case 3:{sResRef="waxhn";break;} case 4:{sResRef="waxbt";break;} case 5:{sResRef="wblfl";break;} case 6:{sResRef="wblfh";break;} case 7:{sResRef="wblhl";break;} case 8:{sResRef="wblhw";break;} case 9:{sResRef="wblml";break;} case 10:{sResRef="wblms";break;} case 11:{sResRef="wswbs";break;} case 12:{sResRef="wswgs";break;} case 13:{sResRef="wswls";break;} case 14:{sResRef="wswka";break;} case 15:{sResRef="wswrp";break;} case 16:{sResRef="wswsc";break;} case 17:{sResRef="wspka";break;} case 18:{sResRef="wspku";break;} case 19:{sResRef="wspsc";break;} case 20:{sResRef="wdbma";break;} case 21:{sResRef="wdbax";break;} case 22:{sResRef="wdbsw";break;} case 23:{sResRef="wplhb";break;} case 24:{sResRef="wplsc";break;} default:{sResRef="wplss";break;} } } else { iTempVal = ((iMaxTreasureRange/5)-1)*3; switch(d4(1)) { case 1:{sResRef="wbwsh";break;} case 2:{sResRef="wbwln";break;} case 3:{sResRef="wbwxl";break;} default:{sResRef="wbwxh";break;} } } sResRef=sResRef+GetStringRight("000"+IntToString(Random(iTempVal)+4),3); } if (sResRef=="_UOA_SCROLL") { if (iMaxTreasureRange<=30) { sResRef = GetScrollLow(); } else { if (iMaxTreasureRange<=65) { if (Random(1000)<500) { sResRef = GetScrollLow(); } else { sResRef = GetScrollMed(); } } else { switch (d4(1)) { case 1:{sResRef =GetScrollLow();break;} case 2:{sResRef =GetScrollMed();break;} case 3:{sResRef =GetScrollHigh();break;} default:{sResRef =GetScrollLow();break;} } } //end >30 } //End <=30 } //End scrolls if (sResRef=="_UOA_ESSENCE") { sResRef = "essence"+GetStringRight("000"+IntToString(d20(1)),3); } sResRef=sResRef+"*"+GetStringRight("00"+IntToString(iStack),2); return sResRef; } /* void VerifyNotStore(object oTreasure, object oSelf) { if (GetLocalInt(oTreasure,"iRan")!=0) return; //already been copied SetLocalInt(oTreasure,"iRan",99); //HoTU persistent variables make this line necessary AssignCommand(oTreasure,DelayCommand(20.0,DeleteLocalInt(oTreasure,"iRan"))); string sTag = GetTag(oTreasure); if (GetStringRight(sTag,6)=="_Store") { string sTag2 = GetStringLeft(sTag,GetStringLength(sTag)-6)+"a"; object oTemp =CopyObject(oTreasure,GetLocation(oSelf),oSelf,sTag2); DestroyObject(oTreasure,2.0); SendMessageToPC(GetFirstPC(),"Created copy - "+GetTag(oTemp)); } return; } */ string GetScrollLow() { string sResRef; int iNum; switch (Random(107)) { case 0:{iNum=5;break;} case 1:{iNum=6;break;} case 2:{iNum=7;break;} case 3:{iNum=8;break;} case 4:{iNum=10;break;} case 5:{iNum=11;break;} case 6:{iNum=13;break;} case 7:{iNum=14;break;} case 8:{iNum=16;break;} case 9:{iNum=21;break;} case 10:{iNum=22;break;} case 11:{iNum=25;break;} case 12:{iNum=28;break;} case 13:{iNum=30;break;} case 14:{iNum=31;break;} case 15:{iNum=38;break;} case 16:{iNum=39;break;} case 17:{iNum=40;break;} case 18:{iNum=42;break;} case 19:{iNum=43;break;} case 20:{iNum=45;break;} case 21:{iNum=53;break;} case 22:{iNum=55;break;} case 23:{iNum=57;break;} case 24:{iNum=60;break;} case 25:{iNum=61;break;} case 26:{iNum=62;break;} case 27:{iNum=63;break;} case 28:{iNum=66;break;} case 29:{iNum=69;break;} case 30:{iNum=70;break;} case 31:{iNum=71;break;} case 32:{iNum=72;break;} case 33:{iNum=73;break;} case 34:{iNum=77;break;} case 35:{iNum=84;break;} case 36:{iNum=85;break;} case 37:{iNum=87;break;} case 38:{iNum=95;break;} case 39:{iNum=96;break;} case 40:{iNum=99;break;} case 41:{iNum=100;break;} case 42:{iNum=103;break;} case 43:{iNum=104;break;} case 44:{iNum=105;break;} case 45:{iNum=108;break;} case 46:{iNum=109;break;} case 47:{iNum=113;break;} case 48:{iNum=114;break;} case 49:{iNum=115;break;} case 50:{iNum=116;break;} case 51:{iNum=118;break;} case 52:{iNum=120;break;} case 53:{iNum=121;break;} case 54:{iNum=122;break;} case 55:{iNum=132;break;} case 56:{iNum=133;break;} case 57:{iNum=136;break;} case 58:{iNum=138;break;} case 59:{iNum=139;break;} case 60:{iNum=140;break;} case 61:{iNum=142;break;} case 62:{iNum=143;break;} case 63:{iNum=147;break;} case 64:{iNum=149;break;} case 65:{iNum=150;break;} case 66:{iNum=159;break;} case 67:{iNum=160;break;} case 68:{iNum=163;break;} case 69:{iNum=166;break;} case 70:{iNum=173;break;} case 71:{iNum=176;break;} case 72:{iNum=180;break;} case 73:{iNum=182;break;} case 74:{iNum=184;break;} case 75:{iNum=185;break;} case 76:{iNum=186;break;} case 77:{iNum=187;break;} case 78:{iNum=193;break;} case 79:{iNum=197;break;} case 80:{iNum=198;break;} case 81:{iNum=199;break;} case 82:{iNum=200;break;} case 83:{iNum=201;break;} case 84:{iNum=207;break;} case 85:{iNum=209;break;} case 86:{iNum=211;break;} case 87:{iNum=212;break;} case 88:{iNum=215;break;} case 89:{iNum=216;break;} case 90:{iNum=217;break;} case 91:{iNum=219;break;} case 92:{iNum=221;break;} case 93:{iNum=223;break;} case 94:{iNum=226;break;} case 95:{iNum=227;break;} case 96:{iNum=228;break;} case 97:{iNum=229;break;} case 98:{iNum=232;break;} case 99:{iNum=234;break;} case 100:{iNum=237;break;} case 101:{iNum=238;break;} case 102:{iNum=239;break;} case 103:{iNum=240;break;} case 104:{iNum=243;break;} case 105:{iNum=244;break;} default:{iNum=246;break;} } sResRef="scribe"+GetStringRight("000"+IntToString(iNum),3); return sResRef; } string GetScrollMed() { string sResRef; int iNum; switch (Random(85)) { case 0:{iNum=1;break;} case 1:{iNum=2;break;} case 2:{iNum=9;break;} case 3:{iNum=12;break;} case 4:{iNum=15;break;} case 5:{iNum=17;break;} case 6:{iNum=18;break;} case 7:{iNum=19;break;} case 8:{iNum=24;break;} case 9:{iNum=27;break;} case 10:{iNum=29;break;} case 11:{iNum=33;break;} case 12:{iNum=34;break;} case 13:{iNum=35;break;} case 14:{iNum=36;break;} case 15:{iNum=37;break;} case 16:{iNum=44;break;} case 17:{iNum=46;break;} case 18:{iNum=49;break;} case 19:{iNum=50;break;} case 20:{iNum=52;break;} case 21:{iNum=54;break;} case 22:{iNum=58;break;} case 23:{iNum=64;break;} case 24:{iNum=65;break;} case 25:{iNum=67;break;} case 26:{iNum=68;break;} case 27:{iNum=76;break;} case 28:{iNum=80;break;} case 29:{iNum=81;break;} case 30:{iNum=86;break;} case 31:{iNum=88;break;} case 32:{iNum=89;break;} case 33:{iNum=90;break;} case 34:{iNum=98;break;} case 35:{iNum=101;break;} case 36:{iNum=102;break;} case 37:{iNum=106;break;} case 38:{iNum=110;break;} case 39:{iNum=111;break;} case 40:{iNum=119;break;} case 41:{iNum=123;break;} case 42:{iNum=125;break;} case 43:{iNum=126;break;} case 44:{iNum=129;break;} case 45:{iNum=131;break;} case 46:{iNum=135;break;} case 47:{iNum=141;break;} case 48:{iNum=146;break;} case 49:{iNum=148;break;} case 50:{iNum=151;break;} case 51:{iNum=153;break;} case 52:{iNum=155;break;} case 53:{iNum=156;break;} case 54:{iNum=158;break;} case 55:{iNum=162;break;} case 56:{iNum=164;break;} case 57:{iNum=167;break;} case 58:{iNum=168;break;} case 59:{iNum=169;break;} case 60:{iNum=170;break;} case 61:{iNum=171;break;} case 62:{iNum=172;break;} case 63:{iNum=174;break;} case 64:{iNum=177;break;} case 65:{iNum=181;break;} case 66:{iNum=183;break;} case 67:{iNum=189;break;} case 68:{iNum=190;break;} case 69:{iNum=194;break;} case 70:{iNum=204;break;} case 71:{iNum=206;break;} case 72:{iNum=210;break;} case 73:{iNum=213;break;} case 74:{iNum=214;break;} case 75:{iNum=218;break;} case 76:{iNum=220;break;} case 77:{iNum=224;break;} case 78:{iNum=225;break;} case 79:{iNum=230;break;} case 80:{iNum=231;break;} case 81:{iNum=233;break;} case 82:{iNum=235;break;} case 83:{iNum=236;break;} default:{iNum=241;break;} } sResRef="scribe"+GetStringRight("000"+IntToString(iNum),3); return sResRef; } string GetScrollHigh() { string sResRef; int iNum; switch (Random(51)) { case 0:{iNum=20;break;} case 1:{iNum=23;break;} case 2:{iNum=26;break;} case 3:{iNum=32;break;} case 4:{iNum=41;break;} case 5:{iNum=47;break;} case 6:{iNum=48;break;} case 7:{iNum=51;break;} case 8:{iNum=56;break;} case 9:{iNum=59;break;} case 10:{iNum=74;break;} case 11:{iNum=75;break;} case 12:{iNum=78;break;} case 13:{iNum=79;break;} case 14:{iNum=82;break;} case 15:{iNum=83;break;} case 16:{iNum=91;break;} case 17:{iNum=92;break;} case 18:{iNum=93;break;} case 19:{iNum=94;break;} case 20:{iNum=97;break;} case 21:{iNum=107;break;} case 22:{iNum=112;break;} case 23:{iNum=117;break;} case 24:{iNum=124;break;} case 25:{iNum=127;break;} case 26:{iNum=128;break;} case 27:{iNum=130;break;} case 28:{iNum=134;break;} case 29:{iNum=137;break;} case 30:{iNum=144;break;} case 31:{iNum=145;break;} case 32:{iNum=152;break;} case 33:{iNum=154;break;} case 34:{iNum=157;break;} case 35:{iNum=161;break;} case 36:{iNum=165;break;} case 37:{iNum=175;break;} case 38:{iNum=178;break;} case 39:{iNum=179;break;} case 40:{iNum=188;break;} case 41:{iNum=191;break;} case 42:{iNum=192;break;} case 43:{iNum=195;break;} case 44:{iNum=202;break;} case 45:{iNum=203;break;} case 46:{iNum=205;break;} case 47:{iNum=208;break;} case 48:{iNum=222;break;} case 49:{iNum=242;break;} default:{iNum=245;break;} } sResRef="scribe"+GetStringRight("000"+IntToString(iNum),3); return sResRef; }