Initial commit
Adding all of the current content for Anphillia Unlimited.
This commit is contained in:
60
_module/nss/cnr_bird_ondeath.nss
Normal file
60
_module/nss/cnr_bird_ondeath.nss
Normal file
@@ -0,0 +1,60 @@
|
||||
/////////////////////////////////////////////////////////
|
||||
//
|
||||
// Craftable Natural Resources (CNR) by Festyx
|
||||
//
|
||||
// Name: cnr_bird_ondeath
|
||||
//
|
||||
// Desc: The OnDeath handler for birds that drop
|
||||
// feathers. Bird/feather pairs are configured
|
||||
// in cnr_source_init.
|
||||
//
|
||||
// Author: David Bobeck 26Mar03
|
||||
//
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
Anphillia Changes
|
||||
eyesolated: Added method CreateLoot(string sResRef)
|
||||
Modified Creation to use CreateLoot method
|
||||
*/
|
||||
#include "lgs_inc"
|
||||
object CreateLoot(string sResRef)
|
||||
{
|
||||
// Get the location of the dead monster
|
||||
location lCorpseLoc = GetLocation(OBJECT_SELF);
|
||||
|
||||
// Make the corpse NOT fade
|
||||
SetIsDestroyable(FALSE, TRUE, FALSE);
|
||||
|
||||
// Create Blood Stain under the coprse
|
||||
object oBlood = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_bloodstain", lCorpseLoc, FALSE);
|
||||
|
||||
// Create Loot Container on the corpse
|
||||
object oLootObject = CreateObject(OBJECT_TYPE_PLACEABLE, "invis_corpse_obj", lCorpseLoc, FALSE, GetTag(OBJECT_SELF));
|
||||
SetName(oLootObject, "Dead " + GetName(OBJECT_SELF));
|
||||
SetDescription(oLootObject, GetDescription(OBJECT_SELF));
|
||||
|
||||
// Create the feather in the Loot container
|
||||
object oReturn = CreateItemOnObject(sResRef, oLootObject);
|
||||
|
||||
// Plan for everything to decay
|
||||
float fFade = 240.0f;
|
||||
object oModule = GetModule();
|
||||
ActionWait(fFade);
|
||||
DelayCommand(fFade, lgs_ClearInventory(oLootObject));
|
||||
DelayCommand(fFade, lgs_ClearInventory(OBJECT_SELF));
|
||||
DelayCommand(fFade + 0.25f, DestroyObject(oLootObject));
|
||||
DelayCommand(fFade + 0.25f, DestroyObject(oBlood));
|
||||
DelayCommand(fFade + 1.0f, SetIsDestroyable(TRUE,TRUE,FALSE));
|
||||
DelayCommand(fFade + 1.5f, DestroyObject(OBJECT_SELF));
|
||||
|
||||
return oReturn;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
location locDeath = GetLocation(OBJECT_SELF);
|
||||
string sBirdTag = GetTag(OBJECT_SELF);
|
||||
string sFeatherTag = GetLocalString(GetModule(), sBirdTag + "_FeatherTag");
|
||||
CreateLoot(sFeatherTag); // *CnR Original: CreateObject(OBJECT_TYPE_ITEM, sFeatherTag, locDeath, FALSE);
|
||||
}
|
||||
Reference in New Issue
Block a user