First question is are zombies supposed to gib? explode completely? I have seen other creatures do this and was wondering how to make zombies do this? I figured by commenting out all but the EffectDeath code would cause them to explode every time when they die... but in the game it does nothing... Just leaves a corpse that fades if NoPermDeath is not checked and remains if it is checked... Heres the modified script I am testing...
//:://////////////////////////////////////////////////
//:: NW_C2_DEFAULT7
/*
Default OnDeath event handler for NPCs.
Adjusts killer's alignment if appropriate and
alerts allies to our death.
*/
//:://////////////////////////////////////////////////
//:: Copyright (c) 2002 Floodgate Entertainment
//:: Created By: Naomi Novik
//:: Created On: 12/22/2002
//:://////////////////////////////////////////////////
#include "x2_inc_compon"
#include "x0_i0_spawncond"
void main()
{
int nclass = GetLevelByclass(class_TYPE_COMMONER);
int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
object oKiller = GetLastKiller();
string sTag = GetTag(OBJECT_SELF);
float fHP = IntToFloat(GetCurrentHitPoints());
float fMaxHP = IntToFloat(GetMaxHitPoints());
// Gib target if massive damage is caused
//if (fHP < fMaxHP - (fMaxHP * 4.00)){
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(TRUE, FALSE), OBJECT_SELF);
//}
// Otherwise leave a corpse
/*else {
// Prevent corpse fading.
SetIsDestroyable(FALSE, FALSE, FALSE);
// Create a corpse dummy.
object oCorpse = CreateObject(OBJECT_TYPE_PLACEABLE, "prop_corpse", GetLocation(OBJECT_SELF), FALSE, sTag);
object oGib = CreateObject(OBJECT_TYPE_PLACEABLE, "prop_holder", GetLocation(OBJECT_SELF));
SetLocalObject(OBJECT_SELF, "gib", oGib);
DestroyObject(oCorpse, 300.0);
DestroyObject(oGib, 300.0);
}*/
// If we're a good/neutral commoner,
// adjust the killer's alignment evil
if(nclass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
{
AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
}
// Call to allies to let them know we're dead
SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);
//Shout Attack my target, only works with the On Spawn In setup
SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);
// NOTE: the OnDeath user-defined event does not
// trigger reliably and should probably be removed
if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1007));
}
craft_drop_items(oKiller);
}
As you can see I commented out the check for critical hit to make it happen each time it died... I was able to change the blood color using appearence.2da that I extracted from cep2 top v23 hak file and placed it in my own but I dont see how that would cause gibbing to break for zombies... In fact I dont think I have ever seen zombies explode in the game ever... so is this impossible?