PWE_PRC8/_module/nss/nw_o2_generalmed.nss
Jaysyn904 ee1dc35889 Initial Commit
Initial Commit
2025-04-03 10:29:41 -04:00

112 lines
4.8 KiB
Plaintext

//#include "sy_t_tclass"
#include "RR_TREASURE"
//::///////////////////////////////////////////////
//:: sy_t_genloot.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Syrsuro
//:: Created On: November - May
//:://////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
///////This script is intended to be used as the OnDeath and OnOpen script of a container.
///////In addition to sy_t_tlass, the files sy_t_magic.nss and sy_t_mundane are necessary.
///////////////////////////////////////////////////////////////////////////////////////////
//Declarations///////////////////////////
object GetLastOpener();
//void ShoutDisturbed();
////////////////////////////////////////
//This script is supposed to create an STANDARD treasure. Thus, the modifier is set to 6.
//This modifier is passed to the other scripts and used to determine the quantity of gold and
//the frequency of gems.
///////////////////////////////////////////////////////////////////////////////////
////////This script takes the Level of the PC who opens or destroys the container and
////////uses this to scale the treasure off of. If you want to pre-set the CR of the
////////encounter/ container; you can set nCR directly.
////////////////////////////////////////////////////////////////////////////////////
void main()
{
int nTModifier = 6;//Default values are 2 (poor), 6 (standard) and 10 (rich).
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
// int nCR = GetHitDice(oLastOpener); /// Sets the CR = level of opener..
//nCR = 20; /// Sets the CR as a pre-set value.
// TreasureChance(OBJECT_SELF, nCR, nTModifier); /// The Treasure Generation Function (defined in sy_t_tcass)
CT_rr_master_lewt_med(oLastOpener, OBJECT_SELF);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed(); /// Should make local NPCs of the same faction as the chest hostile.
}
/////////////////////////////////////////////////////////////////////////////////
// * GET OPENER //////////////////////////////////////////////////////////////
// * Returns the object that either last opened the container or destroyed it
//object GetLastOpener()
//{
// if (GetIsObjectValid(GetLastOpenedBy()) == TRUE)
// {
// return GetLastOpenedBy();
// }
// else
// if (GetIsObjectValid(GetLastKiller()) == TRUE)
// {
// return GetLastKiller();
// }
// return OBJECT_INVALID;
//}
///////////////////////////////////////////////////////////////////////////////
//::///////////////////////////////////////////////
//:: ShoutDisturbed
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By:BioWare
//:: Created On:
//:://////////////////////////////////////////////
// * Container shouts if disturbed
//void ShoutDisturbed()
//{
// if (GetIsDead(OBJECT_SELF) == TRUE)
// {
// object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), TRUE, OBJECT_TYPE_CREATURE);
//Cycle through the targets within the spell shape until an invalid object is captured.
// while (GetIsObjectValid(oTarget))
// {
// if (GetFactionEqual(oTarget, OBJECT_SELF) == TRUE)
// {
// * Make anyone who is a member of my faction hostile if I am violated
// object oAttacker = GetLastAttacker();
// SetIsTemporaryEnemy(oAttacker,oTarget);
// AssignCommand(oTarget, ActionAttack(oAttacker));
// }
// oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), TRUE, OBJECT_TYPE_CREATURE);
// }
// }
// else (GetIsOpen(OBJECT_SELF) == TRUE);
// {
// object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), TRUE, OBJECT_TYPE_CREATURE);
//Cycle through the targets within the spell shape until an invalid object is captured.
// while (GetIsObjectValid(oTarget))
// {
// if (GetFactionEqual(oTarget, OBJECT_SELF) == TRUE)
// {
// * Make anyone who is a member of my faction hostile if I am violated
// object oAttacker = GetLastOpener();
// SetIsTemporaryEnemy(oAttacker,oTarget);
// AssignCommand(oTarget, ActionAttack(oAttacker));
// }
// oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), TRUE, OBJECT_TYPE_CREATURE);
// }
// }
//}
//////////////////////////////////////////////////////////////////////////////////////////////