WoR_PRC8/_module/nss/treasure_huk.nss

105 lines
5.1 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 11:49:34 -04:00
// Treasure Chest
#include "NW_O2_CONINCLUDE"
void main()
{
object oItem = OBJECT_INVALID;
// Clear all contents of the <span class="highlight">chest</span>
oItem = GetFirstItemInInventory();
while ( oItem != OBJECT_INVALID )
{
//Make sure people don't stuff <span class="highlight">chest</span> with plot items and break it
SetPlotFlag(oItem, FALSE);
DestroyObject( oItem, 0.0 );
oItem = GetNextItemInInventory();
}
// Set respawntime float to the number of seconds.
float respawntime = 600.00;
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
GenerateLowTreasure(oLastOpener, OBJECT_SELF);
GenerateLowTreasure(oLastOpener, OBJECT_SELF);
{int nRandom = d8(1);
int nTreasureType = 1;
if (nRandom == 1){
CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 3905);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
else if (nRandom == 2){
CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 7350);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
else if (nRandom == 3){
CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 11038);
GenerateLowTreasure(oLastOpener, OBJECT_SELF);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
else if (nRandom == 4){
CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 15080);
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
else if (nRandom == 5){
CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 18745);
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
GenerateLowTreasure(oLastOpener, OBJECT_SELF);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
else if (nRandom == 6){
CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 22370);
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
else if (nRandom == 7){
CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 26045);
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
GenerateMediumTreasure(oLastOpener, OBJECT_SELF);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
else if (nRandom == 8){
CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 38680);
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
GenerateHighTreasure(oLastOpener, OBJECT_SELF);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}}
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed();
// Command added to delay the <span class="highlight">respawn</span>
AssignCommand( OBJECT_SELF, DelayCommand (respawntime, SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",0) ) );
}