Initial commit
Initial commit. Updated release archive.
This commit is contained in:
786
_module/nss/en5_getmobtreas.nss
Normal file
786
_module/nss/en5_getmobtreas.nss
Normal file
@@ -0,0 +1,786 @@
|
||||
#include "en5_misc"
|
||||
#include "en5_treasure"
|
||||
|
||||
void CreateMiscHealingKit(object oTarget, int iItemLevel);
|
||||
void CreateMiscPotion(object oTarget, int iItemLevel);
|
||||
void CreateMiscJewel(object oTarget, int iItemLevel);
|
||||
void CreateMiscGem(object oTarget, int iItemLevel);
|
||||
void CreateMiscProjectile(object oTarget,int iLevel);
|
||||
void GiveSpecialItems();
|
||||
void CreateAmmo(object oTarget, int iItemLevel);
|
||||
|
||||
void main()
|
||||
{
|
||||
object oMob;
|
||||
int iItemLevel;
|
||||
int iRandom;
|
||||
int iRacialType;
|
||||
int iLevel;
|
||||
int iBoss;
|
||||
int iGoldHigh;
|
||||
int iGoldMedium;
|
||||
int iGoldLow;
|
||||
int iHealingKit;
|
||||
int iPotion;
|
||||
int iGem;
|
||||
int iJewel;
|
||||
int iProjectile;
|
||||
int iMagic;
|
||||
int iAmmo;
|
||||
int iItems;
|
||||
int iMagicLevel;
|
||||
|
||||
oMob=OBJECT_SELF;
|
||||
iLevel=GetLocalInt(oMob,"EN5_iLevel");
|
||||
iBoss=GetLocalInt(oMob,"EN5_iBoss");
|
||||
iItemLevel=GetItemLevel(iLevel);
|
||||
iRacialType=GetRacialType(oMob);
|
||||
|
||||
iGoldHigh=0;
|
||||
iGoldMedium=0;
|
||||
iGoldLow=0;
|
||||
iHealingKit=0;
|
||||
iPotion=0;
|
||||
iGem=0;
|
||||
iJewel=0;
|
||||
iProjectile=0;
|
||||
iMagic=0;
|
||||
iAmmo=0;
|
||||
iItems=0;
|
||||
|
||||
if (iRacialType == RACIAL_TYPE_UNDEAD || iRacialType == RACIAL_TYPE_SHAPECHANGER)
|
||||
{
|
||||
iItems=1;
|
||||
if (iBoss==3)
|
||||
{
|
||||
iGoldHigh=0;
|
||||
iGoldMedium=0;
|
||||
iGoldLow=0;
|
||||
iHealingKit=0;
|
||||
iPotion=20;
|
||||
iGem=50;
|
||||
iJewel=25;
|
||||
iProjectile=0;
|
||||
iMagic=100;
|
||||
iAmmo=1;
|
||||
}
|
||||
else if (iBoss==1 || iBoss==2)
|
||||
{
|
||||
iGoldHigh=0;
|
||||
iGoldMedium=0;
|
||||
iGoldLow=0;
|
||||
iHealingKit=0;
|
||||
iPotion=10;
|
||||
iGem=40;
|
||||
iJewel=15;
|
||||
iProjectile=0;
|
||||
iMagic=iLevel/10+10;
|
||||
iAmmo=1;
|
||||
}
|
||||
else if (iBoss==0)
|
||||
{
|
||||
iGoldHigh=0;
|
||||
iGoldMedium=0;
|
||||
iGoldLow=0;
|
||||
iHealingKit=0;
|
||||
iPotion=5;
|
||||
iGem=20;
|
||||
iJewel=10;
|
||||
iProjectile=0;
|
||||
iMagic=iLevel/10;
|
||||
if (iLevel>4 && iMagic==0)
|
||||
iMagic=1;
|
||||
iAmmo=1;
|
||||
}
|
||||
}
|
||||
|
||||
if (iRacialType == RACIAL_TYPE_DRAGON)
|
||||
{
|
||||
iItems=1;
|
||||
if (iBoss==3)
|
||||
{
|
||||
iGoldHigh=90;
|
||||
iGoldMedium=10;
|
||||
iGoldLow=1;
|
||||
iHealingKit=0;
|
||||
iPotion=20;
|
||||
iGem=50;
|
||||
iJewel=50;
|
||||
iProjectile=0;
|
||||
iMagic=100;
|
||||
}
|
||||
else if (iBoss==1 || iBoss==2)
|
||||
{
|
||||
iGoldHigh=50;
|
||||
iGoldMedium=30;
|
||||
iGoldLow=20;
|
||||
iHealingKit=0;
|
||||
iPotion=10;
|
||||
iGem=25;
|
||||
iJewel=25;
|
||||
iProjectile=0;
|
||||
iMagic=iLevel/10+10;
|
||||
}
|
||||
else if (iBoss==0)
|
||||
{
|
||||
iGoldHigh=20;
|
||||
iGoldMedium=30;
|
||||
iGoldLow=50;
|
||||
iHealingKit=0;
|
||||
iPotion=5;
|
||||
iGem=15;
|
||||
iJewel=15;
|
||||
iProjectile=0;
|
||||
iMagic=iLevel/10;
|
||||
if (iLevel>4 && iMagic==0)
|
||||
iMagic=1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (iRacialType == RACIAL_TYPE_OUTSIDER)
|
||||
{
|
||||
iItems=1;
|
||||
if (iBoss==3)
|
||||
{
|
||||
iGoldHigh=90;
|
||||
iGoldMedium=10;
|
||||
iGoldLow=1;
|
||||
iHealingKit=0;
|
||||
iPotion=20;
|
||||
iGem=50;
|
||||
iJewel=50;
|
||||
iProjectile=0;
|
||||
iMagic=100;
|
||||
}
|
||||
else if (iBoss==1 || iBoss==2)
|
||||
{
|
||||
iGoldHigh=50;
|
||||
iGoldMedium=30;
|
||||
iGoldLow=20;
|
||||
iHealingKit=0;
|
||||
iPotion=10;
|
||||
iGem=25;
|
||||
iJewel=25;
|
||||
iProjectile=0;
|
||||
iMagic=iLevel/10+10;
|
||||
}
|
||||
else if (iBoss==0)
|
||||
{
|
||||
iGoldHigh=10;
|
||||
iGoldMedium=10;
|
||||
iGoldLow=10;
|
||||
iHealingKit=0;
|
||||
iPotion=5;
|
||||
iGem=25;
|
||||
iJewel=10;
|
||||
iProjectile=0;
|
||||
iMagic=iLevel/10;
|
||||
if (iLevel>4 && iMagic==0)
|
||||
iMagic=1;
|
||||
}
|
||||
}
|
||||
|
||||
if (iRacialType == RACIAL_TYPE_DWARF ||
|
||||
iRacialType ==RACIAL_TYPE_ELF || iRacialType == RACIAL_TYPE_FEY ||
|
||||
iRacialType ==RACIAL_TYPE_GIANT || iRacialType == RACIAL_TYPE_GNOME ||
|
||||
iRacialType == RACIAL_TYPE_HALFELF || iRacialType == RACIAL_TYPE_HALFLING ||
|
||||
iRacialType == RACIAL_TYPE_HALFORC || iRacialType == RACIAL_TYPE_HUMAN ||
|
||||
iRacialType == RACIAL_TYPE_HUMANOID_GOBLINOID || iRacialType == RACIAL_TYPE_HUMANOID_MONSTROUS ||
|
||||
iRacialType == RACIAL_TYPE_HUMANOID_ORC || iRacialType == RACIAL_TYPE_HUMANOID_REPTILIAN)
|
||||
{
|
||||
iItems=1;
|
||||
if (iBoss==3)
|
||||
{
|
||||
iGoldHigh=65;
|
||||
iGoldMedium=35;
|
||||
iGoldLow=1;
|
||||
iHealingKit=10;
|
||||
iPotion=15;
|
||||
iGem=15;
|
||||
iJewel=10;
|
||||
iProjectile=4;
|
||||
iMagic=100;
|
||||
iAmmo=5;
|
||||
}
|
||||
else if (iBoss==1 || iBoss==2)
|
||||
{
|
||||
iGoldHigh=15;
|
||||
iGoldMedium=30;
|
||||
iGoldLow=50;
|
||||
iHealingKit=5;
|
||||
iPotion=10;
|
||||
iGem=10;
|
||||
iJewel=10;
|
||||
iProjectile=3;
|
||||
iMagic=iLevel/10+10;
|
||||
iAmmo=3;
|
||||
}
|
||||
else if (iBoss==0)
|
||||
{
|
||||
iGoldHigh=5;
|
||||
iGoldMedium=15;
|
||||
iGoldLow=40;
|
||||
iHealingKit=2;
|
||||
iPotion=5;
|
||||
iGem=3;
|
||||
iJewel=1;
|
||||
iProjectile=1;
|
||||
iMagic=iLevel/10;
|
||||
iAmmo=1;
|
||||
if (iLevel>4 && iMagic==0)
|
||||
iMagic=1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (iItems==1)
|
||||
{
|
||||
iMagicLevel = GetLocalInt(GetModule(),"MagicLevel");
|
||||
if (iMagicLevel == 1)
|
||||
{
|
||||
iPotion=iPotion+2;
|
||||
iGoldHigh=iGoldHigh+2;
|
||||
if (iBoss==1 || iBoss==2)
|
||||
iMagic=iMagic + iMagic/2;
|
||||
if (iBoss==0 && iLevel>20)
|
||||
iMagic=iMagic+1;
|
||||
}
|
||||
if (iMagicLevel == 2)
|
||||
{
|
||||
iPotion=iPotion+3;
|
||||
iGoldHigh=iGoldHigh+5;
|
||||
iAmmo=iAmmo+1;
|
||||
|
||||
if (iBoss==1 || iBoss==2)
|
||||
iMagic=iMagic *2;
|
||||
if (iBoss==0 && iLevel>5)
|
||||
iMagic=iMagic+1;
|
||||
}
|
||||
if (iMagicLevel == 3)
|
||||
{
|
||||
iPotion=iPotion+4;
|
||||
iGoldHigh=iGoldHigh+8;
|
||||
iAmmo=iAmmo+2;
|
||||
|
||||
if (iBoss==1 || iBoss==2)
|
||||
iMagic=iMagic * 3;
|
||||
if (iBoss==0 && iLevel<21)
|
||||
iMagic=iMagic+1;
|
||||
if (iBoss==0 && iLevel>20)
|
||||
iMagic=iMagic+2;
|
||||
}
|
||||
}
|
||||
|
||||
iRandom=Random(100);
|
||||
if (iRandom<iGoldHigh)
|
||||
{
|
||||
if (iLevel<16)
|
||||
CreateItemOnObject("NW_IT_GOLD001", oMob,Random(50*iLevel)+1);
|
||||
else
|
||||
CreateItemOnObject("NW_IT_GOLD001", oMob,Random(25*(iLevel-15) + 750)+1);
|
||||
}
|
||||
else if (iRandom< (iGoldHigh + iGoldMedium))
|
||||
{
|
||||
if (iLevel<16)
|
||||
CreateItemOnObject("NW_IT_GOLD001", oMob,Random(30*iLevel)+1);
|
||||
else
|
||||
CreateItemOnObject("NW_IT_GOLD001", oMob,Random(15*(iLevel-15) + 450)+1);
|
||||
}
|
||||
else if (iRandom< (iGoldHigh + iGoldMedium + iGoldLow))
|
||||
{
|
||||
if (iLevel<16)
|
||||
CreateItemOnObject("NW_IT_GOLD001", oMob,Random(15*iLevel)+1);
|
||||
else
|
||||
CreateItemOnObject("NW_IT_GOLD001", oMob,Random(5*(iLevel-15) + 225)+1);
|
||||
}
|
||||
|
||||
if (Random(100)<iHealingKit)
|
||||
CreateMiscHealingKit(oMob,iItemLevel);
|
||||
if (Random(100)<iPotion)
|
||||
CreateMiscPotion(oMob,iItemLevel);
|
||||
if (Random(100)<iGem)
|
||||
CreateMiscGem(OBJECT_SELF,iItemLevel);
|
||||
if (Random(100)<iJewel)
|
||||
CreateMiscJewel(OBJECT_SELF,iItemLevel);
|
||||
if (Random(100)<iProjectile)
|
||||
CreateMiscProjectile(OBJECT_SELF,iItemLevel);
|
||||
if (Random(100)<iAmmo)
|
||||
CreateAmmo(OBJECT_SELF,iItemLevel);
|
||||
|
||||
iItemLevel = GetItemLevel(GetHitDice(oMob));
|
||||
iRandom=Random(100);
|
||||
|
||||
while (iItemLevel>0)
|
||||
{
|
||||
if (iRandom<iMagic)
|
||||
{
|
||||
GetMagicItem(oMob,iItemLevel);
|
||||
iItemLevel=0;
|
||||
} else {
|
||||
iItemLevel--;
|
||||
iRandom--;
|
||||
}
|
||||
}
|
||||
/*
|
||||
if (Random(100)<iMagic)
|
||||
DelayCommand(2.0f,ExecuteScript("en5_createitem",oMob));
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void CreateMiscHealingKit(object oTarget, int iItemLevel)
|
||||
{
|
||||
string sKit = "";
|
||||
if (iItemLevel==1) // 200
|
||||
{
|
||||
int nRandom = Random(1) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sKit = "nw_it_medkit001"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==2) // 800
|
||||
{
|
||||
int nRandom = Random(2) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sKit = "nw_it_medkit001"; break;
|
||||
case 2: sKit = "nw_it_medkit002"; break;
|
||||
}
|
||||
|
||||
}
|
||||
else if (iItemLevel==3) // 200 - 2500
|
||||
{
|
||||
int nRandom = Random(2) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sKit = "nw_it_medkit002"; break;
|
||||
case 2: sKit = "nw_it_medkit003"; break;
|
||||
}
|
||||
|
||||
}
|
||||
else if (iItemLevel==4) // 800 - 10000
|
||||
{
|
||||
int nRandom = Random(2) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sKit = "nw_it_medkit003";break;
|
||||
case 2: sKit = "nw_it_medkit004"; break;
|
||||
}
|
||||
|
||||
}
|
||||
else if (iItemLevel==5) // 2000 -16500
|
||||
{
|
||||
int nRandom = Random(2) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sKit = "nw_it_medkit003"; break;
|
||||
case 2: sKit = "nw_it_medkit004";break;
|
||||
}
|
||||
|
||||
}
|
||||
else if (iItemLevel==6) // 2000 - ?
|
||||
{
|
||||
int nRandom = Random(2) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sKit = "nw_it_medkit003"; break;
|
||||
case 2: sKit = "nw_it_medkit004";break;
|
||||
}
|
||||
|
||||
}
|
||||
//dbSpeak("Create Healing Kit");
|
||||
|
||||
CreateItemOnObject(sKit, oTarget, 1);
|
||||
|
||||
}
|
||||
|
||||
void CreateMiscPotion(object oTarget, int iItemLevel)
|
||||
{
|
||||
string sPotion = "";
|
||||
|
||||
if (iItemLevel==1)
|
||||
{
|
||||
int nRandom = d10();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: case 2: case 3: case 4: sPotion = "nw_it_mpotion001"; break;
|
||||
case 5: case 6: case 7: sPotion = "nw_it_mpotion020"; break;
|
||||
case 8: sPotion = "nw_it_mpotion002"; break;
|
||||
case 9: sPotion = "nw_it_mpotion009"; break;
|
||||
case 10: sPotion = "nw_it_mpotion005"; break;
|
||||
}
|
||||
|
||||
}
|
||||
else if (iItemLevel==2)
|
||||
{
|
||||
int nRandom = Random(30) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: case 2: case 3: sPotion = "nw_it_mpotion001"; break;
|
||||
case 4: case 5: case 6: case 7: case 8: sPotion = "nw_it_mpotion020"; break;
|
||||
case 9: case 10: case 11: case 12: sPotion = "nw_it_mpotion002"; break;
|
||||
case 13: case 14: sPotion = "nw_it_mpotion003"; break;
|
||||
case 15: sPotion = "nw_it_mpotion009"; break;
|
||||
case 16: sPotion = "nw_it_mpotion005"; break;
|
||||
case 17: sPotion = "nw_it_mpotion007"; break;
|
||||
case 18: sPotion = "nw_it_mpotion008"; break;
|
||||
case 19: sPotion = "nw_it_mpotion010"; break;
|
||||
case 20: sPotion = "nw_it_mpotion011"; break;
|
||||
case 21: sPotion = "nw_it_mpotion013"; break;
|
||||
case 22: sPotion = "nw_it_mpotion014"; break;
|
||||
case 23: sPotion = "nw_it_mpotion015"; break;
|
||||
case 24: sPotion = "nw_it_mpotion016"; break;
|
||||
case 25: sPotion = "nw_it_mpotion017"; break;
|
||||
case 26: sPotion = "nw_it_mpotion018"; break;
|
||||
case 27: sPotion = "nw_it_mpotion019"; break;
|
||||
case 28: sPotion = "nw_it_mpotion004"; break;
|
||||
case 29: sPotion = "nw_it_mpotion006"; break;
|
||||
case 30: sPotion = "en5_drpotion"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==3)
|
||||
{
|
||||
int nRandom = Random(30) + 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: sPotion = "nw_it_mpotion003"; break;
|
||||
case 15: sPotion = "nw_it_mpotion009"; break;
|
||||
case 16: sPotion = "nw_it_mpotion005"; break;
|
||||
case 17: sPotion = "nw_it_mpotion007"; break;
|
||||
case 18: sPotion = "nw_it_mpotion008"; break;
|
||||
case 19: sPotion = "nw_it_mpotion010"; break;
|
||||
case 20: sPotion = "nw_it_mpotion011"; break;
|
||||
case 21: sPotion = "nw_it_mpotion013"; break;
|
||||
case 22: sPotion = "nw_it_mpotion014"; break;
|
||||
case 23: sPotion = "nw_it_mpotion015"; break;
|
||||
case 24: sPotion = "nw_it_mpotion016"; break;
|
||||
case 25: sPotion = "nw_it_mpotion017"; break;
|
||||
case 26: sPotion = "nw_it_mpotion018"; break;
|
||||
case 27: sPotion = "nw_it_mpotion019"; break;
|
||||
case 28: sPotion = "nw_it_mpotion004"; break;
|
||||
case 29: sPotion = "nw_it_mpotion006"; break;
|
||||
case 30: sPotion = "en5_drpotion"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==4)
|
||||
{
|
||||
int nRandom = Random(30) + 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: sPotion = "nw_it_mpotion003"; break;
|
||||
case 13: case 14: sPotion = "nw_it_mpotion003"; break;
|
||||
case 15: sPotion = "nw_it_mpotion009"; break;
|
||||
case 16: sPotion = "nw_it_mpotion005"; break;
|
||||
case 17: sPotion = "nw_it_mpotion007"; break;
|
||||
case 18: sPotion = "nw_it_mpotion008"; break;
|
||||
case 19: sPotion = "nw_it_mpotion010"; break;
|
||||
case 20: sPotion = "nw_it_mpotion011"; break;
|
||||
case 21: sPotion = "nw_it_mpotion013"; break;
|
||||
case 22: sPotion = "nw_it_mpotion014"; break;
|
||||
case 23: sPotion = "nw_it_mpotion015"; break;
|
||||
case 24: sPotion = "nw_it_mpotion016"; break;
|
||||
case 25: sPotion = "nw_it_mpotion017"; break;
|
||||
case 26: sPotion = "nw_it_mpotion018"; break;
|
||||
case 27: sPotion = "nw_it_mpotion019"; break;
|
||||
case 28: sPotion = "nw_it_mpotion004"; break;
|
||||
case 29: sPotion = "nw_it_mpotion006"; break;
|
||||
case 30: sPotion = "en5_drpotion"; break;
|
||||
}
|
||||
}
|
||||
else // keep 5 and 6 the same
|
||||
{
|
||||
int nRandom = Random(30) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8:
|
||||
case 9: sPotion = "nw_it_mpotion003" ;
|
||||
case 10: case 11: case 12: case 13: case 14: sPotion = "nw_it_mpotion003"; break;
|
||||
case 15: sPotion = "nw_it_mpotion009"; break;
|
||||
case 16: sPotion = "nw_it_mpotion005"; break;
|
||||
case 17: sPotion = "nw_it_mpotion007"; break;
|
||||
case 18: sPotion = "nw_it_mpotion008"; break;
|
||||
case 19: sPotion = "nw_it_mpotion010"; break;
|
||||
case 20: sPotion = "nw_it_mpotion011"; break;
|
||||
case 21: sPotion = "nw_it_mpotion013"; break;
|
||||
case 22: sPotion = "nw_it_mpotion014"; break;
|
||||
case 23: sPotion = "nw_it_mpotion015"; break;
|
||||
case 24: sPotion = "nw_it_mpotion016"; break;
|
||||
case 25: sPotion = "nw_it_mpotion017"; break;
|
||||
case 26: sPotion = "nw_it_mpotion018"; break;
|
||||
case 27: sPotion = "nw_it_mpotion019"; break;
|
||||
case 28: sPotion = "nw_it_mpotion004"; break;
|
||||
case 29: sPotion = "nw_it_mpotion006"; break;
|
||||
case 30: sPotion = "en5_drpotion"; break;
|
||||
}
|
||||
}
|
||||
CreateItemOnObject(sPotion, oTarget, 1);
|
||||
}
|
||||
|
||||
|
||||
void CreateMiscGem(object oTarget, int iItemLevel)
|
||||
{
|
||||
string sGem = "nw_it_gem001";
|
||||
if (iItemLevel==1)
|
||||
{
|
||||
int nRandom = Random(9) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sGem = "nw_it_gem001"; break;
|
||||
case 2: sGem = "nw_it_gem007"; break;
|
||||
case 3: sGem = "nw_it_gem002"; break;
|
||||
case 4: case 5: sGem = "nw_it_gem004"; break;
|
||||
case 6: case 7: sGem = "nw_it_gem014"; break;
|
||||
case 8: sGem = "nw_it_gem003"; break;
|
||||
case 9: sGem = "nw_it_gem015"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==2) // 30 GP Avg; 150 gp Max
|
||||
{
|
||||
int nRandom = d12();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sGem = "nw_it_gem001"; break;
|
||||
case 2: sGem = "nw_it_gem007"; break;
|
||||
case 3: sGem = "nw_it_gem002"; break;
|
||||
case 4: sGem = "nw_it_gem004"; break;
|
||||
case 5: case 6: sGem = "nw_it_gem014"; break;
|
||||
case 7: case 8: sGem = "nw_it_gem003"; break;
|
||||
case 9: case 10: sGem = "nw_it_gem015"; break;
|
||||
case 11: sGem = "nw_it_gem011"; break;
|
||||
case 12: sGem = "nw_it_gem013"; break;
|
||||
}
|
||||
|
||||
}
|
||||
else if (iItemLevel==3) // 75GP Avg; 500 gp max
|
||||
{
|
||||
int nRandom = d2();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sGem = "nw_it_gem013"; break;
|
||||
case 2: sGem = "nw_it_gem010"; break;
|
||||
}
|
||||
|
||||
}
|
||||
else if (iItemLevel==4) // 150 gp avg; 1000 gp max
|
||||
{
|
||||
int nRandom = d3();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sGem = "nw_it_gem013"; break;
|
||||
case 2: sGem = "nw_it_gem010"; break;
|
||||
case 3: sGem = "nw_it_gem008"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==5) // 300 gp avg; any
|
||||
{
|
||||
int nRandom = d6();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sGem = "nw_it_gem013"; break;
|
||||
case 2: sGem = "nw_it_gem010"; break;
|
||||
case 3: case 4: sGem = "nw_it_gem008"; break;
|
||||
case 5: sGem = "nw_it_gem009"; break;
|
||||
case 6: sGem = "nw_it_gem009"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==6)// * Anything higher than level 15 500 gp avg; any
|
||||
{
|
||||
int nRandom = Random(8) + 1;
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sGem = "nw_it_gem013"; break;
|
||||
case 2: sGem = "nw_it_gem010"; break;
|
||||
case 3: case 4: sGem = "nw_it_gem008"; break;
|
||||
case 5: sGem = "nw_it_gem009"; break;
|
||||
case 6: sGem = "nw_it_gem009"; break;
|
||||
case 7: sGem = "nw_it_gem006"; break;
|
||||
case 8: sGem = "nw_it_gem012"; break;
|
||||
}
|
||||
}
|
||||
//dbSpeak("Create Gem");
|
||||
CreateItemOnObject(sGem, oTarget, 1);
|
||||
}
|
||||
void CreateMiscJewel(object oTarget, int iItemLevel)
|
||||
{
|
||||
string sJewel = "";
|
||||
|
||||
if (iItemLevel==1) // 15 gp avg; 75 gp max
|
||||
{
|
||||
int nRandom = d2();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sJewel = "nw_it_mring021"; break;
|
||||
case 2: sJewel = "nw_it_mneck020"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==2) // 30 GP Avg; 150 gp Max
|
||||
{
|
||||
int nRandom = d6();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sJewel = "nw_it_mring021"; break;
|
||||
case 2: case 3: sJewel = "nw_it_mneck020"; break;
|
||||
case 4: sJewel = "nw_it_mring022"; break;
|
||||
case 5: case 6: sJewel = "nw_it_mneck023"; break; }
|
||||
}
|
||||
else if (iItemLevel==3) // 75GP Avg; 500 gp max
|
||||
{
|
||||
int nRandom = d6();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sJewel = "nw_it_mring021"; break;
|
||||
case 2: case 3: sJewel = "nw_it_mneck020"; break;
|
||||
case 4: case 5: sJewel = "nw_it_mring022"; break;
|
||||
case 6: sJewel = "nw_it_mneck021"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==4) // 150 gp avg; 1000 gp max
|
||||
{
|
||||
int nRandom = d6();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sJewel = "nw_it_mring021"; break;
|
||||
case 2: sJewel = "nw_it_mring022"; break;
|
||||
case 3: case 4: case 5: sJewel = "nw_it_mneck021"; break;
|
||||
case 6: sJewel = "nw_it_mring023"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==5) // 300 gp avg; any
|
||||
{
|
||||
int nRandom = d8();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sJewel = "nw_it_mring022"; break;
|
||||
case 2: case 3: sJewel = "nw_it_mneck021"; break;
|
||||
case 4: case 5: case 6: sJewel = "nw_it_mring023"; break;
|
||||
case 7: case 8: sJewel = "nw_it_mneck022"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==6)
|
||||
{
|
||||
int nRandom = d6();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sJewel = "nw_it_mring022"; break;
|
||||
case 2: sJewel = "nw_it_mneck021"; break;
|
||||
case 3: case 4: sJewel = "nw_it_mring023"; break;
|
||||
case 5: case 6: sJewel = "nw_it_mneck022"; break;
|
||||
}
|
||||
}
|
||||
//dbSpeak("Create Jewel");
|
||||
|
||||
CreateItemOnObject(sJewel, oTarget, 1);
|
||||
|
||||
}
|
||||
|
||||
void CreateMiscProjectile(object oTarget,int iLevel)
|
||||
{
|
||||
int iRandom;
|
||||
string sTag;
|
||||
|
||||
if (iLevel > 2 && Random(5)==0)
|
||||
{
|
||||
if (Random(2)==0)
|
||||
sTag="x2_it_acidbomb";
|
||||
else
|
||||
sTag="x2_it_firebomb";
|
||||
CreateItemOnObject(sTag, oTarget, 1);
|
||||
} else {
|
||||
sTag="X1_WMGRENADE00" + IntToString(Random(7)+1);
|
||||
CreateItemOnObject(sTag, oTarget, Random(4)+1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void CreateAmmo(object oTarget, int iItemLevel)
|
||||
{
|
||||
string sAmmo = "";
|
||||
|
||||
if (iItemLevel==1) // * 200 gp max
|
||||
{
|
||||
int nRandom = d3();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sAmmo = "nw_wamar001"; break;
|
||||
case 2: sAmmo = "nw_wambo001"; break;
|
||||
case 3: sAmmo = "nw_wambu001"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==2) // * 800 gp max
|
||||
{
|
||||
int nRandom = d6();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sAmmo = "nw_wamar001"; break;
|
||||
case 2: sAmmo = "nw_wambo001"; break;
|
||||
case 3: sAmmo = "nw_wambu001"; break;
|
||||
case 4: sAmmo = "nw_wammar001"; break;
|
||||
case 5: sAmmo = "nw_wammbo001"; break;
|
||||
case 6: sAmmo = "nw_wammbo002"; break;
|
||||
}
|
||||
}
|
||||
else if (iItemLevel==3) // * - 2500 gp
|
||||
{
|
||||
int nRandom = d20();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sAmmo = "nw_wamar001"; break;
|
||||
case 2: sAmmo = "nw_wambo001"; break;
|
||||
case 3: sAmmo = "nw_wambu001"; break;
|
||||
case 4: sAmmo = "nw_wammar001"; break;
|
||||
case 5: sAmmo = "nw_wammbo001"; break;
|
||||
case 6: sAmmo = "nw_wammbo002"; break;
|
||||
case 7: sAmmo = "nw_wammbo003"; break;
|
||||
case 8: sAmmo = "nw_wammbu002"; break;
|
||||
case 9: sAmmo = "nw_wammar002"; break;
|
||||
case 10: sAmmo = "nw_wammar001"; break;
|
||||
case 11: sAmmo = "nw_wammar003"; break;
|
||||
case 12: sAmmo = "nw_wammar004"; break;
|
||||
case 13: sAmmo = "nw_wammar005"; break;
|
||||
case 14: sAmmo = "nw_wammar006"; break;
|
||||
case 15: sAmmo = "nw_wammbo004"; break;
|
||||
case 16: sAmmo = "nw_wammbo005"; break;
|
||||
case 17: sAmmo = "nw_wammbu004"; break;
|
||||
case 18: sAmmo = "nw_wammbu005"; break;
|
||||
case 19: sAmmo = "nw_wammbu006"; break;
|
||||
case 20: sAmmo = "nw_wammbu007"; break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int nRandom = d20();
|
||||
switch (nRandom)
|
||||
{
|
||||
case 1: sAmmo = "nw_wamar001"; break;
|
||||
case 2: sAmmo = "nw_wammbu001"; break;
|
||||
case 3: sAmmo = "nw_wammbu003"; break;
|
||||
case 4: sAmmo = "nw_wammar001"; break;
|
||||
case 5: sAmmo = "nw_wammbo001"; break;
|
||||
case 6: sAmmo = "nw_wammbo002"; break;
|
||||
case 7: sAmmo = "nw_wammbo003"; break;
|
||||
case 8: sAmmo = "nw_wammbu002"; break;
|
||||
case 9: sAmmo = "nw_wammar002"; break;
|
||||
case 10: sAmmo = "nw_wammar001"; break;
|
||||
case 11: sAmmo = "nw_wammar003"; break;
|
||||
case 12: sAmmo = "nw_wammar004"; break;
|
||||
case 13: sAmmo = "nw_wammar005"; break;
|
||||
case 14: sAmmo = "nw_wammar006"; break;
|
||||
case 15: sAmmo = "nw_wammbo004"; break;
|
||||
case 16: sAmmo = "nw_wammbo005"; break;
|
||||
case 17: sAmmo = "nw_wammbu004"; break;
|
||||
case 18: sAmmo = "nw_wammbu005"; break;
|
||||
case 19: sAmmo = "nw_wammbu006"; break;
|
||||
case 20: sAmmo = "nw_wammbu007"; break;
|
||||
}
|
||||
}
|
||||
//dbSpeak("ammo");
|
||||
CreateItemOnObject(sAmmo, oTarget, Random(20) + 5); // create up to 30 of the specified ammo type
|
||||
}
|
||||
Reference in New Issue
Block a user