Aschbourne_PRC8/_module/nss/_gen_treasure.nss

148 lines
4.0 KiB
Plaintext
Raw Permalink Normal View History

2024-06-14 10:48:20 -04:00
void CreateGem(object oContainer, int iModifyCategory);
//void main()
//{
//}
void CreateGem(object oContainer, int iModifyCategory)
{
string sGemResRef = "";
int iRoll = 0;
int iGemBaseValue = 0;
switch (iModifyCategory)
{
case 1:
{
iRoll = d20(4)+20;
break;
}
case 2:
{
iRoll = d20(3)+40;
break;
}
case 3:
{
iRoll = d20(2)+60;
break;
}
default:
{
iRoll = d100(1);
break;
}
}
if (iRoll ==100) iGemBaseValue = 6;
if (iRoll < 100) iGemBaseValue = 5;
if (iRoll < 91) iGemBaseValue = 4;
if (iRoll < 71) iGemBaseValue = 3;
if (iRoll < 51) iGemBaseValue = 2;
if (iRoll < 26) iGemBaseValue = 1;
switch (iGemBaseValue)
{
case 6:
{
switch (Random(5))
{
case 0:{sGemResRef = "blacksapphire";break;}
case 1:{sGemResRef = "diamond";break;}
case 2:{sGemResRef = "jacinth";break;}
case 3:{sGemResRef = "orientalemerald";break;}
default:{sGemResRef = "ruby";break;}
}
break;
}
case 5:
{
switch (Random(8))
{
case 0:{sGemResRef = "blackopal";break;}
case 1:{sGemResRef = "emerald";break;}
case 2:{sGemResRef = "fireopal";break;}
case 3:{sGemResRef = "opal";break;}
case 4:{sGemResRef = "orientalamethyst";break;}
case 5:{sGemResRef = "orientaltopaz";break;}
case 6:{sGemResRef = "sapphire";break;}
case 7:{sGemResRef = "starruby";break;}
default:{sGemResRef = "starsapphire";break;}
}
break;
}
case 4:
{
switch (Random(6))
{
case 0:{sGemResRef = "aquamarine";break;}
case 1:{sGemResRef = "garnetviolet";break;} //??
case 2:{sGemResRef = "blackpearl";break;} //??
case 3:{sGemResRef = "peridot";break;}
case 4:{sGemResRef = "bluespinel";break;} //??
default:{sGemResRef = "toapz";break;}
}
break;
}
case 3:
{
switch (Random(11))
{
case 0:{sGemResRef = "amber";break;}
case 1:{sGemResRef = "alexandrite";break;}
case 2:{sGemResRef = "amethyst";break;}
case 3:{sGemResRef = "chrysoberyl";break;}
case 4:{sGemResRef = "coral";break;}
case 5:{sGemResRef = "garnetsmall";break;} //??
case 6:{sGemResRef = "jade";break;}
case 7:{sGemResRef = "jet";break;}
case 8:{sGemResRef = "whitepearl";break;} //??
case 9:{sGemResRef = "spinel";break;} //??
default:{sGemResRef = "tourmaline";break;}
}
break;
}
case 2:
{
switch (Random(13))
{
case 0:{sGemResRef = "bloodstone";break;}
case 1:{sGemResRef = "carnelian";break;}
case 2:{sGemResRef = "chalcedony";break;}
case 3:{sGemResRef = "chrysoprase";break;}
case 4:{sGemResRef = "citrine";break;}
case 5:{sGemResRef = "jasper";break;}
case 6:{sGemResRef = "moonstone";break;}
case 7:{sGemResRef = "onyx";break;}
case 8:{sGemResRef = "rockcrystal";break;}
case 9:{sGemResRef = "sardonyx";break;}
case 10:{sGemResRef = "smokyquartz";break;}
case 11:{sGemResRef = "starrosequartz";break;}
default:{sGemResRef = "zircon";break;}
}
break;
}
default:
{
switch (d12(1))
{
case 0:{sGemResRef = "azurite";break;}
case 1:{sGemResRef = "bandedagate";break;}
case 2:{sGemResRef = "bluequartz";break;}
case 3:{sGemResRef = "eyeagate";break;}
case 4:{sGemResRef = "hematite";break;}
case 5:{sGemResRef = "lapislazuli";break;}
case 6:{sGemResRef = "malachite";break;}
case 7:{sGemResRef = "mossagate";break;}
case 8:{sGemResRef = "obsidian";break;}
case 9:{sGemResRef = "rhodochrosite";break;}
case 10:{sGemResRef = "tigereye";break;}
default:{sGemResRef = "turquoise";break;}
}
break;
}
}
CreateItemOnObject(sGemResRef,oContainer,1);
}