//:://///////////////////////////////////////////// //:: Weapon Spawn Script for Martial Classes //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* Spawns in a magical SPECIFIC weapon suited for that class. Will spawn in either a generic or specific, depending on the value. NOTE: Only works on containers */ //::////////////////////////////////////////////// //:: Created By: Andrew, Brent //:: Created On: February 2002 //::////////////////////////////////////////////// #include "NW_O2_CONINCLUDE" #include "prc_class_const" void CreateBastardSword(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmbs002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmbs002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmbs002"; break; case 2: sItem = "nw_wswmbs009"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmbs009"; break; case 2: sItem = "nw_wswmbs005"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmbs005"; break; case 2: sItem = "nw_wswmbs010"; break; case 3: sItem = "nw_wswmbs006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wswmbs010"; break; case 2: sItem = "nw_wswmbs006"; break; case 3: sItem = "nw_wswmbs007"; break; case 4: sItem = "nw_wswmbs003"; break; case 5: sItem = "nw_wswmbs004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateBattleAxe(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_waxmbt002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_waxmbt002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_waxmbt002"; break; case 2: sItem = "nw_waxmbt010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_waxmbt010"; break; case 2: sItem = "nw_waxmbt011"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_waxmbt011"; break; case 2: sItem = "nw_waxmbt006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_waxmbt011"; break; case 2: sItem = "nw_waxmbt006"; break; case 3: sItem = "nw_waxmbt003"; break; case 4: sItem = "nw_waxmbt004"; break; case 5: sItem = "nw_waxmbt005"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateClub(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmcl002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmcl002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wblmcl002"; break; case 2: sItem = "nw_wblmcl010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmcl010"; break; case 2: sItem = "nw_wblmcl004"; break; case 3: sItem = "nw_wblmcl003"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wblmcl004"; break; case 2: sItem = "nw_wblmcl003"; break; case 3: sItem = "nw_wblmcl011"; break; case 4: sItem = "nw_wblmcl005"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmcl011"; break; case 2: sItem = "nw_wblmcl005"; break; case 3: sItem = "nw_wblmcl006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateDagger(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmdg002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmdg002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmdg002"; break; case 2: sItem = "nw_wswmdg008"; break; case 3: sItem = "nw_wswmdg006"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmdg008"; break; case 2: sItem = "nw_wswmdg006"; break; case 3: sItem = "nw_wswmdg009"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmdg009"; break; case 2: sItem = "nw_wswmdg004"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wswmdg009"; break; case 2: sItem = "nw_wswmdg004"; break; case 3: sItem = "nw_wswmdg003"; break; case 4: sItem = "nw_wswmdg007"; break; case 5: sItem = "nw_wswmdg005"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateDart(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wthmdt002"; break; case 2: sItem = "nw_wthmdt002"; break; case 3: sItem = "nw_wthmdt008"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wthmdt008"; break; case 2: sItem = "nw_wthmdt009"; break; case 3: sItem = "nw_wthmdt003"; break; } } else { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wthmdt009"; break; case 2: sItem = "nw_wthmdt003"; break; case 3: sItem = "nw_wthmdt007"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, Random(40) + 1); } void CreateDireMace(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmma002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmma002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmma002"; break; case 2: sItem = "nw_wdbmma003"; break; case 3: sItem = "nw_wdbmma010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmma003"; break; case 2: sItem = "nw_wdbmma010"; break; case 3: sItem = "nw_wdbmma005"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmma005"; break; case 2: sItem = "nw_wdbmma011"; break; case 3: sItem = "nw_wdbmma004"; break; case 4: sItem = "nw_wdbmma006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmma005"; break; case 2: sItem = "nw_wdbmma011"; break; case 3: sItem = "nw_wdbmma004"; break; case 4: sItem = "nw_wdbmma006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateDoubleAxe(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmax002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmax002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmax002"; break; case 2: sItem = "nw_wdbmax010"; break; case 3: sItem = "nw_wdbmax006"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmax010"; break; case 2: sItem = "nw_wdbmax006"; break; case 3: sItem = "nw_wdbmax005"; break; } } else if (GetRange(5, nHD)) { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmax005"; break; case 2: sItem = "nw_wdbmax011"; break; case 3: sItem = "nw_wdbmax004"; break; case 4: sItem = "nw_wdbmax007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmax011"; break; case 2: sItem = "nw_wdbmax004"; break; case 3: sItem = "nw_wdbmax007"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateGreatAxe(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_waxmgr002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_waxmgr002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_waxmgr002"; break; case 2: sItem = "nw_waxmgr009"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_waxmgr002"; break; case 2: sItem = "nw_waxmgr009"; break; case 3: sItem = "nw_waxmgr003"; break; case 4: sItem = "nw_waxmgr006"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_waxmgr003"; break; case 2: sItem = "nw_waxmgr006"; break; case 3: sItem = "nw_waxmgr011"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_waxmgr011"; break; case 2: sItem = "nw_waxmgr005"; break; case 3: sItem = "nw_waxmgr004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateGreatSword(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmgs002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmgs002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmgs002"; break; case 2: sItem = "nw_wswmgs011"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmgs011"; break; case 2: sItem = "nw_wswmgs006"; break; case 3: sItem = "nw_wswmgs004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wswmgs006"; break; case 2: sItem = "nw_wswmgs004"; break; case 3: sItem = "nw_wswmgs012"; break; case 4: sItem = "nw_wswmgs005"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmgs012"; break; case 2: sItem = "nw_wswmgs005"; break; case 3: sItem = "nw_wswmgs003"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateHalberd(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wplmhb002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wplmhb002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wplmhb002"; break; case 2: sItem = "nw_wplmhb010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wplmhb010"; break; case 2: sItem = "nw_wplmhb004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wplmhb004"; break; case 2: sItem = "nw_wplmhb011"; break; case 3: sItem = "nw_wplmhb003"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wplmhb011"; break; case 2: sItem = "nw_wplmhb003"; break; case 3: sItem = "nw_wplmhb007"; break; case 4: sItem = "nw_wplmhb006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateHandAxe(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_waxmhn002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_waxmhn002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_waxmhn002"; break; case 2: sItem = "nw_waxmhn010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_waxmhn010"; break; case 2: sItem = "nw_waxmhn004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_waxmhn004"; break; case 2: sItem = "nw_waxmhn011"; break; case 3: sItem = "nw_waxmhn003"; break; case 4: sItem = "nw_waxmhn005"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_waxmhn011"; break; case 2: sItem = "nw_waxmhn003"; break; case 3: sItem = "nw_waxmhn005"; break; case 4: sItem = "nw_waxmhn006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateHeavyCrossbow(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxh002"; break; case 2: sItem = "nw_wbwmxh002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxh002"; break; case 2: sItem = "nw_wbwmxh008"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxh002"; break; case 2: sItem = "nw_wbwmxh008"; break; case 3: sItem = "nw_wbwmxh009"; break; case 4: sItem = "nw_wbwmxh005"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxh009"; break; case 2: sItem = "nw_wbwmxh005"; break; case 3: sItem = "nw_wbwmxh003"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxh003"; break; case 2: sItem = "nw_wbwmxh004"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxh004"; break; case 2: sItem = "nw_wbwmxh007"; break; case 3: sItem = "nw_wbwmxh006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateHeavyFlail(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfh002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfh002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfh002"; break; case 2: sItem = "nw_wblmfh007"; break; case 3: sItem = "nw_wblmfh010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfh002"; break; case 2: sItem = "nw_wblmfh007"; break; case 3: sItem = "nw_wblmfh010"; break; case 4: sItem = "nw_wblmfh004"; break; case 5: sItem = "nw_wblmfh008"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfh004"; break; case 2: sItem = "nw_wblmfh008"; break; case 3: sItem = "nw_wblmfh011"; break; case 4: sItem = "nw_wblmfh006"; break; case 5: sItem = "nw_wblmfh003"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfh011"; break; case 2: sItem = "nw_wblmfh006"; break; case 3: sItem = "nw_wblmfh003"; break; case 4: sItem = "nw_wblmfh005"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateKama(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wspmka002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wspmka002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wspmka002"; break; case 2: sItem = "nw_wspmka004"; break; case 3: sItem = "nw_wspmka007"; break; case 4: sItem = "nw_wspmka008"; break; case 5: sItem = "nw_wspmka005"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wspmka004"; break; case 2: sItem = "nw_wspmka007"; break; case 3: sItem = "nw_wspmka008"; break; case 4: sItem = "nw_wspmka005"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wspmka005"; break; case 2: sItem = "nw_wspmka009"; break; case 3: sItem = "nw_wspmka006"; break; case 4: sItem = "nw_wspmka003"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wspmka009"; break; case 2: sItem = "nw_wspmka006"; break; case 3: sItem = "nw_wspmka003"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateKatana(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmka002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmka002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmka002"; break; case 2: sItem = "nw_wswmka005"; break; case 3: sItem = "nw_wswmka010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmka005"; break; case 2: sItem = "nw_wswmka010"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmka011"; break; case 2: sItem = "nw_wswmka007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wswmka011"; break; case 2: sItem = "nw_wswmka007"; break; case 3: sItem = "nw_wswmka006"; break; case 4: sItem = "nw_wswmka004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateKukri(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wspmku002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wspmku002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wspmku002"; break; case 2: sItem = "nw_wspmku006"; break; case 3: sItem = "nw_wspmku008"; break; case 4: sItem = "nw_wspmku005"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wspmku006"; break; case 2: sItem = "nw_wspmku008"; break; case 3: sItem = "nw_wspmku005"; break; case 4: sItem = "nw_wspmku004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wspmku004"; break; case 2: sItem = "nw_wspmku009"; break; case 3: sItem = "nw_wspmku007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wspmku009"; break; case 2: sItem = "nw_wspmku007"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateLightCrossbow(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwxl001"; break; case 2: sItem = "nw_wbwmxl002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxl002"; break; case 2: sItem = "nw_wbwmxl008"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxl008"; break; case 2: sItem = "nw_wbwmxl009"; break; case 3: sItem = "nw_wbwmxl005"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxl009"; break; case 2: sItem = "nw_wbwmxl005"; break; case 3: sItem = "nw_wbwmxl003"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxl003"; break; case 2: sItem = "nw_wbwmxl004"; break; case 3: sItem = "nw_wbwmxl007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmxl003"; break; case 2: sItem = "nw_wbwmxl004"; break; case 3: sItem = "nw_wbwmxl007"; break; case 4: sItem = "nw_wbwmxl006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateLightFlail(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfl002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfl002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfl002"; break; case 2: sItem = "nw_wblmfl010"; break; case 3: sItem = "nw_wblmfl004"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfl010"; break; case 2: sItem = "nw_wblmfl004"; break; case 3: sItem = "nw_wblmfl005"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfl005"; break; case 2: sItem = "nw_wblmfl011"; break; case 3: sItem = "nw_wblmfl007"; break; case 4: sItem = "nw_wblmfl006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmfl011"; break; case 2: sItem = "nw_wblmfl007"; break; case 3: sItem = "nw_wblmfl006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateLightHammer(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhl002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhl002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhl002"; break; case 2: sItem = "nw_wblmhl010"; break; case 3: sItem = "nw_wblmhl004"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhl010"; break; case 2: sItem = "nw_wblmhl004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhl005"; break; case 2: sItem = "nw_wblmhl011"; break; case 3: sItem = "nw_wblmhl006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhl005"; break; case 2: sItem = "nw_wblmhl011"; break; case 3: sItem = "nw_wblmhl006"; break; case 4: sItem = "nw_wblmhl009"; break; case 5: sItem = "nw_wblmhl003"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateLightMace(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmml002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmml002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmml002"; break; case 2: sItem = "nw_wblmml011"; break; case 3: sItem = "nw_wblmml006"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wblmml011"; break; case 2: sItem = "nw_wblmml006"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wblmml012"; break; case 2: sItem = "nw_wblmml004"; break; case 3: sItem = "nw_wblmml005"; break; case 4: sItem = "nw_wblmml007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wblmml012"; break; case 2: sItem = "nw_wblmml004"; break; case 3: sItem = "nw_wblmml005"; break; case 4: sItem = "nw_wblmml007"; break; case 5: sItem = "nw_wblmml008"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateLongSword(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmls002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmls002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmls002"; break; case 2: sItem = "nw_wswmls010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmls010"; break; case 2: sItem = "nw_wswmls007"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wswmls007"; break; case 2: sItem = "nw_wswmls012"; break; case 3: sItem = "nw_wswmls005"; break; case 4: sItem = "nw_wswmls006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wswmls012"; break; case 2: sItem = "nw_wswmls005"; break; case 3: sItem = "nw_wswmls006"; break; case 4: sItem = "nw_wswmls004"; break; case 5: sItem = "nw_wswmls013"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateLongbow(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmln002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmln002"; break; case 2: sItem = "nw_wbwmln002"; break; case 3: sItem = "nw_wbwmln008"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmln002"; break; case 2: sItem = "nw_wbwmln008"; break; case 3: sItem = "nw_wbwmln009"; break; case 4: sItem = "nw_wbwmln004"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmln009"; break; case 2: sItem = "nw_wbwmln004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmln004"; break; case 2: sItem = "nw_wbwmln007"; break; case 3: sItem = "nw_wbwmln006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmln007"; break; case 2: sItem = "nw_wbwmln006"; break; case 3: sItem = "nw_wbwmln005"; break; case 4: sItem = "nw_wbwmln003"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateMorningstar(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmms002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmms002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmms002"; break; case 2: sItem = "nw_wblmms010"; break; case 3: sItem = "nw_wblmms007"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wblmms007"; break; case 2: sItem = "nw_wblmms003"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wblmms003"; break; case 2: sItem = "nw_wblmms011"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmms011"; break; case 2: sItem = "nw_wblmms006"; break; case 3: sItem = "nw_wblmms004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateRapier(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmrp002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmrp002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wswmrp002"; break; case 2: sItem = "nw_wswmrp004"; break; case 3: sItem = "nw_wswmrp010"; break; case 4: sItem = "nw_wswmrp003"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wswmrp004"; break; case 2: sItem = "nw_wswmrp010"; break; case 3: sItem = "nw_wswmrp003"; break; case 4: sItem = "nw_wswmrp005"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wswmrp003"; break; case 2: sItem = "nw_wswmrp005"; break; case 3: sItem = "nw_wswmrp011"; break; case 4: sItem = "nw_wswmrp007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmrp011"; break; case 2: sItem = "nw_wswmrp007"; break; case 3: sItem = "nw_wswmrp006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateScimitar(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmsc002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmsc002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmsc002"; break; case 2: sItem = "nw_wswmsc010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmsc010"; break; case 2: sItem = "nw_wswmsc004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmsc004"; break; case 2: sItem = "nw_wswmsc011"; break; case 3: sItem = "nw_wswmsc006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wswmsc011"; break; case 2: sItem = "nw_wswmsc006"; break; case 3: sItem = "nw_wswmsc007"; break; case 4: sItem = "nw_wswmsc005"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateScythe(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wplmsc002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wplmsc002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wplmsc002"; break; case 2: sItem = "nw_wplmsc010"; break; case 3: sItem = "nw_wplmsc003"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wplmsc010"; break; case 2: sItem = "nw_wplmsc003"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wplmsc003"; break; case 2: sItem = "nw_wplmsc011"; break; case 3: sItem = "nw_wplmsc006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wplmsc011"; break; case 2: sItem = "nw_wplmsc006"; break; case 3: sItem = "nw_wplmsc005"; break; case 4: sItem = "nw_wplmsc004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateShortsword(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmss002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wswmss002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmss002"; break; case 2: sItem = "nw_wswmss009"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wswmss009"; break; case 2: sItem = "nw_wswmss011"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wswmss011"; break; case 2: sItem = "nw_wswmss005"; break; case 3: sItem = "nw_wswmss004"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wswmss011"; break; case 2: sItem = "nw_wswmss005"; break; case 3: sItem = "nw_wswmss004"; break; case 4: sItem = "nw_wswmss006"; break; case 5: sItem = "nw_wswmss003"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateShortbow(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsh002"; break; case 2: sItem = "nw_wbwmsh002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsh002"; break; case 2: sItem = "nw_wbwmsh008"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsh008"; break; case 2: sItem = "nw_wbwmsh009"; break; case 3: sItem = "nw_wbwmsh003"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsh009"; break; case 2: sItem = "nw_wbwmsh003"; break; case 3: sItem = "nw_wbwmsh006"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsh006"; break; case 2: sItem = "nw_wbwmsh007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsh007"; break; case 2: sItem = "nw_wbwmsh005"; break; case 3: sItem = "nw_wbwmsh004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateShuriken(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wthmsh002"; break; case 2: sItem = "nw_wthmsh002"; break; case 3: sItem = "nw_wthmsh003"; break; case 4: sItem = "nw_wthmsh008"; break; case 5: sItem = "nw_wthmsh006"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wthmsh002"; break; case 2: sItem = "nw_wthmsh003"; break; case 3: sItem = "nw_wthmsh008"; break; case 4: sItem = "nw_wthmsh006"; break; case 5: sItem = "nw_wthmsh009"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wthmsh006"; break; case 2: sItem = "nw_wthmsh009"; break; case 3: sItem = "nw_wthmsh005"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wthmsh009"; break; case 2: sItem = "nw_wthmsh005"; break; case 3: sItem = "nw_wthmsh004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wthmsh005"; break; case 2: sItem = "nw_wthmsh004"; break; case 3: sItem = "nw_wthmsh007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wthmsh005"; break; case 2: sItem = "nw_wthmsh004"; break; case 3: sItem = "nw_wthmsh007"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, Random(40) + 1); } void CreateSickle(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wspmsc002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wspmsc002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wspmsc002"; break; case 2: sItem = "nw_wspmsc010"; break; case 3: sItem = "nw_wspmsc004"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wspmsc010"; break; case 2: sItem = "nw_wspmsc004"; break; case 3: sItem = "nw_wspmsc005"; break; case 4: sItem = "nw_wspmsc006"; break; case 5: sItem = "nw_wspmsc003"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wspmsc005"; break; case 2: sItem = "nw_wspmsc006"; break; case 3: sItem = "nw_wspmsc003"; break; case 4: sItem = "nw_wspmsc011"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wspmsc011"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateSling(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsl001"; break; case 2: sItem = "nw_wbwmsl001"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsl001"; break; case 2: sItem = "nw_wbwmsl009"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsl009"; break; case 2: sItem = "nw_wbwmsl010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsl010"; break; case 2: sItem = "nw_wbwmsl003"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsl003"; break; case 2: sItem = "nw_wbwmsl007"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsl007"; break; case 2: sItem = "nw_wbwmsl006"; break; case 3: sItem = "nw_wbwmsl008"; break; case 4: sItem = "nw_wbwmsl004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateSpear(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wplmss002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wplmss002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wplmss002"; break; case 2: sItem = "nw_wbwmsl005"; break; case 3: sItem = "nw_wplmss010"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wbwmsl005"; break; case 2: sItem = "nw_wplmss010"; break; case 3: sItem = "nw_wplmss005"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wplmss005"; break; case 2: sItem = "nw_wplmss011"; break; case 3: sItem = "nw_wplmss007"; break; case 4: sItem = "nw_wplmss006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wplmss011"; break; case 2: sItem = "nw_wplmss007"; break; case 3: sItem = "nw_wplmss006"; break; case 4: sItem = "nw_wplmss004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateStaff(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmqs002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmqs002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmqs002"; break; case 2: sItem = "nw_wdbmqs005"; break; case 3: sItem = "nw_wdbmqs006"; break; case 4: sItem = "nw_wdbmqs008"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmqs005"; break; case 2: sItem = "nw_wdbmqs006"; break; case 3: sItem = "nw_wdbmqs008"; break; case 4: sItem = "nw_wdbmqs004"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmqs004"; break; case 2: sItem = "nw_wdbmqs009"; break; case 3: sItem = "nw_wdbmqs003"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmqs009"; break; case 2: sItem = "nw_wdbmqs003"; break; case 3: sItem = "nw_wdbmqs007"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateThrowingAxe(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wthmax002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wthmax002"; break; case 2: sItem = "nw_wthmax008"; break; case 3: sItem = "nw_wthmax005"; break; case 4: sItem = "nw_wthmax007"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(5) + 1; switch (nRandom) { case 1: sItem = "nw_wthmax008"; break; case 2: sItem = "nw_wthmax005"; break; case 3: sItem = "nw_wthmax007"; break; case 4: sItem = "nw_wthmax003"; break; case 5: sItem = "nw_wthmax004"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wthmax007"; break; case 2: sItem = "nw_wthmax003"; break; case 3: sItem = "nw_wthmax004"; break; case 4: sItem = "nw_wthmax009"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wthmax003"; break; case 2: sItem = "nw_wthmax004"; break; case 3: sItem = "nw_wthmax009"; break; case 4: sItem = "nw_wthmax006"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wthmax009"; break; case 2: sItem = "nw_wthmax006"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, Random(40) + 1); } void CreateTwoBladedSword(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmsw002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmsw002"; break; case 2: sItem = "nw_wdbmsw002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmsw002"; break; case 2: sItem = "nw_wdbmsw010"; break; case 3: sItem = "nw_wdbmsw006"; break; case 4: sItem = "nw_wdbmsw007"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmsw010"; break; case 2: sItem = "nw_wdbmsw006"; break; case 3: sItem = "nw_wdbmsw007"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmsw011"; break; case 2: sItem = "nw_wdbmsw005"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wdbmsw011"; break; case 2: sItem = "nw_wdbmsw005"; break; case 3: sItem = "nw_wdbmsw004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateWarhammer(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhw002"; break; } } else if (GetRange(2, nHD)) // * 200 - 2500 { int nRandom = Random(1) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhw002"; break; } } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhw002"; break; case 2: sItem = "nw_wblmhw011"; break; case 3: sItem = "nw_wblmhw006"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhw011"; break; case 2: sItem = "nw_wblmhw006"; break; } } else if (GetRange(5, nHD)) // * 8000 - 25000 { int nRandom = Random(4) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhw006"; break; case 2: sItem = "nw_wblmhw005"; break; case 3: sItem = "nw_wblmhw012"; break; case 4: sItem = "nw_wblmhw003"; break; } } else if (GetRange(6, nHD)) // * 16000 and up { int nRandom = Random(3) + 1; switch (nRandom) { case 1: sItem = "nw_wblmhw012"; break; case 2: sItem = "nw_wblmhw003"; break; case 3: sItem = "nw_wblmhw004"; break; } } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } void CreateWhip(object oTarget, object oAdventurer) { string sItem = ""; int nHD = GetHitDice(oAdventurer); if (GetRange(1, nHD)) // * 800 { sItem = "x2_it_wpmwhip1"; } else if (GetRange(2, nHD)) // * 200 - 2500 { sItem = "x2_it_wpmwhip1"; } else if (GetRange(3, nHD)) // * 800 - 10000 { int nRandom = Random(2) + 1; switch (nRandom) { case 1: sItem = "x2_it_wpmwhip1"; break; case 2: sItem = "x2_it_wpmwhip2"; break; } } else if (GetRange(4, nHD)) // * 2500 - 16500 { sItem = "x2_it_wpmwhip2"; } else if (GetRange(5, nHD)) // * 8000 - 25000 { sItem = "x2_it_wpmwhip3"; } else if (GetRange(6, nHD)) // * 16000 and up { sItem = "x2_it_wpmwhip3"; } if (sItem != "") dbCreateItemOnObject(sItem, oTarget, 1); } //:://///////////////////////////////////////////// //:: Prefers //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* Returns true if oAdventurer prefers using this weapon. CRITERIA: They have Weapon Focus nFeatWeaponType: Uses the feat constants to differentiate the weapon types */ //::////////////////////////////////////////////// //:: Created By: Brent //:: Created On: March 2002 //::////////////////////////////////////////////// int Prefers(int nFeatWeaponType, object oAdventurer) { if (GetHasFeat(nFeatWeaponType, oAdventurer) == TRUE) return TRUE; else return FALSE; } void main() { object oLastOpener = GetLastOpener(); object oContainer = OBJECT_SELF; if (GetLocalInt(OBJECT_SELF, "NW_L_OPENONCE") > 0 || GetIsObjectValid(oLastOpener) == FALSE) { return; // * abort treasure if no one opened the container } SetLocalInt(OBJECT_SELF, "NW_L_OPENONCE",1); ShoutDisturbed(); // * CHoose the weapon type to create if (Prefers(FEAT_WEAPON_FOCUS_BASTARD_SWORD, oLastOpener) == TRUE) { CreateBastardSword(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_BATTLE_AXE,oLastOpener)) { CreateBattleAxe(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_CLUB,oLastOpener)) { CreateClub(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_DAGGER,oLastOpener)) { CreateDagger(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_DART,oLastOpener)) { CreateDart(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_DIRE_MACE,oLastOpener)) { CreateDireMace(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_DOUBLE_AXE,oLastOpener)) { CreateDoubleAxe(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_GREAT_AXE,oLastOpener)) { CreateGreatAxe(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_GREAT_SWORD,oLastOpener)) { CreateGreatSword(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_HALBERD,oLastOpener)) { CreateHalberd(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_HAND_AXE,oLastOpener)) { CreateHandAxe(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW,oLastOpener)) { CreateHeavyCrossbow(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_HEAVY_FLAIL,oLastOpener)) { CreateHeavyFlail(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_KAMA,oLastOpener)) { CreateKama(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_KATANA,oLastOpener)) { CreateKatana(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_KUKRI,oLastOpener)) { CreateKukri(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW,oLastOpener)) { CreateLightCrossbow(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_LIGHT_FLAIL,oLastOpener)) { CreateLightFlail(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_LIGHT_HAMMER,oLastOpener)) { CreateLightHammer(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_LIGHT_MACE,oLastOpener)) { CreateLightMace(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_LONG_SWORD,oLastOpener)) { CreateLongSword(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_LONGBOW,oLastOpener)) { CreateLongbow(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_MORNING_STAR,oLastOpener)) { CreateMorningstar(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_RAPIER,oLastOpener)) { CreateRapier(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_SCIMITAR,oLastOpener)) { CreateScimitar(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_SCYTHE,oLastOpener)) { CreateScythe(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_SHORT_SWORD,oLastOpener)) { CreateShortsword(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_SHORTBOW,oLastOpener)) { CreateShortbow(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_SHURIKEN,oLastOpener)) { CreateShuriken(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_SICKLE,oLastOpener)) { CreateSickle(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_SLING,oLastOpener)) { CreateSling(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_SPEAR,oLastOpener)) { CreateSpear(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_STAFF,oLastOpener)) { CreateStaff(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_THROWING_AXE,oLastOpener)) { CreateThrowingAxe(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD,oLastOpener)) { CreateTwoBladedSword(oContainer, oLastOpener); } else if (Prefers(FEAT_WEAPON_FOCUS_WAR_HAMMER,oLastOpener)) { CreateWarhammer(oContainer, oLastOpener); } else { // * if get to this point then the PC did not have Weapon Focus // * in anything then do additional logic to give an appropriate weapon if (GetLevelByClass(CLASS_TYPE_ALAGHAR, oLastOpener) >= 1) { CreateBattleAxe(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_HEARTWARDER, oLastOpener) >= 1 || GetLevelByClass(CLASS_TYPE_LASHER, oLastOpener) >= 1) { CreateWhip(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_STORMLORD, oLastOpener) >= 1) { CreateSpear(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oLastOpener) >= 1) { CreateHalberd(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_HALFLING_WARSLINGER, oLastOpener) >= 1) { CreateSling(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_BOWMAN, oLastOpener) >= 1 || GetLevelByClass(CLASS_TYPE_BLARCHER, oLastOpener) >= 1) { CreateLongbow(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_SAMURAI, oLastOpener) >= 1 || GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oLastOpener) >= 1) { CreateKatana(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oLastOpener) >= 1 || GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oLastOpener) >= 1 || GetLevelByClass(CLASS_TYPE_DUELIST, oLastOpener) >= 1) { CreateRapier(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_WIZARD, oLastOpener) >= 1 || GetLevelByClass(CLASS_TYPE_PSION, oLastOpener) >= 1 || GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oLastOpener) >= 1) { CreateSpecificWizardWeapon(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_DRUID, oLastOpener) >= 1) { CreateScimitar(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_MONK, oLastOpener) >= 1) { CreateSpecificMonkWeapon(oContainer, oLastOpener); } else if (GetLevelByClass(CLASS_TYPE_ROGUE, oLastOpener) >= 1 || GetLevelByClass(CLASS_TYPE_BARD, oLastOpener) >= 1) { CreateShortsword(oContainer, oLastOpener); } else if (GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oLastOpener)) { CreateBastardSword(oContainer, oLastOpener); } else if (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oLastOpener)) { CreateLongSword(oContainer, oLastOpener); } else if (GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oLastOpener)) { CreateMorningstar(oContainer, oLastOpener); } } }