generated from Jaysyn/ModuleTemplate
Initial commit
Initial commit
This commit is contained in:
322
_module/nss/eth_treasurevari.nss
Normal file
322
_module/nss/eth_treasurevari.nss
Normal file
@@ -0,0 +1,322 @@
|
||||
//::///////////////////////////////////////////////////
|
||||
//:: X0_O2_WEAPUNIQ.NSS
|
||||
//:: OnOpened/OnDeath script for a treasure container.
|
||||
//:: Treasure type: Any kind of weapon
|
||||
//:: Treasure level: TREASURE_TYPE_UNIQUE
|
||||
//::
|
||||
//:: Copyright (c) 2002 Floodgate Entertainment
|
||||
//:: Created By: Naomi Novik
|
||||
//:: Created On: 11/21/2002
|
||||
//::///////////////////////////////////////////////////
|
||||
|
||||
#include "x0_i0_treasure"
|
||||
|
||||
int iLocked =GetLocalInt(OBJECT_SELF, "iLocked");
|
||||
int iLockDC =GetLocalInt(OBJECT_SELF, "iLockDC");
|
||||
int iLockUnlockDC =GetLocalInt(OBJECT_SELF, "iLockUnlockDC");
|
||||
int iLockKeyRequired =GetLocalInt(OBJECT_SELF, "iLockKeyRequired");
|
||||
int iLockLockable=GetLocalInt(OBJECT_SELF, "iLockLockable");
|
||||
string sLockKeyTag =GetLocalString(OBJECT_SELF, "sLockKeyTag");
|
||||
|
||||
|
||||
int iIsTrapped = GetLocalInt(OBJECT_SELF, "iIsTrapped");
|
||||
int iTrapActive = GetLocalInt(OBJECT_SELF, "iTrapActive");
|
||||
int iTrapBaseType = GetLocalInt(OBJECT_SELF, "iTrapBaseType");
|
||||
int iTrapDetectable = GetLocalInt(OBJECT_SELF, "iTrapDetectable");
|
||||
int iTrapDetectDC = GetLocalInt(OBJECT_SELF, "iTrapDetectDC");
|
||||
int iTrapDisarmable = GetLocalInt(OBJECT_SELF, "iTrapDisarmable");
|
||||
int iTrapDisarmDC = GetLocalInt(OBJECT_SELF, "iTrapDisarmDC");
|
||||
string sTrapKeyTag = GetLocalString(OBJECT_SELF, "sTrapKeyTag");
|
||||
int iTrapOneShot = GetLocalInt(OBJECT_SELF, "iTrapOneShot");
|
||||
int iTrapRecoverable = GetLocalInt(OBJECT_SELF, "iTrapRecoverable");
|
||||
|
||||
int iTresLowArmor = GetLocalInt(OBJECT_SELF, "iTresLowArmor");
|
||||
int iTresLowClothing = GetLocalInt(OBJECT_SELF, "iTresLowClothing");
|
||||
int iTresLowWeapon = GetLocalInt(OBJECT_SELF, "iTresLowWeapon");
|
||||
int iTresLowWpnMelee = GetLocalInt(OBJECT_SELF, "iTresLowWpnMelee");
|
||||
int iTresLowWpnNoAmmo = GetLocalInt(OBJECT_SELF, "iTresLowWpnNoAmmo");
|
||||
int iTresLowWpnRanged = GetLocalInt(OBJECT_SELF, "iTresLowWpnRanged");
|
||||
|
||||
int iTresMedArmor = GetLocalInt(OBJECT_SELF, "iTresMedArmor");
|
||||
int iTresMedClothing = GetLocalInt(OBJECT_SELF, "iTresMedClothing");
|
||||
int iTresMedWeapon = GetLocalInt(OBJECT_SELF, "iTresMedWeapon");
|
||||
int iTresMedWpnMelee = GetLocalInt(OBJECT_SELF, "iTresMedWpnMelee");
|
||||
int iTresMedWpnNoAmmo = GetLocalInt(OBJECT_SELF, "iTresMedWpnNoAmmo");
|
||||
int iTresMedWpnRanged = GetLocalInt(OBJECT_SELF, "iTresMedWpnRanged");
|
||||
|
||||
int iTresHighArmor = GetLocalInt(OBJECT_SELF, "iTresHighArmor");
|
||||
int iTresHighClothing = GetLocalInt(OBJECT_SELF, "iTresHighClothing");
|
||||
int iTresHighWeapon = GetLocalInt(OBJECT_SELF, "iTresHighWeapon");
|
||||
int iTresHighWpnMelee = GetLocalInt(OBJECT_SELF, "iTresHighWpnMelee");
|
||||
int iTresHighWpnNoAmmo = GetLocalInt(OBJECT_SELF, "iTresHighWpnNoAmmo");
|
||||
int iTresHighWpnRanged = GetLocalInt(OBJECT_SELF, "iTresHighWpnRanged");
|
||||
|
||||
int iTresUniqArmor = GetLocalInt(OBJECT_SELF, "iTresUniqArmor");
|
||||
int iTresUniqClothing = GetLocalInt(OBJECT_SELF, "iTresUniqClothing");
|
||||
int iTresUniqWeapon = GetLocalInt(OBJECT_SELF, "iTresUniqWeapon");
|
||||
int iTresUniqWpnMelee = GetLocalInt(OBJECT_SELF, "iTresUniqWpnMelee");
|
||||
int iTresUniqWpnNoAmmo = GetLocalInt(OBJECT_SELF, "iTresUniqWpnNoAmmo");
|
||||
int iTresUniqWpnRanged = GetLocalInt(OBJECT_SELF, "iTresUniqWpnRanged");
|
||||
|
||||
|
||||
void ResetLockTrapInfo(object oObject)
|
||||
{
|
||||
SetLocked(oObject, iLocked);
|
||||
SetLockLockDC(oObject, iLockDC);
|
||||
SetLockUnlockDC(oObject, iLockUnlockDC);
|
||||
SetLockKeyRequired(oObject, iLockKeyRequired);
|
||||
SetLockKeyTag(oObject, sLockKeyTag);
|
||||
SetLockLockable(oObject, iLockLockable);
|
||||
|
||||
if (iIsTrapped = TRUE)CreateTrapOnObject(iTrapBaseType, oObject);
|
||||
SetTrapActive(oObject, iTrapActive);
|
||||
SetTrapDetectable(oObject, iTrapDetectable);
|
||||
SetTrapDetectDC(oObject, iTrapDetectDC);
|
||||
SetTrapDetectDC(oObject, iTrapDetectDC);
|
||||
SetTrapDisarmable(oObject, iTrapDisarmable);
|
||||
SetTrapDisarmDC(oObject, iTrapDisarmDC);
|
||||
SetTrapKeyTag(oObject, sTrapKeyTag);
|
||||
SetTrapOneShot(oObject, iTrapOneShot);
|
||||
SetTrapRecoverable(oObject, iTrapRecoverable);
|
||||
|
||||
SetLocalInt(oObject, "iTresLowArmor", iTresLowArmor);
|
||||
SetLocalInt(oObject, "iTresLowClothing", iTresLowClothing);
|
||||
SetLocalInt(oObject, "iTresLowWeapon", iTresLowWeapon);
|
||||
SetLocalInt(oObject, "iTresLowWpnMelee", iTresLowWpnMelee);
|
||||
SetLocalInt(oObject, "iTresLowWpnNoAmmo", iTresLowWpnNoAmmo);
|
||||
SetLocalInt(oObject, "iTresLowWpnRanged", iTresLowWpnRanged);
|
||||
|
||||
SetLocalInt(oObject, "iTresMedArmor", iTresMedArmor);
|
||||
SetLocalInt(oObject, "iTresMedClothing", iTresMedClothing);
|
||||
SetLocalInt(oObject, "iTresMedWeapon", iTresMedWeapon);
|
||||
SetLocalInt(oObject, "iTresMedWpnMelee", iTresMedWpnMelee);
|
||||
SetLocalInt(oObject, "iTresMedWpnNoAmmo", iTresMedWpnNoAmmo);
|
||||
SetLocalInt(oObject, "iTresMedWpnRanged", iTresMedWpnRanged);
|
||||
|
||||
SetLocalInt(oObject, "iTresHighArmor", iTresHighArmor);
|
||||
SetLocalInt(oObject, "iTresHighClothing", iTresHighClothing);
|
||||
SetLocalInt(oObject, "iTresHighWeapon", iTresHighWeapon);
|
||||
SetLocalInt(oObject, "iTresHighWpnMelee", iTresHighWpnMelee);
|
||||
SetLocalInt(oObject, "iTresHighWpnNoAmmo", iTresHighWpnNoAmmo);
|
||||
SetLocalInt(oObject, "iTresHighWpnRanged", iTresHighWpnRanged);
|
||||
|
||||
SetLocalInt(oObject, "iTresUniqArmor", iTresUniqArmor);
|
||||
SetLocalInt(oObject, "iTresUniqClothing", iTresUniqClothing);
|
||||
SetLocalInt(oObject, "iTresUniqWeapon", iTresUniqWeapon);
|
||||
SetLocalInt(oObject, "iTresUniqWpnMelee", iTresUniqWpnMelee);
|
||||
SetLocalInt(oObject, "iTresUniqWpnNoAmmo", iTresUniqWpnNoAmmo);
|
||||
SetLocalInt(oObject, "iTresUniqWpnRanged", iTresUniqWpnRanged);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void RespawnPLC(string sResRef, location lLocation, float fdelay)
|
||||
{
|
||||
object oObject = CreateObject(OBJECT_TYPE_PLACEABLE, sResRef, lLocation);
|
||||
ResetLockTrapInfo(oObject);
|
||||
ExecuteScript("ethsetuplocktrap", oObject);
|
||||
SetLocalFloat(oObject, "fRespawnRate", fdelay);
|
||||
return;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
object oObject = OBJECT_SELF;
|
||||
location lObject = GetLocation(OBJECT_SELF);
|
||||
string sResRefObject = GetResRef(OBJECT_SELF);
|
||||
string sTagObject = GetTag(OBJECT_SELF);
|
||||
float fdelay = GetLocalFloat(OBJECT_SELF, "fRespawnRate");
|
||||
if (FloatToInt(fdelay) == 0) fdelay = 3600.0;
|
||||
|
||||
|
||||
if (GetCurrentHitPoints(OBJECT_SELF) > 0)
|
||||
{
|
||||
if (!GetLocalInt(OBJECT_SELF, "ntimecheck") == 1)
|
||||
{
|
||||
DelayCommand(fdelay, CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE));
|
||||
SetLocalInt(OBJECT_SELF, "ntimecheck", 1);
|
||||
DelayCommand(fdelay, SetLocalInt(OBJECT_SELF, "ntimecheck", 0));
|
||||
DelayCommand(fdelay, ResetLockTrapInfo(OBJECT_SELF));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AssignCommand(GetArea(OBJECT_SELF), DelayCommand(fdelay, RespawnPLC(sResRefObject, lObject, fdelay)));
|
||||
}
|
||||
if (CTG_GetIsTreasureGenerated(OBJECT_SELF) == FALSE)
|
||||
{
|
||||
int nCount = iTresLowArmor;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_LOW, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_ARMOR);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresLowClothing;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_LOW, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_CLOTHING);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresLowWeapon;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_LOW, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresLowWpnMelee;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_LOW, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_MELEE);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresLowWpnNoAmmo;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_LOW, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_NOAMMO);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresLowWpnRanged;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_LOW, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_RANGED);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresMedArmor;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_MED, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_ARMOR);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresMedClothing;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_MED, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_CLOTHING);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresMedWeapon;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_MED, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresMedWpnMelee;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_MED, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_MELEE);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresMedWpnNoAmmo;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_MED, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_NOAMMO);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresMedWpnRanged;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_MED, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_RANGED);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresHighArmor;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_HIGH, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_ARMOR);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresHighClothing;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_HIGH, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_CLOTHING);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresHighWeapon;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_HIGH, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresHighWpnMelee;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_HIGH, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_MELEE);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresHighWpnNoAmmo;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_HIGH, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_NOAMMO);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresHighWpnRanged;
|
||||
while (nCount > 0)
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_HIGH, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_RANGED);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresUniqArmor;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_UNIQUE, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_ARMOR);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresUniqClothing;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_UNIQUE, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_CLOTHING);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresUniqWeapon;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_UNIQUE, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresUniqWpnMelee;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_UNIQUE, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_MELEE);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresUniqWpnNoAmmo;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_UNIQUE, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_NOAMMO);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
nCount = iTresUniqWpnRanged;
|
||||
while (nCount > 0)
|
||||
{
|
||||
CTG_CreateSpecificBaseTypeTreasure(TREASURE_TYPE_UNIQUE, GetLastOpener(), OBJECT_SELF, TREASURE_BASE_TYPE_WEAPON_RANGED);
|
||||
nCount = nCount - 1;
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, FALSE);
|
||||
}
|
||||
CTG_SetIsTreasureGenerated(OBJECT_SELF, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user