2446 lines
139 KiB
Plaintext
2446 lines
139 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: SY_3E_TREASURE
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
This include file generates random items in any of the categories listed in the
|
|
declarations.
|
|
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Syrsuro
|
|
//:: Created On: July 2002
|
|
//:://////////////////////////////////////////////
|
|
// * ---------
|
|
// * CONSTANTS
|
|
// * ---------
|
|
|
|
|
|
///////Declarations/////////////////////////////////////////////////////////////
|
|
//// /* Any of these can be called by another script (that includes this //
|
|
// script if you wish to create a specific type of item. //
|
|
// //
|
|
// oCreateOn is the object in whose inventory the items wll be created///
|
|
// nTClass is the Treasure Class (Minor, Medium, Major or Epic) *///
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
void CreateArcaneScroll(object oCreateOn, int nTClass); //Arcane Scroll//
|
|
void CreateDivineScroll(object oCreateOn, int nTClass); //Divine Scroll//
|
|
void GenerateExhRange(object oCreateOn, int nTClass); //Ammo and Thrown Weapons
|
|
void CreateAmmo (object oCreateOn, int nTClass); //Ammunition//
|
|
void CreateThrown (object oCreateOn, int nTClass);//Throwing Hammers, Darts and Shuriken//
|
|
void CreatePotion(object oCreateOn, int nTClass); //Potions//
|
|
void CreateRing (object oCreateOn, int nTClass); //Rings//
|
|
void CreateAmulet (object oCreateOn, int nTClass); //Amulets//
|
|
void CreateMisc (object oCreateOn, int nTClass); //Miscellaneous Items//
|
|
void CreateWand (object oCreateOn,int nTClass); //Rods, Staves and Wands//
|
|
void CreateGarb (object oCreateOn, int nTClass); //Garb//
|
|
void CreateBelt (object oCreateOn, int nTClass);
|
|
void CreateBoots (object oCreateOn, int nTClass);
|
|
void CreateCloak (object oCreateOn, int nTClass);
|
|
void CreateHands (object oCreateOn, int nTClass);
|
|
void CreateHelm (object oCreateOn, int nTClass);
|
|
void CreateWeapon (object oCreateOn, int nTClass); //Weapon//
|
|
void CreateBasicMeleeWeapon(object oCreateOn, int nTClass); //+x Weapons//
|
|
void CreateSpecialMeleeWeapon(object oCreateOn, int nTClass);//w/abilities//
|
|
void CreateBasicRangeWeapon(object oCreateOn, int nTClass); //+x Weapons//
|
|
void CreateSpecialRangeWeapon(object oCreateOn, int nTClass);//w/abilities//
|
|
void CreateArmor (object oCreateOn, int nTClass); //Armor//
|
|
void CreateLightArmor(object oCreateOn, int nTClass); //
|
|
void CreateMediumArmor(object oCreateOn, int nTClass); //
|
|
void CreateHeavyArmor(object oCreateOn, int nTClass); //
|
|
void CreateRobes(object oCreateOn, int nTClass); //
|
|
void CreateShield(object oCreateOn, int nTClass); //
|
|
void CreateGold(object oCreateOn, int nCR, int nTModifier); //Gold//
|
|
void CreateGem(object oCreateOn, int nCR); //Gems//
|
|
void CreateNMClothing (object oCreateOn); //Non-magic clothing//
|
|
void CreateNMArmor (object oCreateOn); //Non-magical armor//
|
|
void CreateNMWeapon (object oCreateOn); //Non-magical weapons//
|
|
void CreateNMAmmo (object oCreateOn); //Non-magical ammo and throwing weapons//
|
|
void CreateJunk (object oCreateOn); //Miscellaneous non-magical stuff//
|
|
void CreateBook (object oCreateOn); //BioWare's Books//
|
|
void GenerateKit(object oCreateOn, int nTClass); //
|
|
void CreateTrapKit(object oCreateOn, int nCR); //Traps//
|
|
void CreateHealingKit(object oCreateOn, int nCR); //BioWare Healing Kits//
|
|
void CreateLockPick(object oCreateOn, int nCR); //BioWare Lockpicks//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////
|
|
/////////ITEM GENERATION DEFINITIONS///////////
|
|
/////////////////////////////////////////////////
|
|
void CreateGold(object oCreateOn, int nCR, int nGoldPerc)
|
|
{ //The values in this table approximate those of the DMG in Table 7-4.
|
|
// As such, they are very high and must be reduced.
|
|
int nAmount = 0; //They are divided by GoldDiv so as to give out between 1/50th (Poor) to 1/10th (Rich)
|
|
if (nCR < 1) {nCR = 1;}//of the 'book' rates.
|
|
switch (nCR) //This multiplier can be used to set the relative gold awarded as desired.
|
|
{ // //Averages: Base(100%); Poor (2%); Standard (6%); Rich (10%)
|
|
case 1: nAmount = d6() * d10(); break; // averages: 19; 1gp; 1gp 2gp
|
|
case 2: nAmount = d8() * d10(); break; // average: 25; 1gp; 2gp; 3gp
|
|
case 3: nAmount = d8(2) * d10(); break; // average: 50; 1gp; 3gp; 5gp
|
|
case 4: nAmount = d10(4) * d10(); break; // average: 121; 2gp; 7gp; 12gp;
|
|
case 5: nAmount = d4() * d100(); break; // average: 126; 3gp; 8gp; 13gp;
|
|
case 6: nAmount = d6() * d100(); break; // average: 177; 4gp; 11gp; 18gp;
|
|
case 7: nAmount = d8() * d100(); break; // average: 227; 5gp; 14gp; 23gp;
|
|
case 8: nAmount = d10() * d100(); break; // average: 278; 6gp; 17gp; 28gp;
|
|
case 9: nAmount = d6(2) * d100(); break; // average: 354; 7gp; 21gp; 35gp;
|
|
case 10: nAmount = d8(2) * d100(); break; // average: 455; 9gp; 27gp; 46gp;
|
|
case 11: nAmount = d4(5) * d100(); break; // average: 631; 13gp; 38gp; 63gp;
|
|
case 12: nAmount = d4(6) * d100(); break; // average: 758; 15gp; 45gp; 76gp;
|
|
case 13: nAmount = d8(4) * d100(); break; // average: 909; 18gp; 55gp; 91gp;
|
|
case 14: nAmount = d4() * d100(8); break; // average: 1010; 20gp; 60gp; 101gp;
|
|
case 15: nAmount = d4() * d100(10); break; // average: 1263; 25gp; 76gp; 126gp;
|
|
case 16: nAmount = d6() * d100(10); break; // average: 1768; 35gp; 106gp; 177gp;
|
|
case 17: nAmount = d8() * d100(10); break; // average: 2273; 45gp; 136gp; 227gp;
|
|
case 18: nAmount = d12() * d100(10); break; // average: 3283; 66gp; 197gp; 328gp;
|
|
case 19: nAmount = d4(3) * d100(10); break; // average: 3788; 76gp; 227gp; 379gp;
|
|
case 20: nAmount = d6(3) * d100(10); break; // average: 5302; 106gp; 318gp; 530gp;
|
|
default : nAmount = d8(3) * d100(10); break; // average: 6818; 136gp; 409gp; 682gp;
|
|
}
|
|
nAmount = nAmount * nGoldPerc / 100;
|
|
if (nAmount <= 0)
|
|
{
|
|
nAmount = d4();
|
|
}
|
|
CreateItemOnObject("NW_IT_GOLD001", oCreateOn, nAmount);
|
|
}
|
|
|
|
|
|
|
|
|
|
///////////CREATE AN ARCANE SCROLL////////////////////////////////////
|
|
int WhatLevel (int nTC)
|
|
{
|
|
int nLev = 0;
|
|
switch (nTC)
|
|
{
|
|
case 1 : nLev = Random(4); break;
|
|
case 2 : nLev = Random(3) + 3; break;
|
|
case 3 : nLev = Random(3) + 5; break;
|
|
case 4 : nLev = Random(3) + 7; break;
|
|
}
|
|
return nLev;
|
|
}
|
|
int nMaxs = 21;
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
int WhatArcMax (int nLev)
|
|
{
|
|
int ArcMax = 4;
|
|
switch (nLev) //
|
|
{ //
|
|
case 0: ArcMax = 4; break; //
|
|
case 1: ArcMax = 13; break; //
|
|
case 2: ArcMax = 21; break; //
|
|
case 3: ArcMax = 15; break; //
|
|
case 4: ArcMax = 17; break; //
|
|
case 5: ArcMax = 13; break; //
|
|
case 6: ArcMax = 14; break; //
|
|
case 7: ArcMax = 8; break; //
|
|
case 8: ArcMax = 9; break; //
|
|
case 9: ArcMax = 12; break;
|
|
default: ArcMax = 4;
|
|
|
|
}
|
|
return ArcMax;
|
|
}
|
|
|
|
//////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
int WhatDivMax (int nLev)//This determines how many spells there are of each level.
|
|
{
|
|
int DivMax = 4;
|
|
switch (nLev) //
|
|
{ //
|
|
case 0: DivMax = 4; break; //
|
|
case 1: DivMax = 11; break; //
|
|
case 2: DivMax = 23; break; //
|
|
case 3: DivMax = 19; break; //
|
|
case 4: DivMax = 13; break; //
|
|
case 5: DivMax = 11; break; //
|
|
case 6: DivMax = 9; break; //
|
|
case 7: DivMax = 8; break; //
|
|
case 8: DivMax = 10; break; //
|
|
case 9: DivMax = 7; break;
|
|
default: DivMax = 4;
|
|
|
|
}
|
|
return DivMax;
|
|
}
|
|
|
|
//////////////////////////
|
|
void CreateArcaneScroll(object oCreateOn, int nTClass) //
|
|
{ //
|
|
int x = 0;
|
|
int nSpells = 1; //
|
|
int nLevel = 1; // What level is each spell
|
|
int nMax = 21;
|
|
int nScroll = 1; // Which spell from the list
|
|
string sRes = "nw_it_sparscr216";
|
|
switch (nTClass)
|
|
{
|
|
case 1 : nSpells = d3();break; //How many spell scrolls to create?
|
|
case 2 : nSpells = d4(); break;
|
|
case 3 : nSpells = d6(); break;
|
|
case 4 : nSpells = d6(); break;
|
|
} //
|
|
for (x = 0; x < nSpells; x++)
|
|
{
|
|
nLevel = WhatLevel(nTClass); //Based on the TClass, a spell level range is returned
|
|
nMax = WhatArcMax(nLevel); //Given the level, how many spells are there to choose from?
|
|
nScroll = Random(nMax) + 1; //Picking randomly from all the spells at that level//
|
|
if (nScroll < 10) //
|
|
{ //
|
|
sRes = "NW_IT_SPARSCR" + IntToString(nLevel) + "0" + IntToString(nScroll);//
|
|
} //
|
|
else //
|
|
{ //
|
|
sRes = "NW_IT_SPARSCR" + IntToString(nLevel) + IntToString(nScroll); //
|
|
} //
|
|
CreateItemOnObject(sRes, oCreateOn, 1);
|
|
}
|
|
}
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////
|
|
void CreateDivineScroll(object oCreateOn, int nTClass) //
|
|
{ //
|
|
int x = 0;
|
|
int nSpells = 1; // How many spells to creates //
|
|
int nLevel = 1; // What level is each spell
|
|
int nMax = 21; // How many spells are there of each level
|
|
int nScroll = 1; // Which spell from the list
|
|
string sRes = "NW_IT_SPDVSCR401";
|
|
|
|
//
|
|
switch (nTClass)
|
|
{
|
|
case 1 : nSpells = d3();break; //How many scrolls to create?
|
|
case 2 : nSpells = d4(); break; //How many scrolls to create?
|
|
case 3 : nSpells = d6(); break; //How many scrolls to create?
|
|
case 4 : nSpells = d6(); break; //How many scrolls to create?
|
|
} //
|
|
for (x = 0; x < nSpells; x++)
|
|
{
|
|
nLevel = WhatLevel(nTClass);
|
|
nMax = WhatDivMax(nLevel);
|
|
nScroll = Random(nMax) + 1; //
|
|
if (nScroll < 10) //
|
|
{ //
|
|
sRes = "SY_IT_SPDVSCR" + IntToString(nLevel) + "0" + IntToString(nScroll);//
|
|
} //
|
|
else //
|
|
{ //
|
|
sRes = "SY_IT_SPDVSCR" + IntToString(nLevel) + IntToString(nScroll); //
|
|
} //
|
|
CreateItemOnObject(sRes, oCreateOn, 1);
|
|
}
|
|
}
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////CREATE AMMO or THROWN WEAPON/////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
void GenerateExhRange (object oCreateOn, int nTClass)
|
|
{ //Determines whether an ammo
|
|
int nRandom = d2(); //(arrow, bolt or bullet) or a
|
|
switch (nRandom) //thrown item (handaxe, dart or
|
|
{ //shuriken) is found.
|
|
case 1: CreateAmmo (oCreateOn, nTClass); break;
|
|
case 2: CreateThrown (oCreateOn, nTClass); break;
|
|
}
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////////////
|
|
///////////This will create magical exhaustible weapons (thrown or ammo)////////
|
|
void CreateAmmo(object oCreateOn, int nTClass)
|
|
{
|
|
string sAmmo = ""; int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(16);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sAmmo = "arrow1"; break; // Arrow +1
|
|
case 2 : sAmmo = "arrow2"; break; // Arrow +2
|
|
case 3 : sAmmo = "arrowanimalbane"; break; // Arrow of AnimalBane
|
|
case 4 : sAmmo = "arrowdragonbane"; break; // Arrow of DragonBane
|
|
case 5 : sAmmo = "arroworcbane"; break; // Arrow of OrcBane
|
|
case 6 : sAmmo = "NW_WAMMAR001"; break; // Arrow ofthe Vampire
|
|
case 7 : sAmmo = "arrowofeternalre"; break; // Arrow of Eternal Rest
|
|
case 8 : sAmmo = "bolt1"; break; // Bolt +1
|
|
case 9 : sAmmo = "bolt2"; break; // Bolt +2
|
|
case 10 : sAmmo = "NW_WAMMBO001"; break; // Bolt of Frostbite
|
|
case 11 : sAmmo = "NW_WAMMBO002"; break; // Bolt of Lightning
|
|
case 12 : sAmmo = "bullet1"; break; // Bullet +1
|
|
case 13 : sAmmo = "bullet2"; break; // Bullet +2
|
|
case 14 : sAmmo = "NW_WAMMBO003"; break; // Paralytic Bolt
|
|
case 15 : sAmmo = "raidarrow"; break; // RaidArrow
|
|
case 16 : sAmmo = "arrowofthebeasts"; break; // Arrow of the Beastslayer;
|
|
}
|
|
break;
|
|
case 2:
|
|
nRandom = Random(19);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sAmmo = "NW_WAMMAR003"; break; // Acid Arrow
|
|
case 2 : sAmmo = "NW_WAMMBO005"; break; // Bolt of Fire
|
|
case 3 : sAmmo = "NW_WAMMBO004"; break; // Bolt of Piercing
|
|
case 4 : sAmmo = "NW_WAMMBU004"; break; // Bullets of Smiting
|
|
case 5 : sAmmo = "NW_WAMMAR002"; break; // Fire Arrow
|
|
case 6 : sAmmo = "NW_WAMMBU005"; break; // Fire Bullet
|
|
case 7 : sAmmo = "NW_WAMMAR005"; break; // Ice Arrow
|
|
case 8 : sAmmo = "NW_WAMMBU006"; break; // Ice Bullet
|
|
case 9 : sAmmo = "NW_WAMMAR006"; break; // Lightning Arrow
|
|
case 10 : sAmmo = "NW_WAMMBU007"; break; // Lightning Bullet
|
|
case 11 : sAmmo = "NW_WAMMAR004"; break; // Piercing Arrow/
|
|
case 12 : sAmmo = "arrow3"; break; // Arrow +3
|
|
case 13 : sAmmo = "bolt3"; break; // Bolt + 3
|
|
case 14 : sAmmo = "bullet3"; break; // Bullet +3
|
|
case 15 : sAmmo = "NW_WAMMBU002"; break; // Bullet of Screaming
|
|
case 16 : sAmmo = "NW_WAMMBU003"; break; // Farel's Gold
|
|
case 17 : sAmmo = "NW_WAMMBU001"; break; // Giant's Bane
|
|
case 18 : sAmmo = "NW_WAMMAR007"; break; // Mild Poison Arrow
|
|
case 19 : sAmmo = "NW_WAMMBO006"; break; // Mild Poison Bolt
|
|
}
|
|
break;
|
|
case 3: case 4:
|
|
nRandom= Random(8);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sAmmo = "arrow4"; break; // Arrow +4
|
|
case 2 : sAmmo = "bolt4"; break; // Bolt +4
|
|
case 3 : sAmmo = "bullet4"; break; // Bullet +4
|
|
case 4 : sAmmo = "arrow5"; break; // Arrow +5
|
|
case 5 : sAmmo = "bolt5"; break; // Bolt +5
|
|
case 6 : sAmmo = "bullet5"; break; // Bullet +5
|
|
case 7 : sAmmo = "NW_WAMMAR008"; break; // Poison Arrow
|
|
case 8 : sAmmo = "NW_WAMMBO007"; break; // Poison Bolt
|
|
}
|
|
break;
|
|
}
|
|
CreateItemOnObject (sAmmo, oCreateOn, d10(3)); //Creates 3 - 30 arrows.
|
|
}
|
|
|
|
void CreateThrown (object oCreateOn, int nTClass)
|
|
{
|
|
string sAmmo = ""; int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(3);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sAmmo = "NW_WTHMDT002"; break; // Dart +1
|
|
case 2 : sAmmo = "NW_WTHMSH002"; break; // Shuriken +1
|
|
case 3 : sAmmo = "NW_WTHMAX002"; break; // Throwing Axe +
|
|
}
|
|
break;
|
|
case 2:
|
|
nRandom = Random(17);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sAmmo = "NW_WTHMSH006"; break; // Many Talons
|
|
case 2 : sAmmo = "NW_WTHMDT006"; break; // Acid Dart
|
|
case 3 : sAmmo = "NW_WTHMAX005"; break; //Black Raven Axe
|
|
case 4 : sAmmo = "NW_WTHMDT008"; break; // Dart +2
|
|
case 5 : sAmmo = "NW_WTHMDT003"; break; // Dart of Stunning
|
|
case 6 : sAmmo = "NW_WTHMAX007"; break; // Fire Axe
|
|
case 7 : sAmmo = "NW_WTHMSH007"; break; // Grains of Sand
|
|
case 8 : sAmmo = "NW_WTHMDT005"; break; // Ice Dart
|
|
case 9 : sAmmo = "NW_WTHMSH008"; break; // Shuriken +2
|
|
case 10 : sAmmo = "NW_WTHMSH003"; break; // Stars of Ojy-do
|
|
case 11 : sAmmo = "NW_WTHMAX008"; break; // Throwing Axe +2
|
|
case 12 : sAmmo = "NW_WTHMSH005"; break; // Shining Light
|
|
case 13 : sAmmo = "NW_WTHMDT004"; break; // Asp's Nest
|
|
case 14 : sAmmo = "NW_WTHMDT009"; break; // Dart +3
|
|
case 15 : sAmmo = "NW_WTHMSH004"; break; // Dragon's Tail
|
|
case 16 : sAmmo = "NW_WTHMSH009"; break; // Shuriken +3
|
|
case 17 : sAmmo = "NW_WTHMAX009"; break; // Throwing Axe +3
|
|
}
|
|
break;
|
|
case 3: case 4:
|
|
nRandom= Random(10);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sAmmo = "NW_WTHMAX004"; break; // Axe of the Coming Storm
|
|
case 2 : sAmmo = "dart4"; break; // Dart +4
|
|
case 3 : sAmmo = "NW_WTHMAX006"; break; // Rifthome Axe
|
|
case 4 : sAmmo = "shuriken4"; break; // Shuriken +4
|
|
case 5 : sAmmo = "throwingaxe4"; break; // Throwing Axe +4
|
|
case 6 : sAmmo = "NW_WTHMAX003"; break; // Thunderbeast Axe
|
|
case 7 : sAmmo = "dart5"; break; // Dart +5
|
|
case 8 : sAmmo = "NW_WTHMDT007"; break; // Dart of Accuracy
|
|
case 9 : sAmmo = "shuriken5"; break; // Shuriken +5
|
|
case 10 : sAmmo = "throwingaxe5"; break; // Throwing Axe +5
|
|
}
|
|
break;
|
|
}
|
|
CreateItemOnObject (sAmmo, oCreateOn, d10(3)); //Create 3 - 30 thown items. //
|
|
} //
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////CREATE A POTION////////////////////////////////
|
|
//////This table contains many custom items. If you wish to eliminate these
|
|
///and go with the BioWare default potions, this can be done simply be altering
|
|
//the switch value since the custom potions are always in the higher numbered cases.
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
void CreatePotion(object oCreateOn, int nTClass)
|
|
{
|
|
int nRandom = 1;
|
|
string sPotion = "";
|
|
switch (nTClass)
|
|
{
|
|
case 1 :
|
|
nRandom = Random(9) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: case 2: sPotion = "nw_it_mpotion009"; break; //Bless Potion
|
|
case 3: case 4: sPotion = "nw_it_mpotion001"; break; //Cure LW Potion
|
|
case 5: sPotion = "nw_it_mpotion016"; break; //Aid Potion
|
|
case 6: sPotion = "sy_potion001" ; break; //Endure Elements
|
|
case 7: sPotion = "sy_potion002" ; break; //Mage Armor
|
|
case 8: sPotion = "sy_potion003" ; break; //Remove Fear
|
|
case 9: sPotion = "sy_potion004" ; break; //Resistance
|
|
}
|
|
break;
|
|
case 2 :
|
|
nRandom = Random(28) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: case 2: sPotion = "nw_it_mpotion005"; break; //Barkskin Potion
|
|
case 3: case 4: sPotion = "nw_it_mpotion015"; break; //Bull's Strength
|
|
case 5: case 6: sPotion = "nw_it_mpotion014"; break; //Cat's Grace
|
|
case 7: case 8: sPotion = "nw_it_mpotion007"; break; //Clarity
|
|
case 9: case 10: sPotion = "nw_it_mpotion017"; break; //Fox's Cunning
|
|
case 11: case 12: sPotion = "nw_it_mpotion010"; break; //Eagle's Splendor
|
|
case 13: case 14: sPotion = "nw_it_mpotion013"; break; //Endurance
|
|
case 15: case 16: sPotion = "nw_it_mpotion020"; break; //Cure Mod. Wounds
|
|
case 17: case 18: sPotion = "nw_it_mpotion018"; break; //Owl's Wisdom //SY Potion
|
|
case 19: case 20: sPotion = "nw_it_mpotion019"; break; //Lore (Identify)
|
|
case 21: case 22: sPotion = "nw_it_mpotion008"; break; //Invisibility
|
|
case 23: case 24: sPotion = "nw_it_mpotion011"; break; //Lesser Restoration
|
|
case 25: sPotion = "sy_potion005" ; break; //Ghostly Visage
|
|
case 26: sPotion = "sy_potion006" ; break; //Resist Elements
|
|
case 27: sPotion = "sy_potion007" ; break; //See Invisibility
|
|
case 28: sPotion = "sy_potion008" ; break; //Ultravision
|
|
}
|
|
break;
|
|
case 3 :
|
|
nRandom = Random(23) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: case 2: sPotion = "nw_it_mpotion006"; break; //Neutralize Poison
|
|
case 3: case 4: sPotion = "nw_it_mpotion002"; break; //Cure Serious
|
|
case 5: case 6: sPotion = "nw_it_mpotion004"; break; //Haste
|
|
case 7: case 8: sPotion = "nw_it_mpotion003"; break; //Cure Critical Wounds
|
|
case 9: sPotion = "sy_potion009" ; break; //Clairaudience/ Voyance
|
|
case 10: sPotion = "sy_potion010" ; break; //Belladona extract
|
|
case 11: sPotion = "sy_potion011" ; break; //Garlic extract
|
|
case 12: sPotion = "sy_potion012" ; break; //Negative Energy Protection
|
|
case 13: sPotion = "sy_potion013" ; break; //Polymorph Self
|
|
case 14: sPotion = "sy_potion014" ; break; //Protection from Elements
|
|
case 15: sPotion = "sy_potion015" ; break; //Remove Blindness/Deafness
|
|
case 16: sPotion = "sy_potion016" ; break; //Remove Curse
|
|
case 17: sPotion = "sy_potion017" ; break; //Remvoe Disease
|
|
case 18: sPotion = "sy_potion018" ; break; //Rogue;s Cunning
|
|
case 19: sPotion = "sy_potion019" ; break; //Death Ward
|
|
case 20: sPotion = "sy_potion020" ; break; //Divine Power
|
|
case 21: sPotion = "sy_potion021" ; break; //Freedom of Movement
|
|
case 22: sPotion = "sy_potion022" ; break; //Restoration
|
|
case 23: sPotion = "sy_potion023" ; break; //Stoneskin
|
|
}
|
|
break;
|
|
case 4 :
|
|
nRandom = Random(15)+ 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: case 2: sPotion = "nw_it_mpotion012"; break; //Heal Potion
|
|
case 3: sPotion = "sy_potion024" ; break; //Elemental Shield
|
|
case 4: sPotion = "sy_potion025" ; break; //Ethereal Visage
|
|
case 5: sPotion = "sy_potion026" ; break; //Lesser Mind Blank
|
|
case 6: sPotion = "sy_potion027" ; break; //Spell Resistance
|
|
case 7: sPotion = "sy_potion028" ; break; //Greater Bull's Strength
|
|
case 8: sPotion = "sy_potion029" ; break; //Greater Cat's Grace
|
|
case 9: sPotion = "sy_potion030" ; break; //Greater Eagle's Splendor
|
|
case 10: sPotion = "sy_potion031" ; break; //Greater Endurance
|
|
case 11: sPotion = "sy_potion032" ; break; //Greater Fox's Cunning
|
|
case 12: sPotion = "sy_potion033" ; break; //Greater Owl's Wisdom
|
|
case 13: sPotion = "sy_potion034" ; break; //Greater Stoneskin
|
|
case 14: sPotion = "sy_potion035" ; break; //Tensor's Transformation
|
|
case 15: sPotion = "sy_potion036" ; break; //True Seeing
|
|
}
|
|
break;
|
|
}
|
|
CreateItemOnObject(sPotion, oCreateOn, 1);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
/////////////////CREATE A RING///////////////////////////////////////////////
|
|
void CreateRing(object oCreateOn, int nTClass)
|
|
{
|
|
int nRandom = 1;
|
|
string sRing = "";
|
|
switch (nTClass)
|
|
{
|
|
case 1 :
|
|
nRandom = Random(15) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sRing = "it_mring011"; break; // Ring of Crimson (improved)
|
|
case 2: sRing = "ringofcrystal"; break; // Ring of Crystal+
|
|
case 3: sRing = "it_mring010"; break; // Ring of Cyan (improved)
|
|
case 4: sRing = "nw_it_mring024"; break; // Ring of Fortitude +1
|
|
case 5: sRing = "nw_it_mring012"; break; // Ring of Insight
|
|
case 6: sRing = "it_mring012"; break; // Ring of Jade (improved)
|
|
case 7: sRing = "nw_it_mring001"; break; // Ring of Protection +1
|
|
case 8: sRing = "nw_it_mring013"; break; // Ring of Scholars
|
|
case 9: sRing = "ringofanimalfrie"; break; // Ring of Animal Friendship
|
|
case 10: sRing = "nw_it_mring006"; break; // Ring of Clear Thought +1
|
|
case 11: sRing = "ringofdivinity"; break; // Ring of Divinity
|
|
case 12: sRing = "nw_it_mring025"; break; // Ring of Fortitude +2
|
|
case 13: sRing = "ringofminoreleme"; break; // Ring of Minor Elemental Resistance
|
|
case 14: sRing = "ringofsorceryi"; break; // Ring of Sorcery I
|
|
case 15: sRing = "ringofwizardry1"; break; // Ring of Wizardry I
|
|
}
|
|
break;
|
|
case 2 :
|
|
nRandom = Random(24) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sRing = "lesserringoftheg"; break; // Lesser Ring of the Ghost
|
|
case 2: sRing = "ringofmindshield"; break; // Ring of Mindshielding
|
|
case 3: sRing = "nw_it_mring031"; break; // Ring of Resistance +1
|
|
case 4: sRing = "leastringofregen"; break; // Least Ring of Regeneration
|
|
case 5: sRing = "ringofdivinit001"; break; // Ring of Divinity II
|
|
case 6: sRing = "ringofforceshiel"; break; // Ring of Force Shield
|
|
case 7: sRing = "nw_it_mring026"; break; // Ring of Fortitude +3
|
|
case 8: sRing = "nw_it_mring008"; break; // Ring of Protection +2
|
|
case 9: sRing = "ringofsorceryii"; break; // Ring of Sorcery II
|
|
case 10: sRing = "ringofchameleon"; break; // Ring of the Chameleon
|
|
case 11: sRing = "ringofwizardryii"; break; // Ring of Wizardry II
|
|
case 12: sRing = "nw_it_mring003"; break; // Ring of Invisibility
|
|
case 13: sRing = "ringoftheram"; break; // Ring of the Ram
|
|
case 14: sRing = "nw_it_mring014"; break; // Ring of Clear Thought +2
|
|
case 15: sRing = "ringofdivinityii"; break; // Ring of Divinity III
|
|
case 16: sRing = "nw_it_mring027"; break; // Ring of Fortitude +4
|
|
case 17: sRing = "nw_it_mring018"; break; // Ring of Protection +3
|
|
case 18: sRing = "ringofsorceryiii"; break; // Ring of Sorcery III
|
|
case 19: sRing = "ringofwizardr001"; break; // Ring of Wizardry III
|
|
case 20: sRing = "nw_it_mring029"; break; // Lesser Ring of Power
|
|
case 21: sRing = "nw_it_mring002"; break; // Ring of Elemental Resistance
|
|
case 22: sRing = "ringofevasion"; break; // Ring of Evasion
|
|
case 23: sRing = "nw_it_mring032"; break; // Ring of Resistance +2
|
|
case 24: sRing = "NW_IT_NOVEL001"; break; // Ring of the Wood Elves
|
|
}
|
|
break;
|
|
case 3 :
|
|
nRandom = Random(14) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sRing = "nw_it_mring028"; break; // Ring of Fortitude +5
|
|
case 2: sRing = "nw_it_mring007"; break; // Ring of Holiness
|
|
case 3: sRing = "nw_it_mring005"; break; // Ring of Magic Defenses
|
|
case 4: sRing = "lesserringofrege"; break; // Lesser Ring of Regeneration
|
|
case 5: sRing = "nw_it_mring015"; break; // Ring of Clear Thought +3
|
|
case 6: sRing = "nw_it_mring019"; break; // Ring of Protection +4
|
|
case 7: sRing = "lesserringoft001"; break; // Ring of the Ghost
|
|
case 8: sRing = "ringofxrayvision"; break; // Ring of Clear Sight
|
|
case 9: sRing = "ringoffreedom"; break; // Ring of Freedom of Movement
|
|
case 10: sRing = "nw_it_mring020"; break; // Ring of Protection +5
|
|
case 11: sRing = "nw_it_mring033"; break; // Ring of Resistance +3
|
|
case 12: sRing = "nw_it_mring016"; break; // Ring of Clear Thought +4
|
|
case 13: sRing = "nw_it_mring017"; break; // Ring of Clear Thought +5
|
|
case 14: sRing = "ringofthegreater"; break; // Ring of the Greater Ghost
|
|
}
|
|
break;
|
|
case 4 :
|
|
nRandom = Random(5) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sRing = "ringofgreaterdiv"; break; // Ring of Greater Divinity
|
|
case 2: sRing = "ringofgreatersor"; break; // Ring of Greater Sorcery
|
|
case 3: sRing = "ringofgreaterwiz"; break; // RIng of Greater Wizardry
|
|
case 4: sRing = "nw_it_mring030"; break; // Ring of Power
|
|
case 5: sRing = "nw_it_mring004"; break; // Ring of Regeneration
|
|
}
|
|
break;
|
|
} //
|
|
CreateItemOnObject(sRing, oCreateOn, 1); //
|
|
} //
|
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/////////////////////////CREATE AN AMULET/////////////////////
|
|
void CreateAmulet(object oCreateOn, int nTClass)
|
|
{ //
|
|
int nRandom = Random(10) + 1; //
|
|
string sAmulet = ""; //
|
|
switch (nTClass)
|
|
{
|
|
case 1 :
|
|
nRandom = Random(10) + 1; //
|
|
switch (nRandom) //
|
|
{ //////
|
|
case 1: sAmulet = "nw_it_mneck032"; break; //Acid Resist
|
|
case 2: sAmulet = "nw_it_mneck030"; break; //Cold Resist
|
|
case 3: sAmulet = "NW_IT_MNECK001"; break; //Natural Armor +1
|
|
case 4: sAmulet = "nw_it_mneck024"; break; //Will +1
|
|
case 5: sAmulet = "NW_IT_MNECK023"; break; //Glittering
|
|
case 6: sAmulet = "necklaceofprayer"; break; //Prayer Beads I
|
|
case 7: sAmulet = "nw_it_mneck031"; break; //Electric Resist
|
|
case 8: sAmulet = "nw_it_mneck029"; break; //Fire Resist
|
|
case 9: sAmulet = "periaptofhealth"; break; //Periapt of Health
|
|
case 10: sAmulet = "NW_IT_MNECK007"; break; //Wisdom +1
|
|
}
|
|
break; //
|
|
case 2 :
|
|
nRandom = Random(14) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sAmulet = "NW_IT_MNECK006"; break; //Protection +1
|
|
case 2: sAmulet = "nw_it_mneck025"; break; //WIll +2
|
|
case 3: sAmulet = "necklaceofpra003"; break; //Prayer Beads II
|
|
case 4: sAmulet = "NW_IT_MNECK012"; break; //Natural Armor +2
|
|
case 5: sAmulet = "nw_it_mneck026"; break; //Will +3
|
|
case 6: sAmulet = "NW_IT_MNECK035"; break; //Lesser Health
|
|
case 7: sAmulet = "necklaceoffireba"; break; //Fireballs I
|
|
case 8: sAmulet = "periaptofproofag"; break; //Periapt Proof vs Poison
|
|
case 9: sAmulet = "nw_it_mneck027"; break; //Will +4
|
|
case 10: sAmulet = "NW_IT_MNECK033"; break; //Lesser Master
|
|
case 11: sAmulet = "NW_IT_MNECK008"; break; //Wisdom +2
|
|
case 12: sAmulet = "NW_IT_MNECK016"; break; //Protection +2
|
|
case 13: sAmulet = "NW_IT_MNECK013"; break; //Natural Armor +3
|
|
case 14: sAmulet = "necklaceoffir001"; break; //Fireballs II
|
|
}
|
|
break; //
|
|
case 3 :
|
|
nRandom = Random(16) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sAmulet = "nw_it_mneck028"; break; //Will +5
|
|
case 2: sAmulet = "necklaceofpra001"; break; //Prayer Beads III
|
|
case 3: sAmulet = "NW_IT_MNECK036"; break; //Health
|
|
case 4: sAmulet = "NW_IT_MNECK014"; break; //Natural Armor +4
|
|
case 5: sAmulet = "NW_IT_MNECK003"; break; //Prayer Beads
|
|
case 6: sAmulet = "necklaceofpra002"; break; //Prayer Beads IV
|
|
case 7: sAmulet = "NW_IT_MNECK009"; break; //Wisdom +3
|
|
case 8: sAmulet = "scarabofprotecti"; break; //Scarab of Protection
|
|
case 9: sAmulet = "NW_IT_MNECK017"; break; //Protection +3
|
|
case 10: sAmulet = "NW_IT_MNECK015"; break; //Natural Armor +4
|
|
case 11: sAmulet = "NW_IT_MNECK005"; break; //Power
|
|
case 12: sAmulet = "NW_IT_MNECK010"; break; //Wisdom +4
|
|
case 13: sAmulet = "NW_IT_MNECK018"; break; //Protection +4
|
|
case 14: sAmulet = "NW_IT_MNECK037"; break; //Greater Health
|
|
case 15: sAmulet = "NW_IT_MNECK011"; break; //Wisdom +5
|
|
case 16: sAmulet = "NW_IT_MNECK019"; break; //Protection +5
|
|
}
|
|
break;
|
|
case 4 :
|
|
nRandom = Random(3) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sAmulet = "NW_IT_MNECK034"; break; //Master
|
|
case 2: sAmulet = "NW_IT_MNECK002"; break; //Pure Evil
|
|
case 3: sAmulet = "NW_IT_MNECK004"; break; //Pure Good
|
|
}
|
|
break;
|
|
}
|
|
CreateItemOnObject(sAmulet, oCreateOn, 1);
|
|
} //
|
|
//
|
|
//////////////////////////////////////////////////////////////// ///
|
|
|
|
/////////////////CREATE A MISCELLANEOUS ITEM////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////
|
|
void CreateMisc (object oCreateOn, int nTClass)
|
|
{
|
|
string sMisc = "";int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(3);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sMisc = "NW_IT_CONTAIN002"; break; // Magic Bag (20%)
|
|
case 2 : sMisc = "NW_IT_CONTAIN003"; break; // Magic Bag (40%)
|
|
case 3 : sMisc = "NW_IT_CONTAIN004"; break; // Magic Bag (60%)
|
|
}
|
|
break;
|
|
case 2:
|
|
nRandom = Random(7);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sMisc = "NW_IT_MMIDMISC02"; break; // Harp of Haunting
|
|
case 2 : sMisc = "NW_IT_MMIDMISC03"; break; // Harp of Pandemonium
|
|
case 3 : sMisc = "hornofgoodnessev"; break; // Horn of Goodness/Evil
|
|
case 4 : sMisc = "NW_IT_CONTAIN006"; break; // Bag of Holding
|
|
case 5 : sMisc = "NW_IT_CONTAIN005"; break; // Magic Bag (80)
|
|
case 6 : sMisc = "pipesofhaunting"; break; // Pipes of Haunting
|
|
case 7 : sMisc = "NW_IT_MMIDMISC04"; break; // Scabbard of Blessing
|
|
}
|
|
break;
|
|
case 3: case 4:
|
|
nRandom= Random(10);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sMisc = "pipesofhaunting"; break; // Pipes of Haunting
|
|
case 2 : sMisc = "NW_IT_MMIDMISC04"; break; // Scabbard of Blessing
|
|
case 3 : sMisc = "hornofgoodnessev"; break; // Horn of Goodness/Evil
|
|
case 4 : sMisc = "NW_IT_MMIDMISC03"; break; // Harp of Pandemonium
|
|
case 5 : sMisc = "NW_IT_MMIDMISC02"; break; // Harp of Haunting
|
|
case 6 : sMisc = "pipesofthecellar"; break; // Pipes of the Cellar
|
|
case 7 : sMisc = "NW_IT_MSMLMISC05"; break; // Saintsblood Pearl
|
|
case 8 : sMisc = "lanternofreveali"; break; // Lantern of Revealing
|
|
case 9 : sMisc = "NW_IT_MMIDMISC01"; break; // Harp of Charming
|
|
case 10 : sMisc = "NW_IT_NOVEL002"; break; // Instrument of the Windsh
|
|
}
|
|
break;
|
|
}
|
|
CreateItemOnObject (sMisc, oCreateOn, 1);
|
|
}
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////CREATE A ROD, STAFF or WAND ITEM////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////
|
|
void CreateWand (object oCreateOn, int nTClass)
|
|
{
|
|
int nRandom = 1;
|
|
string sWand = "";
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sWand = "nw_wmgmrd006"; break; // Rod of Frost
|
|
case 2 : sWand = "wandofcharmperso"; break; // Wand of Charm Person
|
|
case 3 : sWand = "wandofcuringi"; break; // Wand of Curing I
|
|
case 4 : sWand = "NW_WMGWN013"; break; // Wand of Lesser Summoning
|
|
case 5 : sWand = "wandoflight"; break; // Wand of Light
|
|
case 6 : sWand = "NW_WMGWN004"; break; // Wand of Missiles
|
|
case 7 : sWand = "NW_WMGWN006"; break; // Wand of Negative Energy
|
|
}
|
|
break;
|
|
case 2:
|
|
nRandom = Random(16) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sWand = "wandofcuringii"; break; // Wand of Curing II
|
|
case 2 : sWand = "wandofmissilesii"; break; // Wand of Missiles II
|
|
case 3 : sWand = "wandofburninghan"; break; // Wand of Burning Hands
|
|
case 4 : sWand = "wandofcolorspray"; break; // Wand of Color Spray
|
|
case 5 : sWand = "wandofcuringiii"; break; // Wand of Curing III
|
|
case 6 : sWand = "wandofenfeebleme"; break; // Wand of Enfeeblement
|
|
case 7 : sWand = "nw_wmgwn012"; break; // Wand of Sleep
|
|
case 8 : sWand = "NW_WMGRD002"; break; // Rod of the Ghost
|
|
case 9 : sWand = "wandofdarkness"; break; // Wand of Darkness
|
|
case 10 : sWand = "wandofholdperson"; break; // Wand of Hold Person
|
|
case 11 : sWand = "wandofinvisibili"; break; // Wand of Invisibility
|
|
case 12 : sWand = "wandofknock"; break; // Wand of Knock
|
|
case 13 : sWand = "wandofmelfs"; break; // Wand of Melf's
|
|
case 14 : sWand = "wandofmissile001"; break; // Wand of Missiles III
|
|
case 15 : sWand = "wandofsilence"; break; // Wand of Silence
|
|
case 16 : sWand = "wandofweb"; break; // Wand of Web
|
|
}
|
|
break;
|
|
case 3:
|
|
nRandom = Random(20) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sWand = "NW_WMGST006"; break; // Staff of the Holy
|
|
case 2 : sWand = "NW_WMGWN002"; break; // Wand of Fire
|
|
case 3 : sWand = "NW_WMGWN007"; break; // Wand of Lightning
|
|
case 4 : sWand = "NW_WMGMRD003"; break; // Rod of Terror
|
|
case 5 : sWand = "NW_WMGST004"; break; // Staff of Defense
|
|
case 6 : sWand = "NW_WMGWN011"; break; // Wand of Arcane Disjunction
|
|
case 7 : sWand = "wandofcharmmonst"; break; // Wand of Charm Monster
|
|
case 8 : sWand = "wandofcontagion"; break; // Wand of Contagion
|
|
case 9 : sWand = "wandofcuringiv"; break; // Wand of Curing IV
|
|
case 10 : sWand = "NW_WMGWN003"; break; // Wand of Fear
|
|
case 11 : sWand = "wandofneutralize"; break; // Wand of Neutralize Poison
|
|
case 12 : sWand = "wandofpoison"; break; // Wand of Poison
|
|
case 13 : sWand = "wandofsearinglig"; break; // Wand of Searing Light
|
|
case 14 : sWand = "wandofslow"; break; // Wand of Slow
|
|
case 15 : sWand = "NW_WMGWN010"; break; // Wand of Stinking Cloud
|
|
case 16 : sWand = "NW_WMGST005"; break; // Staff of Power
|
|
case 17 : sWand = "NW_WMGWN005"; break; // Wand of Paralyzation
|
|
case 18 : sWand = "wandofpolymorphs"; break; // Wand of Polymorph Self
|
|
case 19 : sWand = "NW_WMGWN008"; break; // Wand of Summonin
|
|
case 20 : sWand = "NW_WMGWN009"; break; // Wand of the Heavens
|
|
}
|
|
break;
|
|
case 4:
|
|
nRandom = Random(10) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sWand = "wandofholysmite"; break; // Wand of Divine Wrath
|
|
case 2 : sWand = "wandoffirewall"; break; // Wand of Fire Wall
|
|
case 3 : sWand = "wandofstoneskin"; break; // Wand of Stoneskin
|
|
case 4 : sWand = "NW_WMGMRD004"; break; // Rod of Beguiling
|
|
case 5 : sWand = "NW_WMGMRD005"; break; // Rod of Reversal
|
|
case 6 : sWand = "wandoficestorm"; break; // Wand of Ice Storm
|
|
case 7 : sWand = "NW_WMGST002"; break; // Staff of Command
|
|
case 8 : sWand = "NW_WMGMRD002"; break; // Rod of Resurrection
|
|
case 9 : sWand = "NW_IT_NOVEL008"; break; // Staff of Valmaxian
|
|
case 10 : sWand = "NW_WMGST003"; break; // Staff of the Magi
|
|
} //
|
|
break; //
|
|
} //
|
|
CreateItemOnObject(sWand, oCreateOn, 1); ///
|
|
} //
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
/////////////////CREATE AN ITEM OF MAGICAL CLOTHING////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
void CreateBelt (object oCreateOn, int nTClass)
|
|
{
|
|
string sGarb = "";
|
|
int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(4)+ 1; // Minor Item only
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "nw_it_mbelt011"; break; // Archer's Belt
|
|
case 2 : sGarb = "nw_it_mbelt010"; break; // Brawler's Belt
|
|
case 3 : sGarb = "nw_it_mbelt009"; break; // Swordsman's Belt
|
|
case 4 : sGarb = "nw_it_mbelt015"; break; // Lesser Belt of Guiding Light
|
|
}
|
|
break;
|
|
case 2:
|
|
nRandom = Random(5) + 1; //Medium Item
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_IT_MBELT005"; break; // Sash of Shimmering
|
|
case 2 : sGarb = "NW_ITEM_000"; break; // Belt of Inertial Barrier
|
|
case 3 : sGarb = "NW_IT_MBELT004"; break; // Encircling Scale
|
|
case 4 : sGarb = "nw_it_mbelt016"; break; // Belt of Guiding Light
|
|
case 5 : sGarb = "nw_it_mbelt002"; break; // Belt of Hill Giant Strength
|
|
}
|
|
break;
|
|
case 3:
|
|
nRandom = Random(7) + 1; //Major Item
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "nw_it_mbelt007"; break; // Belt of Frost Giant Strength
|
|
case 2 : sGarb = "nw_it_mbelt018"; break; // Belt of Agility +1
|
|
case 3 : sGarb = "NW_IT_MBELT001"; break; // Girdle of Holy Might
|
|
case 4 : sGarb = "nw_it_mbelt008"; break; // Belt of Fire Giant Strength
|
|
case 5 : sGarb = "nw_it_mbelt014"; break; // Greater Archer's Belt
|
|
case 6 : sGarb = "nw_it_mbelt013"; break; // Greater Brawler's Belt
|
|
case 7 : sGarb = "nw_it_mbelt012"; break; // Greater Swordsman's Belt
|
|
}
|
|
break;
|
|
case 4:
|
|
nRandom = Random(5) + 1; //Epic Item
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "nw_it_mbelt019"; break; // Belt of Agility +2
|
|
case 2 : sGarb = "nw_it_mbelt017"; break; // Greater Belt of Guiding Light
|
|
case 3 : sGarb = "nw_it_mbelt020"; break; // Belt of Agility +3
|
|
case 4 : sGarb = "NW_IT_MBELT003"; break; // Ceremonial Uthgardt Belt
|
|
case 5 : sGarb = "nw_it_mbelt021"; break; // Belt of Agility +4
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sGarb, oCreateOn, 1);
|
|
}
|
|
|
|
void CreateBoots (object oCreateOn, int nTClass)
|
|
{
|
|
string sGarb = ""; int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(4) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_IT_MBOOTS010"; break; // Boots of Reflexes +1
|
|
case 2 : sGarb = "NW_IT_MBOOTS018"; break; // Boots of the Sun Soul +1 //
|
|
case 3 : sGarb = "NW_IT_MBOOTS001"; break; // Boots of Striding +1 //
|
|
case 4 : sGarb = "NW_IT_MBOOTS015"; break; // Boots of Hardiness +1
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_IT_MBOOTS019"; break; // Boots of the Sun Soul +2
|
|
case 2 : sGarb = "NW_IT_MBOOTS011"; break; // Boots of Reflexes +2
|
|
case 3 : sGarb = "NW_IT_MBOOTS006"; break; // Boots of Striding +2
|
|
case 4 : sGarb = "NW_IT_MBOOTS020"; break; // Boots of the Sun Soul +3
|
|
case 5 : sGarb = "NW_IT_MBOOTS012"; break; // Boots of Reflexes +3
|
|
case 6 : sGarb = "NW_IT_MBOOTS002"; break; // Boots of Elvenkind
|
|
case 7 : sGarb = "bootsofspeed"; break; // Boots of speed
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_IT_MBOOTS013"; break; // Boots of Reflexes +4
|
|
case 2 : sGarb = "NW_IT_MBOOTS007"; break; // Boots of Striding +3
|
|
case 3 : sGarb = "NW_IT_MBOOTS007"; break; // Boots of Striding +3
|
|
case 4 : sGarb = "NW_IT_MBOOTS008"; break; // Boots of Striding +4
|
|
case 5 : sGarb = "NW_IT_MBOOTS016"; break; // Boots of Hardiness +2
|
|
case 6 : sGarb = "NW_IT_MBOOTS003"; break; // Dragon Slippers
|
|
case 7 : sGarb = "NW_IT_MBOOTS004"; break; // Gargoyle Boots
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(5) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_IT_MBOOTS017"; break; // Boots of Hardiness +3
|
|
case 2 : sGarb = "NW_IT_MBOOTS021"; break; // Boots of the Sun Soul +4
|
|
case 3 : sGarb = "NW_IT_MBOOTS014"; break; // Boots of Reflexes +5
|
|
case 4 : sGarb = "NW_IT_MBOOTS009"; break; // Boots of Striding +5
|
|
case 5 : sGarb = "NW_IT_MBOOTS022"; break; // Boots of the Sun Soul +5
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sGarb, oCreateOn, 1);
|
|
}
|
|
|
|
void CreateCloak (object oCreateOn, int nTClass)
|
|
{
|
|
string sGarb = ""; int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(8) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_MAARCL096"; break; // Cloak of Proection vs Good
|
|
case 2 : sGarb = "NW_MAARCL055"; break; // Cloak of Protection +1
|
|
case 3 : sGarb = "NW_MAARCL098"; break; // Cloak of Protection vs Chaos
|
|
case 4 : sGarb = "NW_MAARCL097"; break; // Cloak of Protection vs Evil
|
|
case 5 : sGarb = "NW_MAARCL099"; break; // Cloak of Protection vs Law
|
|
case 6 : sGarb = "NW_MAARCL057"; break; //Cloak of Elvenkind
|
|
case 7 : sGarb = "NW_MAARCL031"; break; // Nymph Cloak +1
|
|
case 8 : sGarb = "NW_MAARCL104"; break; // Cloak of Fortification +1
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(8) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_MAARCL088"; break; // Cloak of Protection +2
|
|
case 2 : sGarb = "NW_MAARCL030"; break; // Cloak of the High Forest
|
|
case 3 : sGarb = "NW_maarcl102"; break; // Greater Cloak of Protection vs Chaos
|
|
case 4 : sGarb = "NW_maarcl101"; break; // Greater Cloak of Protection vs Evil
|
|
case 5 : sGarb = "NW_maarcl100"; break; // Greater Cloak of Protection vs Good
|
|
case 6 : sGarb = "nw_maarcl103"; break; // Greater Cloak of Protection vs Law
|
|
case 7 : sGarb = "NW_MAARCL092"; break; // Nymph Cloak +2
|
|
case 8 : sGarb = "NW_MAARCL089"; break; // Cloak of Protection +3
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(8) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_MAARCL090"; break; // Cloak of Protection +4
|
|
case 2 : sGarb = "NW_MAARCL093"; break; // Nymph Cloak +3
|
|
case 3 : sGarb = "vestofescape" ; break; // Vest of Escape
|
|
case 4 : sGarb = "NW_MAARCL105"; break; // Cloak of Fortification +2
|
|
case 5 : sGarb = "NW_MAARCL056"; break; // Cloak of Movement
|
|
case 6 : sGarb = "NW_MAARCL094"; break; // Nymph Cloak +4
|
|
case 7 : sGarb = "druidsvestament"; break; // Druid's Vestment
|
|
case 8 : sGarb = "vestmentsoffaith"; break; // Vestments of Faith
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(4) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_MAARCL091"; break; // Cloak of Protection +5
|
|
case 2 : sGarb = "NW_MAARCL106"; break; // Cloak of Fortification +3
|
|
case 3 : sGarb = "NW_MAARCL095"; break; // Nymph Cloak +5
|
|
case 4 : sGarb = "mantleofspellres"; break; // Mantle of Spell Resistance
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sGarb, oCreateOn, 1);
|
|
}
|
|
|
|
void CreateHands (object oCreateOn, int nTClass)
|
|
{
|
|
string sGarb = ""; int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(11) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_IT_MBRACER002"; break; // Bracers of Armor +1
|
|
case 2 : sGarb = "nw_it_mglove006"; break; // Gloves of Animal Handling
|
|
case 3 : sGarb = "nw_it_mglove004"; break; // Gloves of Concentration
|
|
case 4 : sGarb = "nw_it_mglove008"; break; // Gloves of Discipline
|
|
case 5 : sGarb = "nw_it_mglove007"; break; // Gloves of Spellcraft
|
|
case 6 : sGarb = "nw_it_mglove009"; break; // Gloves of Swordplay
|
|
case 7 : sGarb = "nw_it_mglove016"; break; // Gloves of the Hin Fist +1
|
|
case 8 : sGarb = "nw_it_mglove021"; break; // Gloves of the Long Death +1
|
|
case 9 : sGarb = "nw_it_mglove005"; break; // Gloves of the Minstrel
|
|
case 10 : sGarb = "nw_it_mglove003"; break; // Gloves of the Rogue
|
|
case 11 : sGarb = "nw_it_mglove026"; break; // Gloves of the Yellow Rose + 1
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(12) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "nw_it_mglove012"; break; // Greater Gloves of Animal Handling
|
|
case 2 : sGarb = "nw_it_mglove010"; break; // Greater Gloves of Concentration
|
|
case 3 : sGarb = "nw_it_mglove014"; break; // Greater Gloves of Discipline
|
|
case 4 : sGarb = "nw_it_mglove013"; break; // Greater Gloves of Spellcraft
|
|
case 5 : sGarb = "nw_it_mglove015"; break; // Greater Gloves of Swordplay
|
|
case 6 : sGarb = "nw_it_mglove011"; break; // Greater Gloves of the Minstrel
|
|
case 7 : sGarb = "NW_IT_MBRACER001"; break; // Bracers of Dexterity +1
|
|
case 8 : sGarb = "NW_IT_MBRACER012"; break; // Lesser Gauntlets of Ogre Power //
|
|
case 9 : sGarb = "nw_it_mglove027"; break; // Gloves of the Yellow Rose +2
|
|
case 10 : sGarb = "NW_IT_MBRACER007"; break; // Bracers of Armor +2
|
|
case 11 : sGarb = "nw_it_mglove017"; break; // Gloves of the Hin Fist +2
|
|
case 12 : sGarb = "nw_it_mglove022"; break; // Gloves of the Long Death +2
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(13) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "nw_it_mglove028"; break; // Gloves of the Yellow Rose +3
|
|
case 2 : sGarb = "NW_IT_MGLOVE001"; break; // Wondrous Gloves
|
|
case 3 : sGarb = "NW_IT_MBRACER003"; break; // Bracers of Dexterity +2
|
|
case 4 : sGarb = "NW_IT_MBRACER011"; break; // Gauntlets of Locking Grip
|
|
case 5 : sGarb = "NW_IT_MBRACER013"; break; // Gauntlets of Ogre Power
|
|
case 6 : sGarb = "nw_it_mglove018"; break; // Gloves of the Hin Fist +3
|
|
case 7 : sGarb = "nw_it_mglove023"; break; // Gloves of the Long Death +3
|
|
case 8 : sGarb = "nw_it_mglove029"; break; // Gloves of the Yellow Rose +4
|
|
case 9 : sGarb = "NW_IT_MBRACER008"; break; // Bracers of Armor +3
|
|
case 10 : sGarb = "nw_it_mglove019"; break; // Gloves of the Hin Fist +4
|
|
case 11 : sGarb = "nw_it_mglove024"; break; // Gloves of the Long Death +4
|
|
case 12 : sGarb = "NW_IT_MBRACER004"; break; // Bracers of Dexterity +3
|
|
case 13 : sGarb = "NW_IT_MBRACER009"; break; // Bracers of Armor +4
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(6);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "nw_it_mglove030"; break; // Gloves of the Yellow Rose +5
|
|
case 2 : sGarb = "nw_it_mglove020"; break; // Gloves of the Hin Fist +5
|
|
case 3 : sGarb = "nw_it_mglove025"; break; // Gloves of the Long Death +5
|
|
case 4 : sGarb = "NW_IT_MBRACER010"; break; // Bracers of Armor +5
|
|
case 5 : sGarb = "NW_IT_MBRACER005"; break; // Bracers of Dexterity +4
|
|
case 6 : sGarb = "NW_IT_MBRACER006"; break; // Bracers of Dexterity +5
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sGarb, oCreateOn, 1);
|
|
}
|
|
|
|
void CreateHelm (object oCreateOn, int nTClass)
|
|
{
|
|
string sGarb = ""; int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(13) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "helmofdefense"; break; // Helm of Defense
|
|
case 2 : sGarb = "helmofcourtesy"; break; // Helm of Protocol
|
|
case 3 : sGarb = "helmofknowledge"; break; // Toq of Sagacity
|
|
case 4 : sGarb = "helmofrighteousn"; break; // Helm of Righteousness
|
|
case 5 : sGarb = "helmofthegladiat"; break; // Helm of the Gladiator
|
|
case 6 : sGarb = "helmofthewoodlan"; break; // Helm of the Woodlands
|
|
case 7 : sGarb = "helmofthestalker"; break; // Horns of the Stalker
|
|
case 8 : sGarb = "helmofthefence"; break; // Mask of the Fence
|
|
case 9 : sGarb = "helmoftheway"; break; // Skullcap of the Way
|
|
case 10 : sGarb = "helmofsorcery"; break; // Sorcerer's Cap
|
|
case 11 : sGarb = "helmofthelight"; break; // Helm of the Light
|
|
case 12 : sGarb = "NW_ARMHE011"; break; // Mask of Persuasion
|
|
case 13 : sGarb = "helmofrage"; break; // Helm of Reckless Might
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(6) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_ARMHE008"; break; // Shukenja Helm
|
|
case 2 : sGarb = "headbandofintell"; break; // Headband of Intellect +2
|
|
case 3 : sGarb = "NW_ARMHE006"; break; // Watchman's Helm
|
|
case 4 : sGarb = "NW_ARMHE007"; break; // Thieve's Hood
|
|
case 5 : sGarb = "NW_NOVEL004"; break; // Moonstone Mask
|
|
case 6 : sGarb = "NW_ARMHE012"; break; //Greater Mask of Persuasion
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(4) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_ARMHE009"; break; // Thayvian Circlet
|
|
case 2: sGarb = "NW_ARMHE010"; break; // Golden Circlet
|
|
case 3 : sGarb = "headbandofint001"; break; // Headband of Intellect +4
|
|
case 4 : sGarb = "maskoftheskull"; break; // Mask of the Skull
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(4) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sGarb = "NW_ARMHE009"; break; // Thayvian Circlet
|
|
case 2: sGarb = "NW_ARMHE010"; break; // Golden Circlet
|
|
case 3 : sGarb = "headbandofint002"; break; // Headband of Intellect +6
|
|
case 4 : sGarb = "maskoftheskull"; break; // Mask of the Skull
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sGarb, oCreateOn, 1);
|
|
}
|
|
////////////////////////////////////////////////////////////////////
|
|
void CreateGarb (object oCreateOn, int nTClass)
|
|
{
|
|
int nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: CreateBelt(oCreateOn, nTClass); break;//
|
|
case 2: CreateBoots (oCreateOn, nTClass); break;//
|
|
case 3: case 4: CreateCloak (oCreateOn, nTClass); break;//
|
|
case 5: case 6: CreateHands (oCreateOn, nTClass); break; //
|
|
case 7: CreateHelm (oCreateOn, nTClass); break;//
|
|
}
|
|
}
|
|
|
|
//////////////////CREATE A WEAPON////////////////////////////////////////
|
|
/////////This will create a melee or range weapon////////////////////////
|
|
/////////////////////////////////////////////////////////////////////////
|
|
////////Determine what type of Weapon is to be created////////////////////
|
|
void CreateWeapon (object oCreateOn, int nTClass) //
|
|
{ //
|
|
object oCreateOn = OBJECT_SELF;
|
|
int nRandom = Random(10) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: case 2: case 3: case 4: CreateBasicMeleeWeapon(oCreateOn, nTClass); break;
|
|
case 5: case 6: case 7: CreateBasicRangeWeapon (oCreateOn, nTClass); break; //
|
|
case 8: case 9: CreateSpecialMeleeWeapon (oCreateOn, nTClass); break; //
|
|
case 10: CreateSpecialRangeWeapon (oCreateOn, nTClass); break; //
|
|
}
|
|
} //
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
////////Create a Melee Weapon with an Enhancement Bonus, but //
|
|
/////but no special abilities////////////////////////////////////////////
|
|
void CreateBasicMeleeWeapon (object oCreateOn, int nTClass)//
|
|
{ //
|
|
int nRandom = 1;
|
|
string sBMWeapon = ""; //
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(25) + 1;
|
|
switch (nRandom)
|
|
{
|
|
//Minor Items//
|
|
case 1: sBMWeapon = "NW_WSWMBS002"; break; // +1 Bastard Sword
|
|
case 2: sBMWeapon = "NW_WAXMBT002"; break; // +1 Battleaxe
|
|
case 3: sBMWeapon = "NW_WBLMCL002"; break; // +1 Club
|
|
case 4: sBMWeapon = "NW_WSWMDG002"; break; // +1 Dagger
|
|
case 5: sBMWeapon = "NW_WAXMGR002"; break; // +1 Greataxe
|
|
case 6: sBMWeapon = "NW_WSWMGS002"; break; // +1 Greatsword
|
|
case 7: sBMWeapon = "NW_WPLMHB002"; break; // +1 Halberd
|
|
case 8: sBMWeapon = "NW_WAXMHN002"; break; // +1 Handaxe
|
|
case 9: sBMWeapon = "NW_WBLMFH002"; break; // +1 Heavy Flail
|
|
case 10: sBMWeapon = "NW_WSPMKA002"; break; // +1 Kama
|
|
case 11: sBMWeapon = "NW_WSWMKA002"; break; // +1 Katana
|
|
case 12: sBMWeapon = "NW_WSPMKU002"; break; // +1 Kukri
|
|
case 13: sBMWeapon = "NW_WBLMFL002"; break; // +1 Light Flail
|
|
case 14: sBMWeapon = "NW_WBLMHL002"; break; // +1 Light Hammer
|
|
case 15: sBMWeapon = "NW_WSWMLS002"; break; // +1 Longsword
|
|
case 16: sBMWeapon = "NW_WBLMML002"; break; // +1 Mace
|
|
case 17: sBMWeapon = "NW_WBLMMS002"; break; // +1 Morningstar
|
|
case 18: sBMWeapon = "NW_WDBMQS002"; break; // +1 Quarterstaff
|
|
case 19: sBMWeapon = "NW_WSWMRP002"; break; // +1 Rapier
|
|
case 20: sBMWeapon = "NW_WSWMSC002"; break; // +1 Scimitar
|
|
case 21: sBMWeapon = "NW_WPLMSC002"; break; // +1 Scythe
|
|
case 22: sBMWeapon = "NW_WSWMSS002"; break; // +1 Short Sword
|
|
case 23: sBMWeapon = "NW_WSPMSC002"; break; // +1 Sickle
|
|
case 24: sBMWeapon = "NW_WPLMSS002"; break; // +1 Spear
|
|
case 25: sBMWeapon = "NW_WBLMHW002"; break; // +1 Warhammer
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(56) + 1;
|
|
switch (nRandom)
|
|
{
|
|
//Medium Items //
|
|
case 1: sBMWeapon = "NW_WDBMMA002"; break; // +1 Dire Mace
|
|
case 2: sBMWeapon = "NW_WDBMAX002"; break; // +1 Double Axe
|
|
case 3: sBMWeapon = "NW_WDBMSW002"; break; // +1 Two Bladed Sword
|
|
case 4: sBMWeapon = "NW_WSWMBS009"; break; // +1 Bastard Sword
|
|
case 5: sBMWeapon = "NW_WAXMBT010"; break; // +2 Battleaxe
|
|
case 6: sBMWeapon = "NW_WBLMCL010"; break; // +2 Club
|
|
case 7: sBMWeapon = "NW_WSWMDG008"; break; // +2 Dagger
|
|
case 8: sBMWeapon = "NW_WAXMGR009"; break; // +2 Greataxe
|
|
case 9: sBMWeapon = "NW_WSWMGS011"; break; // +2 Greatsword
|
|
case 10: sBMWeapon = "NW_WPLMHB010"; break; // +2 Halberd
|
|
case 11: sBMWeapon = "NW_WAXMHN010"; break; // +2 Handaxe
|
|
case 12: sBMWeapon = "NW_WBLMFH010"; break; // +2 Heavy Flail
|
|
case 13: sBMWeapon = "NW_WSPMKA008"; break; // +2 Kama
|
|
case 14: sBMWeapon = "NW_WSWMKA010"; break; // +2 Katana
|
|
case 15: sBMWeapon = "NW_WSPMKU008"; break; // +2 Kukri
|
|
case 16: sBMWeapon = "NW_WBLMFL010"; break; // +2 Light Flail
|
|
case 17: sBMWeapon = "NW_WBLMHL010"; break; // +2 Light Hammer
|
|
case 18: sBMWeapon = "NW_WSWMLS010"; break; // +2 Longsword
|
|
case 19: sBMWeapon = "NW_WBLMML011"; break; // +2 Mace
|
|
case 20: sBMWeapon = "NW_WBLMMS010"; break; // +2 Morningstar //
|
|
case 21: sBMWeapon = "NW_WDBMQS008"; break; // +2 Quarterstaff
|
|
case 22: sBMWeapon = "NW_WSWMRP010"; break; // +2 Rapier //
|
|
case 23: sBMWeapon = "NW_WSWMSC010"; break; // +2 Scimitar //
|
|
case 24: sBMWeapon = "NW_WPLMSC010"; break; // +2 Scythe //
|
|
case 25: sBMWeapon = "NW_WSWMSS009"; break; // +2 Short Sword //
|
|
case 26: sBMWeapon = "NW_WSPMSC010"; break; // +2 Sickle //
|
|
case 27: sBMWeapon = "NW_WPLMSS010"; break; // +2 Spear //
|
|
case 28: sBMWeapon = "NW_WBLMHW011"; break; // +2 Warhammer //
|
|
case 29: sBMWeapon = "NW_WDBMMA010"; break; // +2 Dire Mace //
|
|
case 30: sBMWeapon = "NW_WDBMAX010"; break; // +2 Double Axe //
|
|
case 31: sBMWeapon = "NW_WDBMSW010"; break; // +2 Two Bladed Sword //
|
|
case 32: sBMWeapon = "NW_WSWMBS010"; break; // +3 Bastard Sword //
|
|
case 33: sBMWeapon = "NW_WAXMBT011"; break; // +3Battleaxe //
|
|
case 34: sBMWeapon = "NW_WBLMCL011"; break; // +3 Club //
|
|
case 35: sBMWeapon = "NW_WSWMDG009"; break; // +3 Dagger //
|
|
case 36: sBMWeapon = "NW_WAXMGR011"; break; // +3 Greataxe //
|
|
case 37: sBMWeapon = "NW_WSWMGS012"; break; // +3 Greatsword //
|
|
case 38: sBMWeapon = "NW_WPLMHB011"; break; // +3 Halberd //
|
|
case 39: sBMWeapon = "NW_WAXMHN011"; break; // +3 Handaxe //
|
|
case 40: sBMWeapon = "NW_WBLMFH011"; break; // +3 Heavy Flail //
|
|
case 41: sBMWeapon = "NW_WSPMKA009"; break; // +3 Kama //
|
|
case 42: sBMWeapon = "NW_WSWMKA011"; break; // +3 Katana //
|
|
case 43: sBMWeapon = "NW_WSPMKU009"; break; // +3 Kukri //
|
|
case 44: sBMWeapon = "NW_WBLMFL011"; break; // +3 Light Flail //
|
|
case 45: sBMWeapon = "NW_WBLMHL011"; break; // +3 Light Hammer //
|
|
case 46: sBMWeapon = "NW_WSWMLS012"; break; // +3 Longsword //
|
|
case 47: sBMWeapon = "NW_WBLMML012"; break; // +3 Mace //
|
|
case 48: sBMWeapon = "NW_WBLMMS011"; break; // +3 Morningstar //
|
|
case 49: sBMWeapon = "NW_WDBMQS009"; break; // +3 Quarterstaff //
|
|
case 50: sBMWeapon = "NW_WSWMRP011"; break; // +3 Rapier //
|
|
case 51: sBMWeapon = "NW_WSWMSC011"; break; // +3 Scimitar //
|
|
case 52: sBMWeapon = "NW_WPLMSC011"; break; // +3 Scythe //
|
|
case 53: sBMWeapon = "NW_WSWMSS011"; break; // +3 Short Sword //
|
|
case 54: sBMWeapon = "NW_WSPMSC011"; break; // +3 Sickle //
|
|
case 55: sBMWeapon = "NW_WPLMSS011"; break; // +3 Spear //
|
|
case 56: sBMWeapon = "NW_WBLMHW012"; break; // +3 Warhammer //
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(28)+ 1;
|
|
switch (nRandom)
|
|
{
|
|
// Major Items //
|
|
case 1: sBMWeapon = "NW_WDBMMA011"; break; // +3 Dire Mace //
|
|
case 2: sBMWeapon = "NW_WDBMAX011"; break; // +3 Double Axe //
|
|
case 3: sBMWeapon = "NW_WDBMSW011"; break; // +3 Two Bladed Sword //
|
|
case 4: sBMWeapon = "bastardsword4"; break; // +4 Bastard Sword //
|
|
case 5: sBMWeapon = "battleaxe4"; break; // +4 Battleaxe //
|
|
case 6: sBMWeapon = "club4"; break; // +4 Club //
|
|
case 7: sBMWeapon = "dagger4"; break; // +4 Dagger //
|
|
case 8: sBMWeapon = "greataxe4"; break; // +4 Greataxe // //
|
|
case 9: sBMWeapon = "greatsword4"; break; // +4 Greatsword //
|
|
case 10: sBMWeapon = "halberd4"; break; // +4 Halberd //
|
|
case 11: sBMWeapon = "handaxe4"; break; // +4 Handaxe //
|
|
case 12: sBMWeapon = "heavyflail4"; break; // +4 Heavy Flail //
|
|
case 13: sBMWeapon = "kama4"; break; // +4 Kama //
|
|
case 14: sBMWeapon = "katana4"; break; // +4 Katana //
|
|
case 15: sBMWeapon = "kukri4"; break; // +4 Kukri //
|
|
case 16: sBMWeapon = "lightflail4"; break; // +4 Light Flail //
|
|
case 17: sBMWeapon = "lighthammer4"; break; // +4 Light Hammer //
|
|
case 18: sBMWeapon = "longsword4"; break; // +4 Longsword //
|
|
case 19: sBMWeapon = "mace4"; break; // +4 Mace //
|
|
case 20: sBMWeapon = "morningstar4"; break; // +4 Morningstar //
|
|
case 21: sBMWeapon = "quarterstaff4"; break; // +4 Quarterstaff //
|
|
case 22: sBMWeapon = "rapier4"; break; // +4 Rapier //
|
|
case 23: sBMWeapon = "scimitar4"; break; // +4 Scimitar //
|
|
case 24: sBMWeapon = "scythe4"; break; // +4 Scythe //
|
|
case 25: sBMWeapon = "shortsword4"; break; // +4 Short Sword //
|
|
case 26: sBMWeapon = "sickle4"; break; // +4 Sickle //
|
|
case 27: sBMWeapon = "spear4"; break; // +4 Spear //
|
|
case 28: sBMWeapon = "warhammer4";break; // +4 Warhammer //
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(31) + 1;
|
|
switch (nRandom)
|
|
{
|
|
// Epic Items //
|
|
case 1: sBMWeapon = "diremace4"; break; // +4 Dire Mace //
|
|
case 2: sBMWeapon = "doubleaxe4"; break; // +4 Double Axe //
|
|
case 3: sBMWeapon = "twobladedsword4"; break; // +4 Two Bladed Sword //
|
|
case 4: sBMWeapon = "bastardsword5"; break; // +5 Bastard Sword //
|
|
case 5: sBMWeapon = "battleaxe5"; break; // +5 Battleaxe //
|
|
case 6: sBMWeapon = "club5"; break; // +5 Club //
|
|
case 7: sBMWeapon = "dagger5"; break; // +5 Dagger //
|
|
case 8: sBMWeapon = "greataxe5"; break; // +5 Greataxe // //
|
|
case 9: sBMWeapon = "greatsword5"; break; // +5 Greatsword //
|
|
case 10: sBMWeapon = "halberd5"; break; // +5 Halberd //
|
|
case 11: sBMWeapon = "handaxe5"; break; // +5 Handaxe //
|
|
case 12: sBMWeapon = "heavyflail5"; break; // +5 Heavy Flail //
|
|
case 13: sBMWeapon = "kama5"; break; // +5 Kama //
|
|
case 14: sBMWeapon = "katana5"; break; // +5 Katana //
|
|
case 15: sBMWeapon = "kukri5"; break; // +5 Kukri //
|
|
case 16: sBMWeapon = "lightflail5"; break; // +5 Light Flail //
|
|
case 17: sBMWeapon = "lighthammer5"; break; // +5 Light Hammer //
|
|
case 18: sBMWeapon = "longsword5"; break; // +5 Longsword //
|
|
case 19: sBMWeapon = "mace5"; break; // +5 Mace //
|
|
case 20: sBMWeapon = "morningstar5"; break; // +5 Morningstar //
|
|
case 21: sBMWeapon = "quarterstaff5"; break; // +5 Quarterstaff //
|
|
case 22: sBMWeapon = "rapier5"; break; // +5 Rapier //
|
|
case 23: sBMWeapon = "scimitar5"; break; // +5 Scimitar //
|
|
case 24: sBMWeapon = "scythe5"; break; // +5 Scythe //
|
|
case 25: sBMWeapon = "shortsword5"; break; // +5 Short Sword //
|
|
case 26: sBMWeapon = "sickle5"; break; // +5 Sickle //
|
|
case 27: sBMWeapon = "spear5"; break; // +5 Spear //
|
|
case 28: sBMWeapon = "warhammer5"; break; // +5 Warhammer //
|
|
case 29: sBMWeapon = "diremace5"; break; // +5 Dire Mace //
|
|
case 30: sBMWeapon = "doubleaxe5"; break; // +5 Double Axe //
|
|
case 31: sBMWeapon = "twobladedsword5"; break; // +5 Two Bladed Sword
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sBMWeapon, oCreateOn, 1);
|
|
}
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
////////Create a Melee Weapon with Special Abilities////////////////////
|
|
/////////////////////////////////////////////////////////////////////////
|
|
void CreateSpecialMeleeWeapon (object oCreateOn, int nTClass) //
|
|
{ //
|
|
int nRandom = 1;
|
|
string sSMWeapon = ""; //
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(18) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: case 2: case 3: case 4: case 5: case 6:
|
|
case 7: case 8: case 9: case 10: case 11: case 12:
|
|
case 13: case 14: case 15: case 16: case 17: //create +1, +2 racial weapons
|
|
case 18: sSMWeapon = "NW_WSPMSC008"; break; // Golden Sickle +1
|
|
} // //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(60) + 1; //
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sSMWeapon = "NW_WSPMSC008"; break; // Golden Sickle +1
|
|
case 2 : sSMWeapon = "NW_WDBMMA008"; break; // Ironwood Mace
|
|
case 3 : sSMWeapon = "NW_WBLMML009"; break; // Mace of Disruption +2
|
|
case 4 : sSMWeapon = "NW_WSPMKU006"; break; // Sharpshadow Blade
|
|
case 5 : sSMWeapon = "NW_WDBMQS005"; break; // Staff of Curing
|
|
case 6 : sSMWeapon = "NW_WSWMKA008"; break; // Sword Saint Legacy +1
|
|
case 7 : sSMWeapon = "NW_WSWMLS009"; break; // Astral Blade +1
|
|
case 8 : sSMWeapon = "NW_WDBMAX008"; break; // Axe for the Tall Kin
|
|
case 9 : sSMWeapon = "NW_WDBMQS006"; break; // Blackforest Staff
|
|
case 10 : sSMWeapon = "NW_WPLMSS008"; break; // Fey Spear +1
|
|
case 11 : sSMWeapon = "NW_WSWMSS008"; break; // Feyduster +1
|
|
case 12 : sSMWeapon = "NW_WBLMCL008"; break; // Gladiator's Club +1
|
|
case 13 : sSMWeapon = "NW_WSWMGS009"; break; // Harbinger's Kin +1
|
|
case 14 : sSMWeapon = "NW_WSWMKA005"; break; // Kaga -T0
|
|
case 15 : sSMWeapon = "NW_WSWMRP008"; break; // Namarra +1
|
|
case 16 : sSMWeapon = "NW_WBLMMS007"; break; // One of Many
|
|
case 17 : sSMWeapon = "NW_WBLMHW009"; break; // Rune Hammer +1
|
|
case 18 : sSMWeapon = "NW_WAXMBT008"; break; // Sentinel +1
|
|
case 19 : sSMWeapon = "NW_WAXMGR008"; break; // Stonefire Axe +1
|
|
case 20 : sSMWeapon = "NW_WBLMHL008"; break; // Storm +1
|
|
case 21 : sSMWeapon = "NW_WSWMRP004"; break; // Black Rider Quill
|
|
case 22 : sSMWeapon = "NW_WSPMSC004"; break; // Blacksoul Sickle
|
|
case 23 : sSMWeapon = "NW_WBLMHL004"; break; // Daraz Hammer
|
|
case 24 : sSMWeapon = "NW_WBLMMS008"; break; // Drone +1
|
|
case 25 : sSMWeapon = "NW_WBLMML006"; break; // Fist of the Legion
|
|
case 26 : sSMWeapon = "NW_WBLMFL008"; break; // Foundation +1
|
|
case 27 : sSMWeapon = "NW_WBLMHW006"; break; // Hammer of Justice
|
|
case 28 : sSMWeapon = "NW_WSPMKA007"; break; // Imaskari Kama
|
|
case 29 : sSMWeapon = "NW_WDBMMA003"; break; // Krotan's Skullcrusher
|
|
case 30 : sSMWeapon = "NW_WPLMSC008"; break; // Sea Reaver +1
|
|
case 31 : sSMWeapon = "NW_WDBMSW006"; break; // Sword of Bao
|
|
case 32 : sSMWeapon = "NW_WSWMDG006"; break; // Taggert's Talon
|
|
case 33 : sSMWeapon = "NW_WBLMFL004"; break; // Writ of the Vizier
|
|
case 34 : sSMWeapon = "NW_WBLMFH004"; break; // Asp Flail
|
|
case 35 : sSMWeapon = "NW_WBLMMS003"; break; // Bone Phoenix
|
|
case 36 : sSMWeapon = "NW_WSWMSC008"; break; // Desert Wind
|
|
case 37 : sSMWeapon = "NW_WBLMFL005"; break; // Heirs of Osiris
|
|
case 38 : sSMWeapon = "NW_WSPMKA004"; break; // Hideo's Kama
|
|
case 39 : sSMWeapon = "NW_WAXMHN008"; break; // Ice Reaver +1
|
|
case 40 : sSMWeapon = "NW_WPLMSC003"; break; // Nature's Scythe
|
|
case 41 : sSMWeapon = "NW_WDBMQS004"; break; // Negastaff
|
|
case 42 : sSMWeapon = "NW_WAXMGR003"; break; // Netherese Axe
|
|
case 43 : sSMWeapon = "NW_WSPMKA005"; break; // Peasant Dynasty
|
|
case 44 : sSMWeapon = "NW_WPLMHB008"; break; // Ravager +1
|
|
case 45 : sSMWeapon = "NW_WBLMFH008"; break; // Reaver +1
|
|
case 46 : sSMWeapon = "NW_WBLMHW005"; break; // Rift Hammer
|
|
case 47 : sSMWeapon = "NW_WSWMGS006"; break; // Vermin's Bane
|
|
case 48 : sSMWeapon = "NW_WBLMCL003"; break; // Watchman's Club
|
|
case 49 : sSMWeapon = "NW_WPLMHB004"; break; // Will of Altair
|
|
case 50 : sSMWeapon = "NW_WBLMCL004"; break; // Will of the Lost
|
|
case 51 : sSMWeapon = "NW_WDBMAX006"; break; //Ascorian Double Axe
|
|
case 52 : sSMWeapon = "NW_WPLMSS005"; break; // Black Kumade
|
|
case 53 : sSMWeapon = "NW_WSWMGS004"; break; // Blade of the Rashemi
|
|
case 54 : sSMWeapon = "NW_WSPMSC003"; break; // Blightbringer Lineage
|
|
case 55 : sSMWeapon = "NW_WAXMGR006"; break; // Gruumsh Hand
|
|
case 56 : sSMWeapon = "NW_WSWMBS005"; break; // Lawgiver
|
|
case 57 : sSMWeapon = "NW_WSWMRP005"; break; // Mercykiller Blade
|
|
case 58 : sSMWeapon = "NW_WSPMKU004"; break; // Neverwinger Kukri
|
|
case 59 : sSMWeapon = "NW_WSWMSC004"; break; // Shimmering Blade
|
|
case 60 : sSMWeapon = "NW_WDBMSW008"; break; // Uthgardt Ceremonial Blade +1
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(63) + 1; //
|
|
switch (nRandom) //
|
|
{ //
|
|
case 1 : sSMWeapon = "NW_WPLMHB003"; break; // Arc Asunder
|
|
case 2 : sSMWeapon = "NW_WSWMKA007"; break; // Blade of the Elements
|
|
case 3 : sSMWeapon = "NW_WSWMSS005"; break;// Breath of the Maider
|
|
case 4 : sSMWeapon = "NW_WSWMLS007"; break;// Cold Iron Blade
|
|
case 5 : sSMWeapon = "NW_WDBMAX005"; break;// Death Shroud Axe
|
|
case 6 : sSMWeapon = "NW_WSPMKA006"; break; // Empty Fields
|
|
case 7 : sSMWeapon = "NW_WSPMSC009"; break;// Golden Sickle +2
|
|
case 8 : sSMWeapon = "NW_WBLMHL005"; break;// Hammer of the Beast
|
|
case 9 : sSMWeapon = "NW_WBLMML004"; break; // Kiss of Sune
|
|
case 10 : sSMWeapon = "NW_WBLMML010"; break;// Mace of Disruption +5
|
|
case 11 : sSMWeapon = "NW_WSPMKU007"; break; // Messenger Blade
|
|
case 12 : sSMWeapon = "NW_WPLMSC009"; break; // Sea Reaver +2
|
|
case 13 : sSMWeapon = "NW_WAXMHN004"; break; // Woodcutter's Axe
|
|
case 14 : sSMWeapon = "NW_WDBMQS003"; break; // Aiedo Wither Stick
|
|
case 15 : sSMWeapon = "NW_WSWMLS005"; break; // Anguvadal (Flame Tongue)
|
|
case 16 : sSMWeapon = "NW_IT_NOVEL007"; break; // Blade of the Gladiator
|
|
case 17 : sSMWeapon = "NW_WAXMHN005"; break; // Blood Rust Axe
|
|
case 18 : sSMWeapon = "NW_WPLMSS007"; break; // Briarspike
|
|
case 19 : sSMWeapon = "NW_WSWMBS006"; break; // Dragonslayer
|
|
case 20 : sSMWeapon = "NW_WAXMHN003"; break; // Ember's Axe
|
|
case 21 : sSMWeapon = "NW_WBLMFL006"; break; // Flail of Destruction
|
|
case 22 : sSMWeapon = "NW_WBLMFH003"; break; // Flail of Jergal
|
|
case 23 : sSMWeapon = "NW_WBLMHL006"; break;// Forge Fire
|
|
case 24 : sSMWeapon = "NW_WBLMHW003"; break;// Hammer of the Wisp
|
|
case 25 : sSMWeapon = "NW_WSWMDG004"; break; // Ice Talon
|
|
case 26 : sSMWeapon = "NW_WSWMSS004"; break;// Ichthia's Neck-Knife
|
|
case 27 : sSMWeapon = "NW_WBLMFH006"; break; // Kinthasia
|
|
case 28 : sSMWeapon = "NW_WSWMSC006"; break;// Laughing Blade
|
|
case 29 : sSMWeapon = "NW_WBLMML005"; break; // Planar Mace
|
|
case 30 : sSMWeapon = "NW_WSWMRP007"; break; // Rapier of the High Hand
|
|
case 31 : sSMWeapon = "NW_WSWMGS005"; break; // Shining Light of Lathand
|
|
case 32 : sSMWeapon = "NW_WPLMSS006"; break; // Spear of Withering
|
|
case 33 : sSMWeapon = "NW_WAXMGR010"; break; // Stonefire Axe +2
|
|
case 34 : sSMWeapon = "NW_WSPMSC006"; break; // Teneraard's Sickle
|
|
case 35 : sSMWeapon = "NW_WBLMCL005"; break; // Tethir-Wood Cudgel
|
|
case 36 : sSMWeapon = "NW_WPLMSC006"; break; // Wicked Union
|
|
case 37 : sSMWeapon = "NW_WDBMSW005"; break; // Blade of the Red Masque
|
|
case 38 : sSMWeapon = "NW_WBLMMS006"; break; // Circling Star
|
|
case 39 : sSMWeapon = "NW_WDBMMA004"; break; // Dire Mace
|
|
case 40 : sSMWeapon = "NW_WDBMMA009"; break; // Ironwood Mace +3
|
|
case 41 : sSMWeapon = "NW_WSPMKU003"; break; // Ladymist Talon
|
|
case 42 : sSMWeapon = "NW_WSWMKA006"; break; // Master Li's Way
|
|
case 43 : sSMWeapon = "NW_WAXMGR005"; break; // Re's Redemption
|
|
case 44 : sSMWeapon = "NW_WDBMAX004"; break; // Red Tiger Double Axe
|
|
case 45 : sSMWeapon = "NW_WSPMKA003"; break; // Thread of Life
|
|
case 46 : sSMWeapon = "NW_WDBMAX009"; break; // Axe of the Tall Kin +3
|
|
case 47 : sSMWeapon = "NW_WDBMSW007"; break; // Blade of Corellion
|
|
case 48 : sSMWeapon = "NW_WSWMRP006"; break; // Bleederkin
|
|
case 49 : sSMWeapon = "NW_WBLMCL012"; break; // Club of Smiting
|
|
case 50 : sSMWeapon = "NW_WSWMDG003"; break; // Courtesan Blade
|
|
case 51 : sSMWeapon = "NW_WDBMMA006"; break; // Ebon Dire Mace
|
|
case 52 : sSMWeapon = "NW_WBLMFL007"; break; // Elberond's Flail
|
|
case 53 : sSMWeapon = "NW_WSWMSS010"; break; // Feyduster +2
|
|
case 54 : sSMWeapon = "NW_WAXMHN009"; break; // Ice Reaver +3
|
|
case 55 : sSMWeapon = "NW_WPLMSC005"; break; // King's Scythe
|
|
case 56 : sSMWeapon = "NW_WSWMRP009"; break; // Namara +2
|
|
case 57 : sSMWeapon = "NW_WSWMDG007"; break; // Pixie Lance
|
|
case 58 : sSMWeapon = "NW_WBLMMS004"; break; // Sleepwalker Kin
|
|
case 59 : sSMWeapon = "NW_WBLMHL009"; break; // Storm +2
|
|
case 60 : sSMWeapon = "NW_WDBMMA005"; break; // Stoutcorps Key
|
|
case 61 : sSMWeapon = "NW_WSWMSS006"; break; // The Lucky One
|
|
case 62 : sSMWeapon = "NW_WSWMSC007"; break; // Ula's Heart
|
|
case 63 : sSMWeapon = "NW_WPLMHB007"; break; // Water's Edge
|
|
}
|
|
//
|
|
break;
|
|
case 4:
|
|
nRandom = Random(45) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sSMWeapon = "NW_WAXMBT003"; break; // Axe of Dead Illusk
|
|
case 2 : sSMWeapon = "NW_WDBMAX007"; break; // Bloodstone Double Axe
|
|
case 3 : sSMWeapon = "NW_WSWMBS007"; break; // Discord
|
|
case 4 : sSMWeapon = "NW_WBLMFH005"; break; // Flail of Stars
|
|
case 5 : sSMWeapon = "NW_WSWMGS003"; break; // Gemsword
|
|
case 6 : sSMWeapon = "NW_WSWMGS010"; break; // Harbinger Kin +3
|
|
case 7 : sSMWeapon = "NW_WBLMML007"; break; // Petty's Tempest
|
|
case 8 : sSMWeapon = "NW_IT_NOVEL006"; break;//Silvermane Axe
|
|
case 9 : sSMWeapon = "NW_WSWMLS004"; break; // Soulrazor Minion
|
|
case 10 : sSMWeapon = "NW_IT_NOVEL009"; break;//The Dagger of Chaos
|
|
case 11 : sSMWeapon = "NW_WSWMLS011"; break; // Astral Blade +3
|
|
case 12 : sSMWeapon = "NW_WSPMKU005"; break; // Cutting Star
|
|
case 13 : sSMWeapon = "NW_WSWMSC009"; break; // Desert Wind +2
|
|
case 14 : sSMWeapon = "NW_WBLMFL009"; break; // Foundation +4
|
|
case 15 : sSMWeapon = "NW_WBLMCL009"; break; // Gladiator's Club
|
|
case 16 : sSMWeapon = "NW_WAXMBT004"; break; // Mordan's WIthering Blade
|
|
case 17 : sSMWeapon = "NW_WBLMFH009"; break; // Reaver +2
|
|
case 18 : sSMWeapon = "NW_WBLMHW010"; break; // Rune Hammer +2
|
|
case 19 : sSMWeapon = "NW_WSPMSC005"; break; // Sickle of Holy Mourning
|
|
case 20 : sSMWeapon = "NW_WSWMKA009"; break; // Sword Saint Legacy
|
|
case 21 : sSMWeapon = "NW_WSWMLS006"; break; // Blessing of the Daystar
|
|
case 22 : sSMWeapon = "NW_WAXMBT005"; break; // Clangeddin's Wayward Axe
|
|
case 23 : sSMWeapon = "NW_WAXMBT006"; break; // Deepstone Progeny
|
|
case 24 : sSMWeapon = "NW_WSWMKA004"; break; // Divine Fury
|
|
case 25 : sSMWeapon = "NW_WBLMHL003"; break; // Hammer of Blasting
|
|
case 26 : sSMWeapon = "NW_WSWMBS003"; break; // Nameless Light
|
|
case 27 : sSMWeapon = "NW_WDBMQS007"; break; // Staff of Ascension
|
|
case 28 : sSMWeapon = "NW_WBLMCL006"; break; // The Angry Soul
|
|
case 29 : sSMWeapon = "NW_WDBMSW009"; break; // Uthgardt Ceremonial Blade +2
|
|
case 30 : sSMWeapon = "NW_WPLMSS004"; break; // Heartwood Spear
|
|
case 31 : sSMWeapon = "NW_WAXMHN006"; break; // Offhand Axe
|
|
case 32 : sSMWeapon = "NW_WPLMHB009"; break; //Ravager +4
|
|
case 33 : sSMWeapon = "NW_WSWMSC005"; break; //Scimitar of Speed
|
|
case 34 : sSMWeapon = "NW_WSWMSS003"; break; // Shortsword of Quickness
|
|
case 35 : sSMWeapon = "NW_WBLMML008"; break; // Soldier's Might
|
|
case 36 : sSMWeapon = "NW_WPLMSC004"; break; // Death's Handmaiden
|
|
case 37 : sSMWeapon = "NW_WPLMHB006"; break; // Dragon's Breath
|
|
case 38 : sSMWeapon = "NW_WBLMMS009"; break; // Drone +4
|
|
case 39 : sSMWeapon = "NW_WPLMSS009"; break; // Fey Spear +3
|
|
case 40 : sSMWeapon = "NW_WSWMDG005"; break; // Leech
|
|
case 41 : sSMWeapon = "NW_WAXMBT009"; break; // Sentinel +2
|
|
case 42 : sSMWeapon = "NW_WSWMBS004"; break; // Bloodletter
|
|
case 43 : sSMWeapon = "NW_WBLMHW004"; break; // Hammer of Thunderbolts
|
|
case 44 : sSMWeapon = "NW_WDBMSW004"; break; // Sword of Lyons
|
|
case 45 : sSMWeapon = "NW_WAXMGR004"; break; // Axe of the Culling
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sSMWeapon, oCreateOn, 1); //
|
|
}
|
|
|
|
////////Create a Range Weapon with an Enhancement Bonus, but/////////////
|
|
/////but no special abilities////////////////////////////////////////////
|
|
void CreateBasicRangeWeapon (object oCreateOn, int nTClass) //
|
|
{ //
|
|
int nRandom = 1;
|
|
string sBRWeapon = ""; //
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(5) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sBRWeapon = "NW_WBWMXH002"; break; // +1 Heavy Crossbow
|
|
case 2: sBRWeapon = "NW_WBWMXL002"; break; // +1 Light Crossbow
|
|
case 3: sBRWeapon = "NW_WBWMLN002"; break; // +1 Longbow
|
|
case 4: sBRWeapon = "NW_WBWMSH002"; break; // +1 Shortbow
|
|
case 5: sBRWeapon = "NW_WBWMSL001"; break; // +1 Sling
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(14) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sBRWeapon = "NW_WBWMXH008"; break; // +2 Heavy Crossbow
|
|
case 2: sBRWeapon = "NW_WBWMXL008"; break; // +2 Light Crossbow
|
|
case 3: sBRWeapon = "NW_WBWMLN008"; break; // +2 Longbow
|
|
case 4: sBRWeapon = "NW_WBWMSH008"; break; // +2 Shortbow
|
|
case 5: sBRWeapon = "NW_WBWMSL009"; break; // +2 Sling
|
|
case 6: sBRWeapon = "NW_WBWMLN010"; break; // +1 M Composite Longbow
|
|
case 7: sBRWeapon = "NW_WBWMSH010"; break; // +1 M Composite Shortbow
|
|
case 8: sBRWeapon = "NW_WBWMXH009"; break; // +3 Heavy Crossbow
|
|
case 9: sBRWeapon = "NW_WBWMXL009"; break; // +3 Light Crossbow
|
|
case 10: sBRWeapon = "NW_WBWMLN009"; break; // +3 Longbow
|
|
case 11: sBRWeapon = "NW_WBWMSH009"; break; // +3 Shortbow
|
|
case 12: sBRWeapon = "NW_WBWMSL010"; break; // +3 Sling
|
|
case 13: sBRWeapon = "NW_WBWMLN011"; break; // +2 M Composite Longbow
|
|
case 14: sBRWeapon = "NW_WBWMSH011"; break; // +2 M Composite Shortbow
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sBRWeapon = "heavycrossbow4"; break; // +4 Heavy Crossbow
|
|
case 2: sBRWeapon = "lightcrossbow4"; break; // +4 Light Crossbow
|
|
case 3: sBRWeapon = "longbow4"; break; // +4 Longbow
|
|
case 4: sBRWeapon = "shortbow4"; break; // +4 Shortbow
|
|
case 5: sBRWeapon = "sling4"; break; // +4 Sling
|
|
case 6: sBRWeapon = "NW_WBWMLN012"; break; // +3 Mighty Composite Longbow
|
|
case 7: sBRWeapon = "NW_WBWMSH012"; break; // +3 Mighty Composite Shortbow
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(9) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sBRWeapon = "heavycrossbow5"; break; // +5 Heavy Crossbow
|
|
case 2: sBRWeapon = "lightcrossbow5"; break; // +5 Light Crossbow
|
|
case 3: sBRWeapon = "longbow5"; break; // +5 Longbow
|
|
case 4: sBRWeapon = "shortbow5"; break; // +5 Shortbow
|
|
case 5: sBRWeapon = "sling5"; break; // +5 Sling
|
|
case 6: sBRWeapon = "mightcompositelo"; break; // +4 Mighty Composite Longbow
|
|
case 7: sBRWeapon = "mightcompositesh"; break; // +4 Mighty Composite Shortbow
|
|
case 8: sBRWeapon = "mightycompositel"; break; // +5 Mighty Composite Longbow
|
|
case 9: sBRWeapon = "mightycomposites"; break; // +5 Mighty Composite Shortbow
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sBRWeapon, oCreateOn, 1);
|
|
}
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
////////Create a Range Weapon with Special Abilities/////////////////////
|
|
//////////////////////////////////////////////////////////////////////////
|
|
void CreateSpecialRangeWeapon (object oCreateOn, int nTClass) //
|
|
{ //
|
|
int nRandom = 1;
|
|
string sSRWeapon = ""; //
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(11) + 1; //
|
|
switch (nRandom)
|
|
{
|
|
case 1: sSRWeapon = "NW_WBWMXL005"; break; // Ruby Crossbow
|
|
case 2: sSRWeapon = "SY_MWXBOW005"; break; // Crossbow of Law
|
|
case 3: sSRWeapon = "SY_MWXBOW006"; break; // Eternal Rest
|
|
case 4: sSRWeapon = "SY_MWXBOW007"; break; // Crossbow of the Guardians
|
|
case 5: sSRWeapon = "SY_MWXBOW008"; break; // Melf's Crossbow
|
|
case 6: sSRWeapon = "SY_MWLBOW005"; break; // Bow of the Elven Guard
|
|
case 7: sSRWeapon = "SY_MWLBOW006"; break; // Bow of the Orc Chieftain
|
|
case 8: sSRWeapon = "SY_MWSBOW005"; break; // Silent Death
|
|
case 9: sSRWeapon = "SY_MWSBOW006"; break; // Sorcerous Bow
|
|
case 10: sSRWeapon = "SY_MWSLI005"; break; // Hunter's Sling
|
|
case 11: sSRWeapon = "SY_MWSLI005"; break; // Sling of the Darkwoods
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(8) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sSRWeapon = "NW_WBWMXH005"; break; // Feywarden Crossbow
|
|
case 2 : sSRWeapon = "NW_WBWMXL005"; break; // Ruby Crossbow
|
|
case 3 : sSRWeapon = "NW_WBWMSL003"; break; // Sunlight Sling
|
|
case 4 : sSRWeapon = "NW_WBWMSH003"; break; // Eaglebow
|
|
case 5 : sSRWeapon = "NW_WBWMLN004"; break; // Elven Court Bow
|
|
case 6 : sSRWeapon = "NW_WBWMSH006"; break; // Lesser Oathbow
|
|
case 7 : sSRWeapon = "NW_WBWMXH003"; break; // Crossbow of Accuracy
|
|
case 8 : sSRWeapon = "NW_WBWMSL003"; break; // Sling of Seeking
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(11) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sSRWeapon = "NW_WBWMXL003"; break; // Crossbow of Affliction
|
|
case 2 : sSRWeapon = "NW_WBWMXL007"; break; // Crossbow of Murder
|
|
case 3 : sSRWeapon = "NW_WBWMLN007"; break; // North Wind Bow
|
|
case 4 : sSRWeapon = "NW_WBWMXH004"; break; // Crossbow of Enchantment
|
|
case 5 : sSRWeapon = "NW_WBWMSH007"; break; // Lilting Note
|
|
case 6 : sSRWeapon = "NW_WBWMSL007"; break; // Charming Sling
|
|
case 7 : sSRWeapon = "NW_WBWMXL004"; break; // Crossbow of the High Forest
|
|
case 8 : sSRWeapon = "NW_WBWMXH007"; break; // Glorious Revolution
|
|
case 9 : sSRWeapon = "NW_WBWMLN006"; break; // Longarm
|
|
case 10 : sSRWeapon = "WBWMSH005"; break; // Tansheron's Bow
|
|
case 11 : sSRWeapon = "NW_WBWMSL008"; break; // Tempertupin's Ever-Thrower
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sSRWeapon = "NW_WBWMSL006"; break; // Sling of Force
|
|
case 2 : sSRWeapon = "NW_WBWMLN005"; break; // Ripper
|
|
case 3 : sSRWeapon = "NW_WBWMXL006"; break; // Crossbow of the Unicorn
|
|
case 4 : sSRWeapon = "NW_WBWMXH006"; break; // Graceblood Bow
|
|
case 5 : sSRWeapon = "NW_WBWMSH004"; break; // Phantom Bow
|
|
case 6 : sSRWeapon = "NW_WBWMSL004"; break; // Sling of Avereen
|
|
case 7 : sSRWeapon = "NW_WBWMLN003"; break; // Taralash
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sSRWeapon, oCreateOn, 1);
|
|
}
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
////////////////////CREATE ARMOR////////////////////////////////////////
|
|
void CreateArmor (object oCreateOn, int nTClass) //
|
|
{ //
|
|
object oCreateOn = oCreateOn;
|
|
int nRandom = Random(5) + 1; //
|
|
switch (nRandom) //
|
|
{ //
|
|
case 1: CreateLightArmor(oCreateOn, nTClass); break; //
|
|
case 2: CreateMediumArmor(oCreateOn, nTClass); break; //
|
|
case 3: CreateHeavyArmor(oCreateOn, nTClass); break; //
|
|
case 4: CreateRobes(oCreateOn, nTClass); break; //
|
|
case 5: CreateShield(oCreateOn, nTClass); break;
|
|
}
|
|
} //
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void CreateLightArmor (object oCreateOn, int nTClass)
|
|
{
|
|
int nRandom = 1;
|
|
string sArmor = "";
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(4) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL047"; break; // Hide Armor +1
|
|
case 2 : sArmor = "NW_MAARCL044"; break; // Leather Armor +1
|
|
case 3 : sArmor = "NW_MAARCL043"; break; // Padded Armor +1
|
|
case 4 : sArmor = "NW_MAARCL045"; break; // Studded Leather +1
|
|
}
|
|
// remove CreateItemOnObject(sArmor, oCreateOn, 1);
|
|
break;
|
|
case 2:
|
|
nRandom = Random(10) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL070"; break; // Hide Armor +2
|
|
case 2 : sArmor = "NW_MAARCL071"; break; // Leather Armor +2
|
|
case 3 : sArmor = "NW_MAARCL072"; break; // Padded Armor +2
|
|
case 4 : sArmor = "NW_MAARCL075"; break; // Studded Leather +2
|
|
case 5 : sArmor = "NW_MAARCL011"; break; // Armor of Loyalty
|
|
case 6 : sArmor = "NW_MAARCL013"; break; // Armor of Thorns
|
|
case 7 : sArmor = "NW_MAARCL082"; break; // Hide Armor +3
|
|
case 8 : sArmor = "NW_MAARCL083"; break; // Leather Armor +3
|
|
case 9 : sArmor = "NW_MAARCL084"; break; // Padded Armor +3
|
|
case 10 : sArmor = "NW_MAARCL087"; break; // Studded Leather +1
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(13) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL006"; break; // Aurumvorax Armor
|
|
case 2 : sArmor = "NW_MAARCL032"; break; // Benzo's Luck
|
|
case 3 : sArmor = "NW_MAARCL013"; break; // Callurdan Smoothhand's Armor
|
|
case 4 : sArmor = "NW_MAARCL007"; break; // The Great Oak
|
|
case 5 : sArmor = "NW_MAARCL003"; break; // Armor of the Stars
|
|
case 6 : sArmor = "NW_MAARCL001"; break; // Armor of the Wolf
|
|
case 7 : sArmor = "NW_MAARCL034"; break; // Rogue Links
|
|
case 8 : sArmor = "NW_MAARCL005"; break; // Shadow Legion Armor
|
|
case 9 : sArmor = "NW_MAARCL002"; break; // Mirrored Armor
|
|
case 10 : sArmor = "NW_IT_NOVEL003"; break; // Storm Armor
|
|
case 11 : sArmor = "NW_MCLOTH005"; break; // Aslyferund Elven Chain
|
|
case 12 : sArmor = "NW_MAARCL033"; break; // Greenleaf
|
|
case 13 : sArmor = "NW_MAARCL008"; break; // Squire's Defense
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(3) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL010"; break; // Kumakawa
|
|
case 2 : sArmor = "NW_MAARCL004"; break; // Armor of Fleetness
|
|
case 3 : sArmor = "NW_MAARCL009"; break; // Black Flame Armor
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sArmor, oCreateOn, 1);
|
|
}
|
|
///////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
void CreateMediumArmor(object oCreateOn, int nTClass)
|
|
{
|
|
int nRandom = 1;
|
|
string sArmor = "";
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(4) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL049"; break; // Breastplate +1
|
|
case 2 : sArmor = "NW_MAARCL046"; break; // Chain Shirt +1
|
|
case 3 : sArmor = "NW_MAARCL035"; break; // Chainmail +1
|
|
case 4 : sArmor = "NW_MAARCL048"; break; // Scale Mail +1
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(9) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL065"; break; // Breastplate +2
|
|
case 2 : sArmor = "NW_MAARCL067"; break; // Chain Shirt +2
|
|
case 3 : sArmor = "NW_MAARCL066"; break; // Chainmail +2
|
|
case 4 : sArmor = "NW_MAARCL073"; break; // Scale Mail +2
|
|
case 5 : sArmor = "NW_MAARCL077"; break; // Breastplate +3
|
|
case 6 : sArmor = "NW_MAARCL079"; break; // hain Shirt +3
|
|
case 7 : sArmor = "NW_MAARCL078"; break; // Chainmail +3
|
|
case 8 : sArmor = "NW_MAARCL058"; break; // Chromatic Breastplate +1
|
|
case 9 : sArmor = "NW_MAARCL085"; break; // Scale Mail +3
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL036"; break; // Doron's Mistake
|
|
case 2 : sArmor = "NW_MAARCL037"; break; // Elven Chainmailc
|
|
case 3 : sArmor = "NW_MAARCL040"; break; // Adamantine Breastplate
|
|
case 4 : sArmor = "NW_MAARCL016"; break; // Armor of Horus Re
|
|
case 5 : sArmor = "NW_MAARCL017"; break; // Broewende Family Armor
|
|
case 6 : sArmor = "NW_MAARCL061"; break; // Chromatic Breastplate +3
|
|
case 7 : sArmor = "NW_MAARCL039"; break; // Chainmail of Speed
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(2) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL014"; break; // Armor of Command
|
|
case 2 : sArmor = "NW_MAARCL015"; break; // Dragon Armor
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sArmor, oCreateOn, 1);
|
|
}
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////
|
|
void CreateHeavyArmor(object oCreateOn, int nTClass)
|
|
{
|
|
int nRandom = 1;
|
|
string sArmor = "";
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(4) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL051"; break; // Banded Mail +1
|
|
case 2 : sArmor = "NW_MAARCL050"; break; // Splint Mail +1
|
|
case 3 : sArmor = "NW_MAARCL052"; break; // Half Plate +1
|
|
case 4 : sArmor = "NW_MAARCL053"; break; // Full Plate +1
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(14) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL064"; break; // anded Mail +2
|
|
case 2 : sArmor = "NW_MAARCL074"; break; // Splint Mail +2
|
|
case 3 : sArmor = "NW_MAARCL068"; break; // Full Plate +2
|
|
case 4 : sArmor = "NW_MAARCL069"; break; // Half Plate +2
|
|
case 5 : sArmor = "NW_MAARCL059"; break; // Scales of Truth +1
|
|
case 6 : sArmor = "NW_MAARCL060"; break; // Whitebone Armor
|
|
case 7 : sArmor = "NW_MAARCL021"; break; // Armor of Comfort
|
|
case 8 : sArmor = "NW_MAARCL026"; break; // Gnomish Magnetic Armor
|
|
case 9 : sArmor = "NW_MAARCL076"; break; // Banded Mail +3
|
|
case 10 : sArmor = "NW_MAARCL029"; break; // Enkidu's Armor
|
|
case 11 : sArmor = "NW_MAARCL080"; break; // Full Plate +3
|
|
case 12 : sArmor = "NW_MAARCL081"; break; // Half Plate +3
|
|
case 13 : sArmor = "NW_MAARCL020"; break; // Rainbow Armor
|
|
case 14 : sArmor = "NW_MAARCL086"; break; // Splint Mail +3
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(10) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL042"; break; // Copper Dragon Armor
|
|
case 2 : sArmor = "NW_MAARCL041"; break; // Mithral Splint Mail
|
|
case 3 : sArmor = "NW_MAARCL018"; break; // White Dragon Armor
|
|
case 4 : sArmor = "NW_MAARCL024"; break; // Delver's Armor
|
|
case 5 : sArmor = "NW_MAARCL022"; break; // Elven Ceremonial Armor
|
|
case 6 : sArmor = "NW_MAARCL062"; break; // Scales of Truth +3
|
|
case 7 : sArmor = "NW_MAARCL028"; break; // Blue Dragon Armor
|
|
case 8 : sArmor = "NW_MAARCL063"; break; // Silverbone Armor +2
|
|
case 9 : sArmor = "NW_MAARCL027"; break; // Red Dragon Armor
|
|
case 10 : sArmor = "NW_MAARCL054"; break; // Armor of Freedom
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(3) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MAARCL027"; break; // Red Dragon Armor
|
|
case 2 : sArmor = "NW_MAARCL054"; break; // Armor of Freedom
|
|
case 3 : sArmor = "NW_MAARCL025"; break; // Balduran's Armor
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sArmor, oCreateOn, 1);
|
|
}
|
|
/////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////
|
|
void CreateRobes(object oCreateOn, int nTClass)
|
|
{
|
|
int nRandom = 1;
|
|
string sArmor = "";
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MCLOTH012"; break; // Conjurer's Robe
|
|
case 2 : sArmor = "NW_MCLOTH007"; break; // Robe of Acid Resistance
|
|
case 3 : sArmor = "NW_MCLOTH008"; break; // Robe of Cold Resistance
|
|
case 4 : sArmor = "NW_MCLOTH010"; break; // Robe of Electrical Resistance
|
|
case 5 : sArmor = "NW_MCLOTH009"; break; // Robe of Fire Resistance
|
|
case 6 : sArmor = "NW_MCLOTH006"; break; // Robe of Light
|
|
case 7 : sArmor = "NW_MCLOTH018"; break; // Robes of the Shining Hand +1
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(7) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MCLOTH013"; break; // Mage's Battle Robe
|
|
case 2 : sArmor = "NW_MCLOTH019"; break; // Robes of the Shining Hand +2
|
|
case 3 : sArmor = "robeofscintillat"; break; // Robe of Scintillating Colors
|
|
case 4 : sArmor = "NW_MCLOTH011"; break; // Adventurer's Robe
|
|
case 5 : sArmor = "robeofblending"; break; // Robe of Blending
|
|
case 6 : sArmor = "NW_MCLOTH015"; break; // Robes of the Old Order
|
|
case 7 : sArmor = "NW_MCLOTH020"; break; // Robes of the Shining Hand +3
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom = Random(6) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MCLOTH017"; break; // Robes of the Dark Moon
|
|
case 2 : sArmor = "NW_MCLOTH021"; break; // Robes of the Shining Hand +4
|
|
case 3 : sArmor = "NW_MCLOTH014"; break; // Greater Battle Robe
|
|
case 4 : sArmor = "NW_MCLOTH022"; break; // Robes of the Shining Hand +5
|
|
case 5 : sArmor = "NW_MCLOTH012"; break; // Master Adventurer's Robe
|
|
case 6 : sArmor = "robeofeyes"; break; // Robe of Eyes
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom = Random(5) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_MCLOTH001"; break; // Robe of Vecna
|
|
case 2 : sArmor = "NW_MCLOTH004"; break; // Black Robe of the Archmagi
|
|
case 3 : sArmor = "NW_MCLOTH003"; break; // Grey Robe of the Archmagi
|
|
case 4 : sArmor = "NW_MCLOTH002"; break; // White Robe of the Archmagi
|
|
case 5 : sArmor = "NW_MCLOTH016"; break; // Improved Robes of the Old Order
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject(sArmor, oCreateOn, 1);
|
|
}
|
|
////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////
|
|
void CreateShield(object oCreateOn, int nTClass)
|
|
{
|
|
string sArmor = "";int nRandom = 1;
|
|
switch (nTClass)
|
|
{
|
|
case 1:
|
|
nRandom = Random(5);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_ASHMLW002"; break; // Large Shield +1
|
|
case 2 : sArmor = "nw_ashmsw011"; break; // Shield of the Watch
|
|
case 3 : sArmor = "NW_ASHMSW002"; break; // Small Shield +1
|
|
case 4 : sArmor = "NW_ASHMTO002"; break; // Tower Shield +1
|
|
case 5 : sArmor = "nw_ashmsw010"; break; // Shield of Dawn;
|
|
} //
|
|
break;
|
|
case 2:
|
|
nRandom = Random(13);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "NW_ASHMLW008"; break; // Large Shield +2
|
|
case 2 : sArmor = "NW_ASHMSW008"; break; // Small Shield +2
|
|
case 3 : sArmor = "NW_ASHMTO008"; break; // Tower Shield +2
|
|
case 4 : sArmor = "NW_ASHMTO003"; break; // masakari Shield
|
|
case 5 : sArmor = "NW_ASHMSW006"; break; // Shield of the Wisp Hunter
|
|
case 6 : sArmor = "NW_ASHMLW009"; break; // Large Shield +3
|
|
case 7 : sArmor = "NW_ASHMSW009"; break; // Small Shield +3
|
|
case 8 : sArmor = "NW_ASHMTO009"; break; // Tower Shield +3
|
|
case 9 : sArmor = "NW_ASHMSW005"; break; // Dwarven Mirth
|
|
case 10 : sArmor = "NW_ASHMTO005"; break; // Goblin Shield of Nulbish
|
|
case 11 : sArmor = "NW_ASHMTO007"; break; // Darksteel Tower Shield
|
|
case 12 : sArmor = "nw_ashmto010"; break; // Greater Shield of Dawn
|
|
case 13 : sArmor = "NW_ASHMSW004"; break; // Hearth Shield
|
|
} //
|
|
break;
|
|
case 3:
|
|
nRandom= Random(5);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "largeshield4"; break; // Large Shield +4
|
|
case 2 : sArmor = "smallshield4"; break; // Small Shield +4
|
|
case 3 : sArmor = "towershield4"; break; // Tower Shield +4
|
|
case 4 : sArmor = "NW_ASHMLW006"; break; //Dragon Shield
|
|
case 5 : sArmor = "nw_ashmto011"; break; // Greater Shield of the Watch
|
|
} //
|
|
break;
|
|
case 4:
|
|
nRandom= Random(11);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sArmor = "largeshield5"; break; // Large Shield +5
|
|
case 2 : sArmor = "NW_ASHMLW005"; break; // Mirror Shield
|
|
case 3 : sArmor = "NW_ASHMSW003"; break; // Protector
|
|
case 4 : sArmor = "NW_ASHMLW004"; break; // Shield of the Sun
|
|
case 5 : sArmor = "smallshield5"; break; // Small Shield +5
|
|
case 6 : sArmor = "NW_ASHMLW007"; break; // Uthgardt Holy Shield
|
|
case 7 : sArmor = "NW_ASHMTO006"; break; // Hastsezini's Shield
|
|
case 8 : sArmor = "NW_ASHMLW003"; break; // Shield of the Holy
|
|
case 9 : sArmor = "towershield5"; break; // Tower Shield +5
|
|
case 10 : sArmor = "NW_ASHMTO004"; break; // Shield of the Dragonslayer
|
|
case 11 : sArmor = "NW_ASHMSW007"; break; // Mithral Shield
|
|
} //
|
|
break;
|
|
}
|
|
CreateItemOnObject (sArmor, oCreateOn, 1);
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
|
|
|
|
void CreateGem(object oCreateOn, int nCR)
|
|
{
|
|
int nLootOdds = Random (100);
|
|
string sGem = ""; int nGemClass = Random(80) + nCR; int nRandom = 1;
|
|
if (nGemClass < 25)
|
|
{
|
|
nRandom = d3();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sGem = "NW_IT_GEM001"; break; // Greenstone 7 gp
|
|
case 2: sGem = "NW_IT_GEM007"; break; // Malachite 8 gp
|
|
case 3: sGem = "NW_IT_GEM002"; break; // Fire Agate 10 gp
|
|
}
|
|
}
|
|
else if (nGemClass < 50)
|
|
{
|
|
nRandom = d4();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sGem = "NW_IT_GEM014"; break; // Aventurine 20
|
|
case 2: sGem = "NW_IT_GEM004"; break; // Phenalope 20
|
|
case 3: sGem = "NW_IT_GEM003"; break; // Amethyst 40
|
|
case 4: sGem = "NW_IT_GEM015"; break; // Fluorspar 50
|
|
}
|
|
}
|
|
else if (nGemClass < 70)
|
|
{
|
|
nRandom = d2();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sGem = "NW_IT_GEM011"; break; // Garnet 120
|
|
case 2: sGem = "NW_IT_GEM013"; break; // Alexandrite 145
|
|
}
|
|
}
|
|
else if (nGemClass < 90)
|
|
{
|
|
nRandom = 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sGem = "NW_IT_GEM010"; break; // Topaz 250
|
|
}
|
|
}
|
|
else if (nGemClass < 99)
|
|
{
|
|
nRandom = d2();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sGem = "NW_IT_GEM008"; break; // Sapphire 1000
|
|
case 2: sGem = "NW_IT_GEM009"; break; // Fire Opal 1500
|
|
}
|
|
}
|
|
else
|
|
{
|
|
nRandom = d3();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sGem = "NW_IT_GEM005"; break; // Diamond 2000
|
|
case 2: sGem = "NW_IT_GEM006"; break; // Ruby 3000
|
|
case 3: sGem = "NW_IT_GEM012"; break; // Emerald 4000
|
|
}
|
|
}
|
|
CreateItemOnObject (sGem, oCreateOn, 1);
|
|
}
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
void CreateNMClothing (object oCreateOn)
|
|
{
|
|
string sItem; int nRandom = Random(28);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sItem = "NW_CLOTH027"; break; // Adept's Tunic
|
|
case 2 : sItem = "NW_CLOTH001"; break; // Woodsman's Outfit
|
|
case 3 : sItem = "NW_CLOTH017"; break; // Assassin's Garb
|
|
case 4 : sItem = "NW_CLOTH015"; break; // Barbarian's Outfit
|
|
case 5 : sItem = "NW_CLOTH021"; break; // Bard's Tunic
|
|
case 6 : sItem = "NW_CLOTH022"; break; // Commoner's Outfit
|
|
case 7 : sItem = "NW_CLOTH024"; break; // Commoner's Tunic
|
|
case 8 : sItem = "NW_CLOTH012"; break; // Conjurer's Robe
|
|
case 9 : sItem = "NW_CLOTH011"; break; // Gladiator's Outfit
|
|
case 10 : sItem = "NW_CLOTH020"; break; // Ilusionist's Robe
|
|
case 11 : sItem = "NW_CLOTH014"; break; // Jester's Outfit
|
|
case 12 : sItem = "NW_CLOTH016"; break; // Monk's Outfit
|
|
case 13 : sItem = "NW_CLOTH026"; break; // Necromancer's Robe
|
|
case 14 : sItem = "NW_CLOTH018"; break; // Noble Guardsman Tunic
|
|
case 15 : sItem = "NW_CLOTH003"; break; // Noble Outfit
|
|
case 16 : sItem = "NW_CLOTH028"; break; // Noble's Tunic
|
|
case 17 : sItem = "NW_CLOTH010"; break; // Paladin's Tunic
|
|
case 18 : sItem = "NW_CLOTH002"; break; // Performer's Outfit
|
|
case 19 : sItem = "NW_CLOTH007"; break; // Priest's Robe
|
|
case 20 : sItem = "NW_CLOTH004"; break; // Rogue's Tunic
|
|
case 21 : sItem = "NW_CLOTH019"; break; // Soldier's Tunic
|
|
case 22 : sItem = "NW_CLOTH008"; break; // Sorcerer's Robe
|
|
case 23 : sItem = "NW_CLOTH013"; break; // Squire's Tunic
|
|
case 24 : sItem = "NW_CLOTH009"; break; // Urchin Rags
|
|
case 25 : sItem = "NW_CLOTH023"; break; // Vagabond Rags
|
|
case 26 : sItem = "NW_CLOTH006"; break; // Veteran's Outfit
|
|
case 27 : sItem = "NW_CLOTH025"; break; // Warrior's Tunic
|
|
case 28 : sItem = "NW_CLOTH005"; break; // Wizard's Robe
|
|
}
|
|
CreateItemOnObject (sItem, oCreateOn, 1);
|
|
}
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
void CreateNMArmor (object oCreateOn)
|
|
{
|
|
string sItem; int nRandom = Random(28);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sItem = "NW_AARCL011"; break; // Banded Mail
|
|
case 2 : sItem = "NW_AARCL010"; break; // Breastplate
|
|
case 3 : sItem = "NW_AARCL012"; break; // Chain Shirt
|
|
case 4 : sItem = "NW_AARCL004"; break; // Chainmail
|
|
case 5 : sItem = "NW_AARCL007"; break; // Full Plate
|
|
case 6 : sItem = "NW_AARCL006"; break; // Half Plate
|
|
case 7 : sItem = "NW_AARCL008"; break; // Hide Armor
|
|
case 8 : sItem = "NW_AARCL001"; break; // Leather Armor
|
|
case 9 : sItem = "NW_AARCL009"; break; // Padded Armor
|
|
case 10 : sItem = "NW_AARCL003"; break; // Scale Mail
|
|
case 11 : sItem = "NW_AARCL005"; break; // Splint Mail
|
|
case 12 : sItem = "NW_AARCL002"; break; // Studded Leather Armor
|
|
case 13 : sItem = "NW_ASHLW001"; break; // Large Shield
|
|
case 14 : sItem = "NW_ASHSW001"; break; // Small Shield
|
|
case 15 : sItem = "NW_ASHTO001"; break; // Tower Shield
|
|
case 16 : sItem = "NW_ARHE004"; break; // Horse Hair Helmet
|
|
case 17 : sItem = "NW_ARHE001"; break; // Pot Helmet
|
|
case 18 : sItem = "NW_ARHE002"; break; // Spike Helmet
|
|
case 19 : sItem = "NW_ARHE005"; break; // Stag Helmet
|
|
case 20 : sItem = "NW_ARHE003"; break; // Winged Helmet
|
|
}
|
|
CreateItemOnObject (sItem, oCreateOn, 1);
|
|
}
|
|
////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
void CreateNMWeapon (object oCreateOn)
|
|
{
|
|
string sItem; int nRandom = Random(33);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sItem = "NW_WSWBS001"; break; // Bastard Sword
|
|
case 2 : sItem = "NW_WAXBT001"; break; // Battleaxe
|
|
case 3 : sItem = "NW_WBLCL001"; break; // Club
|
|
case 4 : sItem = "NW_WSWDG001"; break; // Dagger
|
|
case 5 : sItem = "NW_WDBMA001"; break; // Dire Mace
|
|
case 6 : sItem = "NW_WDBAX001"; break; // Double Axe
|
|
case 7 : sItem = "NW_WAXGR001"; break; // Greataxe
|
|
case 8 : sItem = "NW_WSWGS001"; break; // Greatsword
|
|
case 9 : sItem = "NW_WPLHB001"; break; // Halberd
|
|
case 10 : sItem = "NW_WAXHN001"; break; // Handaxe
|
|
case 11 : sItem = "NW_WBLFH001"; break; // Heavy Flail
|
|
case 12 : sItem = "NW_WSPKA001"; break; // Kama
|
|
case 13 : sItem = "NW_WSWKA001"; break; // Katana
|
|
case 14 : sItem = "NW_WSPKU001"; break; // Kukri
|
|
case 15 : sItem = "NW_WBLFL001"; break; // Light Flail
|
|
case 16 : sItem = "NW_WBLHL001"; break; // Light Hammer
|
|
case 17 : sItem = "NW_WSWLS001"; break; // Longsword
|
|
case 18 : sItem = "NW_WBLML001"; break; // Mace
|
|
case 19 : sItem = "NW_WBLMS001"; break; // Morningstar
|
|
case 20 : sItem = "NW_WDBQS001"; break; // Quarterstaff
|
|
case 21 : sItem = "NW_WSWRP001"; break; // Rapier
|
|
case 22 : sItem = "NW_WSWSC001"; break; // Scimitar
|
|
case 23 : sItem = "NW_WPLSC001"; break; // Scythe
|
|
case 24 : sItem = "NW_WSWSS001"; break; // Short Sword
|
|
case 25 : sItem = "NW_WSPSC001"; break; // Sickle
|
|
case 26 : sItem = "NW_WPLSS001"; break; // Spear
|
|
case 27 : sItem = "NW_WDBSW001"; break; // Two Bladed Sword
|
|
case 28 : sItem = "NW_WBLHW001"; break; // War Hammer
|
|
case 29 : sItem = "NW_WBWXH001"; break; // Heavy Crossbow
|
|
case 30 : sItem = "NW_WBWXL001"; break; // Light Crossbow
|
|
case 31 : sItem = "NW_WBWLN001"; break; // Longbow
|
|
case 32 : sItem = "NW_WBWSH001"; break; // Shortbow
|
|
case 33 : sItem = "NW_WBWSL001"; break; // Sling
|
|
}
|
|
CreateItemOnObject (sItem, oCreateOn, 1);
|
|
}
|
|
///////////////////////////////////////////////////////////////////////////
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
void CreateNMAmmo (object oCreateOn)
|
|
{
|
|
string sItem = ""; int nRandom = (6);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sItem = "NW_WAMAR001"; break; // Arrow
|
|
case 2 : sItem = "NW_WAMBO001"; break; // Bolt
|
|
case 3 : sItem = "NW_WAMBU001"; break; // Bullet
|
|
case 4 : sItem = "NW_WTHDT001"; break; // Dart
|
|
case 5 : sItem = "NW_WTHSH001"; break; // Shuriken
|
|
case 6 : sItem = "NW_WTHAX001"; break; // Throwing Axe
|
|
}
|
|
CreateItemOnObject (sItem, oCreateOn, d6(6));
|
|
}
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
void CreateJunk (object oCreateOn)
|
|
{
|
|
string sItem = ""; int nRandom = (17);
|
|
switch (nRandom)
|
|
{
|
|
case 1 : sItem = "NW_IT_MSMLMISC16"; break; // Adamantine
|
|
case 2 : sItem = "NW_IT_MPOTION021"; break; // Ale
|
|
case 3 : sItem = "NW_IT_MSMLMISC23"; break; // Belladonna
|
|
case 4 : sItem = "NW_IT_THNMISC002"; break; // Empty Ale Stein
|
|
case 5 : sItem = "NW_IT_THNMISC001"; break; // Empty Bottle
|
|
case 6 : sItem = "NW_IT_THNMISC003"; break; // Empty Spirits Bottle
|
|
case 7 : sItem = "NW_IT_THNMISC004"; break; // Empty Wine Bottle
|
|
case 8 : sItem = "NW_IT_MSMLMISC24"; break; // Garlic
|
|
case 9 : sItem = "NW_IT_MSMLMISC18"; break; // Ironwood
|
|
case 10 : sItem = "NW_IT_CONTAIN001"; break; // Large Box
|
|
case 11 : sItem = "NW_IT_MSMLMISC11"; break; // Quartz Crystal
|
|
case 12 : sItem = "NW_IT_MSMLMISC21"; break; // Rags
|
|
case 13 : sItem = "NW_IT_MPOTION022"; break; // Spirits
|
|
case 14 : sItem = "NW_IT_MSMLMISC22"; break; // Top
|
|
case 15 : sItem = "NW_IT_TORCH001"; break; // Torch
|
|
case 16 : sItem = "NW_IT_MPOTION023"; break; // Wine
|
|
case 17 : sItem = "windwalkerstale"; break; // Windwalker's Tale
|
|
}
|
|
CreateItemOnObject (sItem, oCreateOn, 1);
|
|
}
|
|
|
|
/////CREATE A BOOK ////////////////////////////////////////
|
|
////////This section is copied directly out of ////////////////////
|
|
////////////nw_o2_coinclude by Bioware///////////////////////////////
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
void CreateBook(object oCreateOn) //
|
|
{ //
|
|
int nBook1 = Random(31) + 1; //
|
|
string sRes = "NW_IT_BOOK01"; //
|
|
//
|
|
if (nBook1 < 10) //
|
|
{ //
|
|
sRes = "NW_IT_BOOK00" + IntToString(nBook1); //
|
|
} //
|
|
else //
|
|
{ //
|
|
sRes = "NW_IT_BOOK0" + IntToString(nBook1); //
|
|
} //
|
|
CreateItemOnObject(sRes, oCreateOn); //
|
|
} //
|
|
////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
/////////Generate a Kit (Healing, Trap or Lockpick///////////////////
|
|
/////////Copied from nw_o2_coinclude by BioWare////////////////////////
|
|
///////////////////////////////////////////////////////////////////////
|
|
//////////////DETERMINE WHAT KIT TO MAKE/////////////////
|
|
void GenerateKit(object oCreateOn, int nCR)
|
|
{
|
|
switch (Random(8) + 1)
|
|
{
|
|
case 1: CreateTrapKit(oCreateOn, nCR); break;
|
|
case 2: case 3: case 4: case 5: CreateHealingKit(oCreateOn, nCR); break;
|
|
case 6: case 7: case 8: CreateLockPick(oCreateOn, nCR); break;
|
|
}
|
|
}
|
|
|
|
/////////////CREATE TRAP KIT////////////////////////////////
|
|
void CreateTrapKit(object oCreateOn, int nCR)
|
|
{
|
|
string sKit = ""; int nRandom = 1;
|
|
int nRange = nCR / 4 + 1;
|
|
switch (nRange)
|
|
{
|
|
case 1:
|
|
nRandom = Random(11);
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_trap033"; break; // Minor Acid Splash
|
|
case 2: sKit = "nw_it_trap013"; break; // Minor Blob of Acid
|
|
case 3: sKit = "nw_it_trap021"; break; // Minor Electrical
|
|
case 4: sKit = "nw_it_trap017"; break; // Minor Fire
|
|
case 5: sKit = "nw_it_trap029"; break; // Minor Frost
|
|
case 6: sKit = "nw_it_trap025"; break; // Minor Gas
|
|
case 7: sKit = "nw_it_trap005"; break; // Minor Holy
|
|
case 8: sKit = "nw_it_trap041"; break; // Minor Negative
|
|
case 9: sKit = "nw_it_trap037"; break; // Minor Sonic
|
|
case 10: sKit = "nw_it_trap001"; break; // Minor Spike
|
|
case 11: sKit = "nw_it_trap009"; break;// Minor Tangle Trap
|
|
}
|
|
break;
|
|
case 2:
|
|
nRandom = Random(11) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_trap034"; break; // Average Traps (same order)
|
|
case 2: sKit = "nw_it_trap014"; break;
|
|
case 3: sKit = "nw_it_trap022"; break;
|
|
case 4: sKit = "nw_it_trap018"; break;
|
|
case 5: sKit = "nw_it_trap030"; break;
|
|
case 6: sKit = "nw_it_trap026"; break;
|
|
case 7: sKit = "nw_it_trap006"; break;
|
|
case 8: sKit = "nw_it_trap042"; break;
|
|
case 9: sKit = "nw_it_trap038"; break;
|
|
case 10: sKit = "nw_it_trap002"; break;
|
|
case 11: sKit = "nw_it_trap010"; break;
|
|
}
|
|
break;
|
|
case 3:
|
|
nRandom = Random(11) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_trap035"; break; // Strong Traps (same order)
|
|
case 2: sKit = "nw_it_trap015"; break;
|
|
case 3: sKit = "nw_it_trap023"; break;
|
|
case 4: sKit = "nw_it_trap019"; break;
|
|
case 5: sKit = "nw_it_trap031"; break;
|
|
case 6: sKit = "nw_it_trap027"; break;
|
|
case 7: sKit = "nw_it_trap007"; break;
|
|
case 8: sKit = "nw_it_trap043"; break;
|
|
case 9: sKit = "nw_it_trap039"; break;
|
|
case 10: sKit = "nw_it_trap003"; break;
|
|
case 11: sKit = "nw_it_trap011"; break;
|
|
}
|
|
break;
|
|
default:
|
|
nRandom = Random(11) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_trap036"; break; // Deadly Traps (same order)
|
|
case 2: sKit = "nw_it_trap016"; break;
|
|
case 3: sKit = "nw_it_trap024"; break;
|
|
case 4: sKit = "nw_it_trap020"; break;
|
|
case 5: sKit = "nw_it_trap032"; break;
|
|
case 6: sKit = "nw_it_trap028"; break;
|
|
case 7: sKit = "nw_it_trap008"; break;
|
|
case 8: sKit = "nw_it_trap044"; break;
|
|
case 9: sKit = "nw_it_trap040"; break;
|
|
case 10: sKit = "nw_it_trap004"; break;
|
|
case 11: sKit = "nw_it_trap012"; break;
|
|
}
|
|
break;
|
|
}
|
|
CreateItemOnObject(sKit, oCreateOn, 1);
|
|
}
|
|
|
|
///////////////////CREATE A HEALING KIT/////////////////////////
|
|
void CreateHealingKit(object oCreateOn, int nCR)
|
|
{
|
|
string sKit = ""; int nRandom = 1;
|
|
int nRange = nCR / 4 + 1;
|
|
switch (nRange)
|
|
{
|
|
case 1:
|
|
nRandom = Random(1) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_medkit001"; break;
|
|
}
|
|
break;
|
|
case 2:
|
|
nRandom = Random(2) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_medkit001"; break;
|
|
case 2: sKit = "nw_it_medkit002"; break;
|
|
}
|
|
break;
|
|
case 3:
|
|
nRandom = Random(2) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_medkit002"; break;
|
|
case 2: sKit = "nw_it_medkit003"; break;
|
|
}
|
|
break;
|
|
default:
|
|
nRandom = Random(2) + 1;
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_medkit003";break;
|
|
case 2: sKit = "nw_it_medkit004"; break;
|
|
}
|
|
break;
|
|
}
|
|
CreateItemOnObject(sKit, oCreateOn, 1);
|
|
}
|
|
/////////////////CREATE A LOCKPICK///////////////////////////
|
|
void CreateLockPick(object oCreateOn, int nCR)
|
|
{
|
|
string sKit = "";int nRandom = 1;
|
|
int nRange = nCR / 4 + 1;
|
|
switch (nRange)
|
|
{
|
|
case 1:
|
|
nRandom = d3();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_picks001"; break; //+1 Lockpicks
|
|
case 2: sKit = "nw_it_picks002"; break; //+3 Lockpicks
|
|
case 3: sKit = "nw_it_picks001"; break; //+1 Lockpicks
|
|
}
|
|
break;
|
|
case 2:
|
|
nRandom = d4();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_picks001"; break; //+1 Lockpicks
|
|
case 2: sKit = "nw_it_picks002"; break; //+3 Lockpick
|
|
case 3: sKit = "nw_it_picks002"; break; //+3 Lockpick
|
|
case 4: sKit = "nw_it_picks003"; break; //+6 Lockpicks
|
|
}
|
|
break;
|
|
case 3:
|
|
nRandom = d6();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_picks001"; break; //+1 Lockpick
|
|
case 2: sKit = "nw_it_picks002"; break; //+3 Lockpick
|
|
case 3: sKit = "nw_it_picks002"; break; //+3 Lockpick
|
|
case 4: sKit = "nw_it_picks003"; break; //+6 Lockpicks
|
|
case 5: sKit = "nw_it_picks003"; break; //+6 Lockpicks
|
|
case 6: sKit = "nw_it_picks004"; break; //+10 Lockpicks
|
|
}
|
|
break;
|
|
default:
|
|
nRandom = d6();
|
|
switch (nRandom)
|
|
{
|
|
case 1: sKit = "nw_it_picks002"; break; //+3 Lockpick
|
|
case 2: sKit = "nw_it_picks002"; break; //+3 Lockpick
|
|
case 3: sKit = "nw_it_picks003"; break; //+6 Lockpicks
|
|
case 4: sKit = "nw_it_picks003"; break; //+6 Lockpicks
|
|
case 5: sKit = "nw_it_picks004"; break; //+10 Lockpicks
|
|
case 6: sKit = "nw_it_picks004"; break; //+10 Lockpicks
|
|
}
|
|
break;
|
|
}
|
|
CreateItemOnObject(sKit, oCreateOn, 1);
|
|
}
|
|
|
|
//void main() {} //Used for compiling to test program. Should be commented out for use.
|