You see?, I spent the last half hour searching on Github the "pastebin" tag...
I will post also the full code of the turret and the FEMP.
I have made a last try inspired by Solokiller´s problem...
In
monstermaker.cppthe function
[quote]
//=========================================================
//=========================================================
void CMonsterMaker :: DeathNotice ( entvars_t *pevChild )
{
// ok, we've gotten the deathnotice from our child, now clear out its owner if we don't want it to fade.
m_cLiveChildren--;
if ( !m_fFadeChildren )
{
pevChild->owner = NULL;
}
}
[/quote]
I did comment the "if ( !m_fFadeChildren )" line and now it seems to work fine... I can not understad anything. Of course I did only three tests-gameplays, but I´m a bit shockd about this. I will do more testings to see if that´s only a glitch, a bug, call it what you want.
Could it be related to this?
[quote]
//=========================================================
// Killed - overrides CFlyingMonster.
//=========================================================
void CIchthyosaur :: Killed( entvars_t *pevAttacker, int iGib )
{
CBaseMonster::Killed( pevAttacker, iGib );
pev->velocity = Vector( 0, 0, 0 );
/////////////////////////////////////////
///// NEWCODE UNDER THIS COMMENT!!!//////
/////////////////////////////////////////
Vector vecSplatDir;
TraceResult tr;
CBaseEntity *pOwner = CBaseEntity::Instance(pev->owner);
if (pOwner)
pOwner->DeathNotice(pev);
SetActivity( ACT_DIEVIOLENT );
pev->movetype = MOVETYPE_TOSS;
pev->takedamage = DAMAGE_NO;
pev->spawnflags = SF_MONSTER_FADECORPSE;
DeathSound( ) ;// Descomentado el 2-3-2016
UpdateOnRemove();//NUevo. Sacado de GitHub 19-10-2016 (c)Solokiller
}
void CIchthyosaur::BecomeDead( void )
{
if ( ShouldFadeOnDeath() )
{
// this monster was created by a monstermaker... fade the corpse out.
SUB_StartFadeOut();
}
//==================================================
//Intento de que no pete el sistema ARM: 26-1-2016
//==================================================
CBaseEntity *pOwner = CBaseEntity::Instance(pev->owner);
if ( pOwner )
{
pOwner->DeathNotice( pev );
}
UTIL_Remove( this );
UpdateOnRemove();//NUevo. Sacado de GitHub 19-10-2016 (c)Solokiller
//======================================================
}
[/quote]
I am probably culprit of, after many goofing and trial-eror sessions, having screwing something since the beggining of ZWC development, the code above is the result of YEARS of tries with no luck, the Solokiller part was taken from Github and seemed also to make nothing to prevent the MM behaviour...
Give me a day or two, I will post the results.