generated from Jaysyn/ModuleTemplate
54 lines
1.0 KiB
Plaintext
54 lines
1.0 KiB
Plaintext
/*
|
|
s_genloot - generate loot
|
|
*/
|
|
|
|
#include "X_O2_CONINCLUDE"
|
|
|
|
void main()
|
|
{
|
|
|
|
int bDestroyed = (GetCurrentHitPoints() <= 0);
|
|
|
|
|
|
if (GetIsRefillReady()) {
|
|
|
|
int iTreasureTable = GetTreasureTable();
|
|
|
|
object oLastOpener = GetLastOpener();
|
|
if (iTreasureTable != TREASURE_BOSS) {
|
|
|
|
GenerateTreasure(iTreasureTable, oLastOpener, OBJECT_SELF);
|
|
|
|
} else {
|
|
|
|
object oMember = GetFirstFactionMember(oLastOpener, TRUE);
|
|
while (GetIsObjectValid(oMember) == TRUE) {
|
|
|
|
GenerateTreasure(TREASURE_BOSS, oMember, OBJECT_SELF);
|
|
oMember = GetNextFactionMember(oLastOpener, TRUE);
|
|
|
|
}
|
|
}
|
|
|
|
ShoutDisturbed();
|
|
|
|
if (!bDestroyed) {
|
|
|
|
SetLocalInt(OBJECT_SELF, GT_REFILL_NOT_READY, TRUE);
|
|
|
|
if (GetIsRefillable())
|
|
DelayCommand(GetRefillDelay(), SetLocalInt(OBJECT_SELF, GT_REFILL_NOT_READY, FALSE));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (bDestroyed && GetIsRespawnable()) {
|
|
|
|
SetLocalFloat(OBJECT_SELF, "RESPAWN_DELAY", GetRespawnDelay());
|
|
ExecuteScript("s_respawnself", OBJECT_SELF);
|
|
|
|
}
|
|
|
|
}
|