1514 lines
34 KiB
Plaintext
1514 lines
34 KiB
Plaintext
//#include "NW_O2_CONINCLUDE"
|
|
#include "en5_misc"
|
|
|
|
void MakeWeaponList(object oCreature, string sWeapon)
|
|
{
|
|
int iWeapons;
|
|
string sWeaponNumber;
|
|
|
|
iWeapons = GetLocalInt(oCreature,"Weapons");
|
|
iWeapons++;
|
|
SetLocalInt(oCreature,"Weapons",iWeapons);
|
|
sWeaponNumber = "Weapon" + IntToString(iWeapons);
|
|
SetLocalString(oCreature,sWeaponNumber,sWeapon);
|
|
}
|
|
|
|
void ClearWeaponList(object oCreature)
|
|
{
|
|
int iWeapons;
|
|
int iIndex;
|
|
|
|
iWeapons = GetLocalInt(oCreature,"Weapons");
|
|
iIndex=1;
|
|
|
|
while (iIndex <= iWeapons)
|
|
{
|
|
SetLocalString(oCreature,"Weapon" + IntToString(iIndex),"");
|
|
iIndex++;
|
|
}
|
|
SetLocalInt(oCreature,"Weapons",0);
|
|
}
|
|
|
|
string GetWeaponFromList(object oCreature)
|
|
{
|
|
int iWeapons;
|
|
int iRandom;
|
|
string sTag;
|
|
|
|
iWeapons = GetLocalInt(oCreature,"Weapons");
|
|
iRandom = Random(iWeapons) + 1;
|
|
sTag = GetLocalString(oCreature,"Weapon" + IntToString(iRandom));
|
|
|
|
return sTag;
|
|
}
|
|
|
|
int GetRange(int iRange,int iItemLevel)
|
|
{
|
|
int iResult;
|
|
|
|
iResult = FALSE;
|
|
|
|
if (iRange == 1 && iItemLevel == 1)
|
|
iResult = TRUE;
|
|
if (iRange == 2 && iItemLevel == 1)
|
|
iResult = TRUE;
|
|
if (iRange == 3 && iItemLevel == 2)
|
|
iResult = TRUE;
|
|
if (iRange == 4 && iItemLevel == 3)
|
|
iResult = TRUE;
|
|
if (iRange == 5 && iItemLevel == 4)
|
|
iResult = TRUE;
|
|
if (iRange == 6 && iItemLevel > 4)
|
|
iResult = TRUE;
|
|
|
|
return iResult;
|
|
}
|
|
|
|
string CreateMonkGloves(object oPC,int iItemLevel=1)
|
|
{
|
|
int iRandom;
|
|
string sTag;
|
|
|
|
if (iItemLevel == 1)
|
|
{
|
|
iRandom = Random(4)+1;
|
|
switch (iRandom)
|
|
{
|
|
case 1: sTag="NW_IT_MGLOVE016"; break;
|
|
case 2: sTag="NW_IT_MGLOVE021"; break;
|
|
case 3: sTag="NW_IT_MGLOVE026"; break;
|
|
case 4: sTag="en5_mgloves1_1"; break;
|
|
}
|
|
}
|
|
if (iItemLevel == 2)
|
|
{
|
|
iRandom = Random(5)+1;
|
|
switch (iRandom)
|
|
{
|
|
case 1: sTag="NW_IT_MGLOVE017"; break;
|
|
case 2: sTag="X1_IT_MGLOVE001"; break;
|
|
case 3: sTag="NW_IT_MGLOVE022"; break;
|
|
case 4: sTag="NW_IT_MGLOVE027"; break;
|
|
case 5: sTag="en5_mgloves2_1"; break;
|
|
}
|
|
}
|
|
if (iItemLevel == 3)
|
|
{
|
|
iRandom = Random(4)+1;
|
|
switch (iRandom)
|
|
{
|
|
case 1: sTag="NW_IT_MGLOVE018"; break;
|
|
case 2: sTag="NW_IT_MGLOVE023"; break;
|
|
case 3: sTag="NW_IT_MGLOVE028"; break;
|
|
case 4: sTag="en5_mgloves3_1"; break;
|
|
}
|
|
}
|
|
if (iItemLevel == 4)
|
|
{
|
|
iRandom = Random(3)+1;
|
|
switch (iRandom)
|
|
{
|
|
case 1: sTag="NW_IT_MGLOVE019"; break;
|
|
case 2: sTag="NW_IT_MGLOVE024"; break;
|
|
case 3: sTag="NW_IT_MGLOVE029"; break;
|
|
}
|
|
}
|
|
if (iItemLevel == 5)
|
|
{
|
|
iRandom = Random(4)+1;
|
|
switch (iRandom)
|
|
{
|
|
case 1: sTag="NW_IT_MGLOVE020"; break;
|
|
case 2: sTag="NW_IT_MGLOVE025"; break;
|
|
case 3: sTag="NW_IT_MGLOVE030"; break;
|
|
case 4: sTag="en5_mgloves5_1"; break;
|
|
|
|
}
|
|
}
|
|
if (iItemLevel == 6)
|
|
{
|
|
iRandom = Random(5)+1;
|
|
switch (iRandom)
|
|
{
|
|
case 1: sTag="X2_IT_MGLOVE001"; break;
|
|
case 2: sTag="X2_GLOVE_BAL"; break;
|
|
case 3: sTag="X2_IT_MGLOVE006"; break;
|
|
case 4: sTag="X2_IT_MGLOVE011"; break;
|
|
case 5: sTag="en5_mgloves6_1"; break;
|
|
|
|
}
|
|
}
|
|
|
|
return sTag;
|
|
}
|
|
|
|
|
|
string CreateBastardSword(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_bsword";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=4; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
|
|
|
|
string CreateBattleAxe(object oPC,int iItemLevel=1)
|
|
{
|
|
|
|
string sItem = "";
|
|
|
|
|
|
if (GetRange(1, iItemLevel)) // * 800
|
|
{
|
|
int nRandom = Random(2) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sItem = "nw_waxmbt002"; break;
|
|
case 2: sItem = "NW_WAXMBT008"; break;
|
|
}
|
|
|
|
}
|
|
else if (GetRange(2, iItemLevel)) // * 200 - 2500
|
|
{
|
|
int nRandom = Random(3) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sItem = "nw_waxmbt010"; break;
|
|
case 2: sItem = "en5_battleaxe1"; break;
|
|
case 3: sItem = "NW_WAXMBT009"; break;
|
|
}
|
|
|
|
}
|
|
else if (GetRange(3, iItemLevel)) // * 800 - 10000
|
|
{
|
|
int nRandom = Random(5) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sItem = "nw_waxmbt011"; break;
|
|
case 2: sItem = "en5_battleaxe2"; break;
|
|
case 3: sItem = "nw_waxmbt003"; break;
|
|
case 4: sItem = "nw_waxmbt006"; break;
|
|
case 5: sItem = "NW_IT_NOVEL006"; break;
|
|
}
|
|
|
|
}
|
|
else if (GetRange(4, iItemLevel)) // * 2500 - 16500
|
|
{
|
|
int nRandom = Random(4) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sItem = "X0_WAXMBT001"; break;
|
|
case 2: sItem = "en5_battleaxe3"; break;
|
|
case 3: sItem = "nw_waxmbt004"; break;
|
|
case 4: sItem = "nw_waxmbt005"; break;
|
|
}
|
|
|
|
}
|
|
else if (GetRange(5, iItemLevel)) // * 8000 - 25000
|
|
{
|
|
int nRandom = Random(2) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sItem = "X0_WAXMBT002"; break;
|
|
case 2: sItem = "en5_battleaxe4"; break;
|
|
}
|
|
|
|
}
|
|
else if (GetRange(6, iItemLevel)) // * 16000 and up
|
|
{
|
|
int nRandom = Random(3) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sItem = "X2_WAXMBT003"; break;
|
|
case 2: sItem = "en5_battleaxe5"; break;
|
|
case 3: sItem = "X2_WAXMBT005"; break;
|
|
}
|
|
|
|
}
|
|
|
|
return sItem;
|
|
}
|
|
|
|
|
|
string CreateClub(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_club";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=4; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
|
|
string CreateDagger(object oPC,int iItemLevel=1)
|
|
{
|
|
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_dagger";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=4; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateDart(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_dart";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=1; break;
|
|
case 5: iLevelNumber=1; break;
|
|
case 6: iLevelNumber=1; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateDireMace(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_dmace";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateDoubleAxe(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_daxe";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=4; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateGreatAxe(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_gaxe";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=5; break;
|
|
case 3: iLevelNumber=4; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateGreatSword(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_gsword";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=5; break;
|
|
case 3: iLevelNumber=4; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateHalberd(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_halberd";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=5; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateHandAxe(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_haxe";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateHeavyCrossbow(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_hxbow";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=1; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateHeavyFlail(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_hflail";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=4; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateKama(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_kama";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=4; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateKatana(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_katana";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=4; break;
|
|
case 5: iLevelNumber=4; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateKukri(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_kukri";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=4; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateLightCrossbow(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_lxbow";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateLightFlail(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_lflail";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateLightHammer(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_lhammer";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=4; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateLightMace(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_mace";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=4; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=5; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateLongSword(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_lsword";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=5; break;
|
|
case 4: iLevelNumber=4; break;
|
|
case 5: iLevelNumber=4; break;
|
|
case 6: iLevelNumber=4; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateLongbow(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_lbow";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=4; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=4; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateMorningstar(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_mstar";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateRapier(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_rapier";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateScimitar(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_scimitar";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=4; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=4; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateScythe(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_scythe";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=4; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateShortsword(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_ssword";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=4; break;
|
|
case 3: iLevelNumber=4; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=5; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateShortbow(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_sbow";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=5; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=4; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateShuriken(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_shuriken";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=4; break;
|
|
case 3: iLevelNumber=1; break;
|
|
case 4: iLevelNumber=1; break;
|
|
case 5: iLevelNumber=1; break;
|
|
case 6: iLevelNumber=1; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateSickle(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_sickle";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=4; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateSling(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_sling";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=1; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=1; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateSpear(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_spear";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=3; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateStaff(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_staff";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=5; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateThrowingAxe(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_taxe";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=1; break;
|
|
case 3: iLevelNumber=4; break;
|
|
case 4: iLevelNumber=1; break;
|
|
case 5: iLevelNumber=2; break;
|
|
case 6: iLevelNumber=1; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
|
|
string CreateTwoBladedSword(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_tbsword";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=4; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=4; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateDwarvenWaraxe(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_dwaxe";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=2; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=3; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateWarhammer(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_whammer";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=3; break;
|
|
case 2: iLevelNumber=3; break;
|
|
case 3: iLevelNumber=2; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=4; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
string CreateWhip(object oPC,int iItemLevel=1)
|
|
{
|
|
string sItem;
|
|
string sTag;
|
|
int iLevelNumber;
|
|
int iRandom;
|
|
|
|
sTag="en5_whip";
|
|
iLevelNumber=1;
|
|
switch (iItemLevel)
|
|
{
|
|
case 1: iLevelNumber=1; break;
|
|
case 2: iLevelNumber=2; break;
|
|
case 3: iLevelNumber=3; break;
|
|
case 4: iLevelNumber=2; break;
|
|
case 5: iLevelNumber=3; break;
|
|
case 6: iLevelNumber=2; break;
|
|
}
|
|
|
|
iRandom = Random(iLevelNumber)+1;
|
|
sItem = sTag + IntToString(iItemLevel) + "_" + IntToString(iRandom);
|
|
|
|
return sItem;
|
|
}
|
|
|
|
|
|
int Prefers(int nFeatWeaponType, object oAdventurer)
|
|
{
|
|
if (GetHasFeat(nFeatWeaponType, oAdventurer) == TRUE)
|
|
return TRUE;
|
|
else
|
|
return FALSE;
|
|
}
|
|
|
|
string GetMagicWeapon(object oCreature, int iItemLevel)
|
|
{
|
|
int iRandom;
|
|
string sTag;
|
|
object oPC;
|
|
|
|
oPC=oCreature;
|
|
if (GetObjectType(oCreature) != OBJECT_TYPE_CREATURE)
|
|
oPC = GetRandomPC();
|
|
else if (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL,oCreature) == FALSE && GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE,oCreature) == FALSE && GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC,oCreature) == FALSE && GetHasFeat(FEAT_WEAPON_PROFICIENCY_WIZARD,oCreature) == FALSE && GetHasFeat(FEAT_WEAPON_PROFICIENCY_ROGUE,oCreature) == FALSE && GetHasFeat(FEAT_WEAPON_PROFICIENCY_MONK,oCreature) == FALSE && GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID,oCreature) == FALSE)
|
|
oPC = GetRandomPC();
|
|
if (GetObjectType(oCreature) == OBJECT_TYPE_CREATURE && !GetIsPC(oCreature))
|
|
if (Random(4)==0)
|
|
oPC = GetRandomPC();
|
|
|
|
ClearWeaponList(oPC);
|
|
|
|
if (iItemLevel==1)
|
|
{
|
|
if (Random(20)==0)
|
|
iItemLevel=2;
|
|
}
|
|
else if (iItemLevel<6)
|
|
{
|
|
iRandom = Random(20)+1;
|
|
if (iRandom<2)
|
|
iItemLevel=iItemLevel-1;
|
|
else if (iRandom<3)
|
|
iItemLevel=iItemLevel+1;
|
|
}
|
|
else if (iItemLevel==6)
|
|
{
|
|
iRandom = Random(10)+1;
|
|
if (iRandom<2)
|
|
iItemLevel=iItemLevel-1;
|
|
}
|
|
|
|
if (Prefers(FEAT_WEAPON_FOCUS_UNARMED_STRIKE, oPC) == TRUE)
|
|
{
|
|
sTag=CreateMonkGloves(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_BASTARD_SWORD, oPC) == TRUE)
|
|
{
|
|
sTag=CreateBastardSword(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_BATTLE_AXE,oPC))
|
|
{
|
|
sTag=CreateBattleAxe(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_DWAXE,oPC))
|
|
{
|
|
sTag=CreateDwarvenWaraxe(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_WHIP,oPC))
|
|
{
|
|
sTag=CreateWhip(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_CLUB,oPC))
|
|
{
|
|
sTag=CreateClub(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_DAGGER,oPC))
|
|
{
|
|
sTag=CreateDagger(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_DART,oPC))
|
|
{
|
|
sTag=CreateDart(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_DIRE_MACE,oPC))
|
|
{
|
|
sTag=CreateDireMace(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_DOUBLE_AXE,oPC))
|
|
{
|
|
sTag=CreateDoubleAxe(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_GREAT_AXE,oPC))
|
|
{
|
|
sTag=CreateGreatAxe(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_GREAT_SWORD,oPC))
|
|
{
|
|
sTag=CreateGreatSword(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_HALBERD,oPC))
|
|
{
|
|
sTag=CreateHalberd(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_HAND_AXE,oPC))
|
|
{
|
|
sTag=CreateHandAxe(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW,oPC))
|
|
{
|
|
sTag=CreateHeavyCrossbow(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_HEAVY_FLAIL,oPC))
|
|
{
|
|
sTag=CreateHeavyFlail(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_KAMA,oPC))
|
|
{
|
|
sTag=CreateKama(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_KATANA,oPC))
|
|
{
|
|
sTag=CreateKatana(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_KUKRI,oPC))
|
|
{
|
|
sTag=CreateKukri(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW,oPC))
|
|
{
|
|
sTag=CreateLightCrossbow(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_LIGHT_FLAIL,oPC))
|
|
{
|
|
sTag=CreateLightFlail(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_LIGHT_HAMMER,oPC))
|
|
{
|
|
sTag=CreateLightHammer(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_LIGHT_MACE,oPC))
|
|
{
|
|
sTag=CreateLightMace(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_LONG_SWORD,oPC))
|
|
{
|
|
sTag=CreateLongSword(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_LONGBOW,oPC))
|
|
{
|
|
sTag=CreateLongbow(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_MORNING_STAR,oPC))
|
|
{
|
|
sTag=CreateMorningstar(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_RAPIER,oPC))
|
|
{
|
|
sTag=CreateRapier(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_SCIMITAR,oPC))
|
|
{
|
|
sTag=CreateScimitar(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_SCYTHE,oPC))
|
|
{
|
|
sTag=CreateScythe(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_SHORT_SWORD,oPC))
|
|
{
|
|
sTag=CreateShortsword(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_SHORTBOW,oPC))
|
|
{
|
|
sTag=CreateShortbow(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_SHURIKEN,oPC))
|
|
{
|
|
sTag=CreateShuriken(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_SICKLE,oPC))
|
|
{
|
|
sTag=CreateSickle(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_SLING,oPC))
|
|
{
|
|
sTag=CreateSling(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_SPEAR,oPC))
|
|
{
|
|
sTag=CreateSpear(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_STAFF,oPC))
|
|
{
|
|
sTag=CreateStaff(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_THROWING_AXE,oPC))
|
|
{
|
|
sTag=CreateThrowingAxe(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD,oPC))
|
|
{
|
|
sTag=CreateTwoBladedSword(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
if (Prefers(FEAT_WEAPON_FOCUS_WAR_HAMMER,oPC))
|
|
{
|
|
sTag=CreateWarhammer(oPC, iItemLevel);
|
|
MakeWeaponList(oPC,sTag);
|
|
}
|
|
|
|
sTag = GetWeaponFromList(oPC);
|
|
|
|
int iArcane = GetLevelByClass(CLASS_TYPE_WIZARD, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SORCERER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_DRAGONFIRE_ADEPT, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_DRAGON_SHAMAN, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_BEGUILER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SHADOWCASTER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_WARMAGE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_BINDER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_TRUENAMER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_PSION, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_WILDER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_HEALER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_WARLOCK, oPC);
|
|
|
|
int iRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SCOUT, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_NINJA, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_BARD, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_PSYCHIC_ROGUE, oPC);
|
|
|
|
int iDivine = GetLevelByClass(CLASS_TYPE_CLERIC, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_ARCHIVIST, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_FAVOURED_SOUL, oPC);
|
|
|
|
int iWarrior = GetLevelByClass(CLASS_TYPE_FIGHTER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_CW_SAMURAI, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_KNIGHT, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_MARSHAL, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SAMURAI, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SOULKNIFE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_INCARNATE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_HEXBLADE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_DUSKBLADE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_PSYWAR, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SWASHBUCKLER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_WARBLADE, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_PALADIN, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_RANGER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_CRUSADER, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SWORDSAGE, oPC);
|
|
|
|
int iTribal = GetLevelByClass(CLASS_TYPE_BARBARIAN, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_SHAMAN, oPC)
|
|
+ GetLevelByClass(CLASS_TYPE_TOTEMIST, oPC);
|
|
|
|
int iDruidic = GetLevelByClass(CLASS_TYPE_DRUID, oPC);
|
|
|
|
if (sTag == "")
|
|
{
|
|
if (GetLevelByClass(CLASS_TYPE_MONK, oPC) >= 1)
|
|
{
|
|
if (Random(3)==0)
|
|
sTag=CreateKama(oPC, iItemLevel);
|
|
else
|
|
sTag=CreateMonkGloves(oPC, iItemLevel);
|
|
}
|
|
else
|
|
if (iDruidic)
|
|
{
|
|
if (Random(2)==0)
|
|
sTag=CreateScimitar(oPC, iItemLevel);
|
|
else
|
|
sTag=CreateClub(oPC, iItemLevel);
|
|
}
|
|
else
|
|
if (iArcane)
|
|
{
|
|
if (Random(3)==0)
|
|
sTag=CreateStaff(oPC, iItemLevel);
|
|
else
|
|
sTag=CreateDagger(oPC, iItemLevel);
|
|
}
|
|
else
|
|
if (iWarrior >= 1)
|
|
{
|
|
sTag=CreateLongSword(oPC, iItemLevel);
|
|
}
|
|
else
|
|
if (iTribal >= 1)
|
|
{
|
|
if (Random(2)==0)
|
|
sTag=CreateSpear(oPC, iItemLevel);
|
|
else
|
|
sTag=CreateClub(oPC, iItemLevel);
|
|
}
|
|
else
|
|
if (iDivine >= 1)
|
|
{
|
|
sTag=CreateLightMace(oPC, iItemLevel);
|
|
}
|
|
else
|
|
if (iRogue >= 1)
|
|
{
|
|
sTag=CreateShortsword(oPC, iItemLevel);
|
|
}
|
|
}
|
|
|
|
if (sTag == "")
|
|
sTag = "nw_wswmdg002";
|
|
|
|
return sTag;
|
|
}
|
|
|
|
//:: void main() {} |