From 8b15c59ecd5dbfc2f1243c85524537d3e0cad10b Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Fri, 11 Nov 2022 15:04:33 -0800 Subject: [PATCH] func_breakable: use BreakModel_Spawn instead of FX_BreakModel. --- src/gs-entbase/server/func_breakable.qc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gs-entbase/server/func_breakable.qc b/src/gs-entbase/server/func_breakable.qc index 7057f6f1..74f9bcc3 100644 --- a/src/gs-entbase/server/func_breakable.qc +++ b/src/gs-entbase/server/func_breakable.qc @@ -292,7 +292,9 @@ void func_breakable::Explode(void) { vector rp = WorldSpaceCenter(); - FX_BreakModel(vlen(size) / 10, absmin, absmax, [0,0,0], GetSurfaceData(SURFDATA_MATERIAL)); + vector vecDir = vectoangles(rp - g_dmg_vecLocation); + + BreakModel_Spawn(absmin, absmax, [0,0,0], m_flExplodeMag, vlen(size) / 10, GetPropData(PROPINFO_BREAKMODEL)); FX_Explosion(rp); Damage_Radius(rp, this, m_flExplodeMag, m_flExplodeRad, TRUE, 0); UseTargets(this, TRIG_TOGGLE, 0.0f); /* delay... ignored. */ @@ -343,7 +345,8 @@ func_breakable::Death(void) if (m_flExplodeMag) { ScheduleThink(Explode, random(0.0f, 0.5f)); } else { - FX_BreakModel(vlen(size) / 10, absmin, absmax, [0,0,0], GetSurfaceData(SURFDATA_MATERIAL)); + vector vecDir = vectoangles(WorldSpaceCenter() - g_dmg_vecLocation); + BreakModel_Spawn(absmin, absmax, vecDir, g_dmg_iDamage * 2.5, vlen(size) / 10, GetPropData(PROPINFO_BREAKMODEL)); Disappear(); SetTakedamage(DAMAGE_NO); UseTargets(eActivator, TRIG_TOGGLE, 0.0f);