From 872de6495ddbce6ff64497f7ff9bb06222fd69e2 Mon Sep 17 00:00:00 2001 From: Roman Chistokhodov Date: Fri, 24 May 2024 03:56:38 +0300 Subject: [PATCH] trigger_configure_monster can change the blood color --- dlls/triggers.cpp | 10 ++++++++++ fgd/halflife.fgd | 13 ++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/dlls/triggers.cpp b/dlls/triggers.cpp index d8db3e5002..4ab0621e04 100644 --- a/dlls/triggers.cpp +++ b/dlls/triggers.cpp @@ -5547,6 +5547,7 @@ class CTriggerConfigureMonster : public CPointEntity short m_actOutOfPVS; int m_iClass; int m_soundMask; + short m_bloodColor; short m_prisonerTo; short m_freeRoam; @@ -5580,6 +5581,7 @@ TYPEDESCRIPTION CTriggerConfigureMonster::m_SaveData[] = DEFINE_FIELD( CTriggerConfigureMonster, m_actOutOfPVS, FIELD_SHORT ), DEFINE_FIELD( CTriggerConfigureMonster, m_iClass, FIELD_INTEGER ), DEFINE_FIELD( CTriggerConfigureMonster, m_soundMask, FIELD_INTEGER ), + DEFINE_FIELD( CTriggerConfigureMonster, m_bloodColor, FIELD_SHORT ), DEFINE_FIELD( CTriggerConfigureMonster, m_prisonerTo, FIELD_SHORT ), DEFINE_FIELD( CTriggerConfigureMonster, m_freeRoam, FIELD_SHORT ), DEFINE_FIELD( CTriggerConfigureMonster, m_sizeForGrapple, FIELD_SHORT ), @@ -5635,6 +5637,11 @@ void CTriggerConfigureMonster::KeyValue(KeyValueData *pkvd) m_soundMask = atoi( pkvd->szValue ); pkvd->fHandled = TRUE; } + else if ( FStrEq( pkvd->szKeyName, "bloodcolor" ) ) + { + m_bloodColor = atoi( pkvd->szValue ); + pkvd->fHandled = TRUE; + } else if (FStrEq(pkvd->szKeyName, "classify")) { m_iClass = atoi( pkvd->szValue ); @@ -5776,6 +5783,9 @@ void CTriggerConfigureMonster::Affect(CBaseEntity *pEntity) MaySetResettableValue2(pMonster->m_iClass, m_iClass); MaySetResettableValue2(pMonster->m_customSoundMask, m_soundMask); + if (m_bloodColor) + pMonster->m_bloodColor = m_bloodColor; + MaySetResettableValue(pMonster->m_prisonerTo, m_prisonerTo); MaySetResettableValue(pMonster->m_freeRoam, m_freeRoam); MaySetResettableValue2(pMonster->m_sizeForGrapple, m_sizeForGrapple); diff --git a/fgd/halflife.fgd b/fgd/halflife.fgd index c7cb8ed375..30755a95b6 100644 --- a/fgd/halflife.fgd +++ b/fgd/halflife.fgd @@ -211,12 +211,12 @@ [ bloodcolor(choices) : "Blood Color" : : "Blood color of monster" = [ + -1 : "Don't bleed" 0 : "Default" - 1 : "Human (red)" - 2 : "Alien (yellow)" 247 : "Human (red)" 195 : "Alien (yellow)" - -1 : "Don't bleed" + 1 : "Human (red) [SC compatible]" + 2 : "Alien (yellow) [SC compatible]" ] ] @@ -7725,6 +7725,13 @@ 127 : "Every sound and scent" 1028 : "Default, except Player" ] + bloodcolor(choices) : "Blood Color" : : "Blood color of monster" = + [ + -1 : "Don't bleed" + 0 : "No change" + 247 : "Human (red)" + 195 : "Alien (yellow)" + ] prisonerto(choices) : "Act as Prisoner to" = [ -1 : "Reset"