- moved some info into the GAMEINFO section:

* the sprite used for 'pause'.
 * the factor with which a monster's health is multiplied to decide if it's supposed to be gibbed,
 * the decision to make monsters run faster in nightmare mode.
- moved the hard coded lock messages for lock types 102 and 103 into the language lump.
- fixed: Raven's fast monsters could become slower in Nightmare if they had very short walking states.


SVN r2834 (trunk)
This commit is contained in:
Christoph Oelckers 2010-09-19 10:39:34 +00:00
commit 74525ab1d6
14 changed files with 43 additions and 27 deletions

View file

@ -318,20 +318,10 @@ void ClientObituary (AActor *self, AActor *inflictor, AActor *attacker)
//
EXTERN_CVAR (Int, fraglimit)
static int GibHealth(AActor *actor)
{
return -abs(
actor->GetClass()->Meta.GetMetaInt (
AMETA_GibHealth,
gameinfo.gametype & GAME_DoomChex ?
-actor->SpawnHealth() :
-actor->SpawnHealth()/2));
}
void AActor::Die (AActor *source, AActor *inflictor)
{
// Handle possible unmorph on death
bool wasgibbed = (health < GibHealth(this));
bool wasgibbed = (health < GibHealth());
AActor *realthis = NULL;
int realstyle = 0;
@ -342,7 +332,7 @@ void AActor::Die (AActor *source, AActor *inflictor)
{
if (wasgibbed)
{
int realgibhealth = GibHealth(realthis);
int realgibhealth = realthis->GibHealth();
if (realthis->health >= realgibhealth)
{
realthis->health = realgibhealth -1; // if morphed was gibbed, so must original be (where allowed)
@ -670,7 +660,7 @@ void AActor::Die (AActor *source, AActor *inflictor)
{
int flags4 = inflictor == NULL ? 0 : inflictor->flags4;
int gibhealth = GibHealth(this);
int gibhealth = GibHealth();
// Don't pass on a damage type this actor cannot handle.
// (most importantly, prevent barrels from passing on ice damage.)