2899 lines
91 KiB
Plaintext
2899 lines
91 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: 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);
|
|
}
|
|
}
|
|
}
|
|
|
|
|