From 028e0a5a993472f07de615d7c8f67ce94ca515ec Mon Sep 17 00:00:00 2001 From: cypress Date: Tue, 2 Jan 2024 09:14:15 -0500 Subject: [PATCH] SERVER: Add support for Hospital from NZ:P Beta --- source/server/entities/sub_functions.qc | 2 +- source/server/main.qc | 8 ++++++++ source/server/utilities/map_compatibility.qc | 4 ++-- source/server/weapons/weapon_core.qc | 10 +++++----- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/source/server/entities/sub_functions.qc b/source/server/entities/sub_functions.qc index d04379d..cb0f51f 100644 --- a/source/server/entities/sub_functions.qc +++ b/source/server/entities/sub_functions.qc @@ -93,7 +93,7 @@ void() SUB_UseTargets = // // kill the killtagets // - if (self.killtarget) + if (self.killtarget && self.killtarget != self.target) { t = world; do diff --git a/source/server/main.qc b/source/server/main.qc index ad834f1..3e194f7 100644 --- a/source/server/main.qc +++ b/source/server/main.qc @@ -648,6 +648,7 @@ string(string asset) convert_old_asset_path = case "progs/sandbags.mdl": ret = "models/props/sandbags.mdl"; break; + case "progs/dentist_chair.mdl": case "progs/props/dentist_chair.mdl": ret = "models/props/dentist_chair.mdl"; break; @@ -708,6 +709,13 @@ string(string asset) convert_old_asset_path = case "progs/props/trash_con.mdl": ret = "models/props/trash_con.mdl"; break; + case "progs/flame2.mdl": + ret = "models/props/flame.mdl"; + break; + case "progs/toilet.mdl": + ret = "models/props/toilet.mdl"; + break; + case "progs/fridge.mdl": case "progs/props/fridge.mdl": ret = "models/props/fridge.mdl"; break; diff --git a/source/server/utilities/map_compatibility.qc b/source/server/utilities/map_compatibility.qc index baf6854..dd04047 100644 --- a/source/server/utilities/map_compatibility.qc +++ b/source/server/utilities/map_compatibility.qc @@ -280,8 +280,8 @@ void() Compat_ConvertBetaBarricade = self.origin -= v_forward*2; setsize(self, '-30 -30 -10','30 30 10'); self.box1 = self.origin + (v_forward * -50) + (v_up * -50); - self.box2 = self.box1 + (v_right * 50); - self.box3 = self.box1 + (v_right * -50); + self.box2 = self.box1 + (v_right * 25); + self.box3 = self.box1 + (v_right * -25); self.idlebox = self.box1 + (v_forward * -50); self.hop_spot = self.origin + v_forward * 50; self.hop_spot_x -= 5; diff --git a/source/server/weapons/weapon_core.qc b/source/server/weapons/weapon_core.qc index af338e0..545b6b4 100644 --- a/source/server/weapons/weapon_core.qc +++ b/source/server/weapons/weapon_core.qc @@ -824,15 +824,15 @@ void(float damage, vector dir, vector org, vector plane, entity hit_ent, float s self = oldself; return; - } else if (hit_ent.classname == "door" || hit_ent.classname == "door_nzp") { - local entity old; - old = self; + } else if (hit_ent.solid == SOLID_BSP) { + oldself = self; self = hit_ent; self.health -= damage; + self.enemy = oldself; if (self.health < 0) - door_use(); - self = old; + self.th_die(); + self = oldself; return; }