diff --git a/src/server/ammo.qc b/src/server/ammo.qc index 62371ff..30f3337 100644 --- a/src/server/ammo.qc +++ b/src/server/ammo.qc @@ -45,8 +45,8 @@ void item_ammo::Respawn(void) { SetSolid(SOLID_TRIGGER); SetMovetype(MOVETYPE_TOSS); - SetOrigin(m_oldOrigin); - SetModel(m_oldModel); + SetOrigin(GetSpawnOrigin()); + SetModel(GetSpawnModel()); SetSize([-16,-16,0],[16,16,16]); think = __NULL__; @@ -64,7 +64,7 @@ void item_ammo::item_ammo(void) Sound_Precache("ammo.respawn"); precache_model(model); m_oldModel = model; - SetModel(m_oldModel); + SetModel(GetSpawnModel()); CBaseEntity::CBaseEntity(); } diff --git a/src/server/item_battery.qc b/src/server/item_battery.qc index dd38373..7699e77 100644 --- a/src/server/item_battery.qc +++ b/src/server/item_battery.qc @@ -67,8 +67,8 @@ void item_battery::Respawn(void) { SetSolid(SOLID_TRIGGER); SetMovetype(MOVETYPE_TOSS); - SetOrigin(m_oldOrigin); - SetModel(m_oldModel); + SetOrigin(GetSpawnOrigin()); + SetModel(GetSpawnModel()); SetSize([-16,-16,0],[16,16,16]); // botinfo = BOTINFO_ARMOR; diff --git a/src/server/item_healthkit.qc b/src/server/item_healthkit.qc index b9a92b0..bd120f5 100644 --- a/src/server/item_healthkit.qc +++ b/src/server/item_healthkit.qc @@ -56,8 +56,8 @@ void item_healthkit::Respawn(void) { SetSolid(SOLID_TRIGGER); SetMovetype(MOVETYPE_TOSS); - SetOrigin(m_oldOrigin); - SetModel(m_oldModel); + SetOrigin(GetSpawnOrigin()); + SetModel(GetSpawnModel()); SetSize([-16,-16,0],[16,16,16]); //botinfo = BOTINFO_HEALTH; diff --git a/src/server/item_longjump.qc b/src/server/item_longjump.qc index fe1233d..4eb2c3f 100644 --- a/src/server/item_longjump.qc +++ b/src/server/item_longjump.qc @@ -71,8 +71,8 @@ item_longjump::Respawn(void) { SetSolid(SOLID_TRIGGER); SetMovetype(MOVETYPE_TOSS); - SetOrigin(m_oldOrigin); - SetModel(m_oldModel); + SetOrigin(GetSpawnOrigin()); + SetModel(GetSpawnModel()); SetSize([-16,-16,0],[16,16,16]); think = __NULL__; diff --git a/src/server/item_suit.qc b/src/server/item_suit.qc index fd1c942..6045ccd 100644 --- a/src/server/item_suit.qc +++ b/src/server/item_suit.qc @@ -74,8 +74,8 @@ item_suit::Respawn(void) { SetSolid(SOLID_TRIGGER); SetMovetype(MOVETYPE_TOSS); - SetOrigin(m_oldOrigin); - SetModel(m_oldModel); + SetOrigin(GetSpawnOrigin()); + SetModel(GetSpawnModel()); SetSize(VEC_HULL_MIN, VEC_HULL_MAX); m_iValue = FALSE; diff --git a/src/server/items.qc b/src/server/items.qc index 13f7c36..d714418 100644 --- a/src/server/items.qc +++ b/src/server/items.qc @@ -43,7 +43,7 @@ void item_pickup::SetItem(int i) { id = i; m_oldModel = Weapons_GetWorldmodel(id); - SetModel(m_oldModel); + SetModel(GetSpawnModel()); SetSize([-16,-16,0], [16,16,16]); } @@ -55,11 +55,11 @@ void item_pickup::SetFloating(int i) void item_pickup::Respawn(void) { SetSolid(SOLID_TRIGGER); - SetOrigin(m_oldOrigin); + SetOrigin(GetSpawnOrigin()); /* At some points, the item id might not yet be set */ - if (m_oldModel) { - SetModel(m_oldModel); + if (GetSpawnModel()) { + SetModel(GetSpawnModel()); } SetSize([-16,-16,0], [16,16,16]); diff --git a/src/server/monster_barney_dead.qc b/src/server/monster_barney_dead.qc index 15acce9..4cde6a0 100644 --- a/src/server/monster_barney_dead.qc +++ b/src/server/monster_barney_dead.qc @@ -52,15 +52,16 @@ monster_barney_dead::Hide(void) void monster_barney_dead::Respawn(void) { - v_angle[0] = Math_FixDelta(m_oldAngle[0]); - v_angle[1] = Math_FixDelta(m_oldAngle[1]); - v_angle[2] = Math_FixDelta(m_oldAngle[2]); + v_angle = GetSpawnAngles(); + v_angle[0] = Math_FixDelta(v_angle[0]); + v_angle[1] = Math_FixDelta(v_angle[1]); + v_angle[2] = Math_FixDelta(v_angle[2]); - SetOrigin(m_oldOrigin); + SetOrigin(GetSpawnOrigin()); angles = v_angle; solid = SOLID_CORPSE; movetype = MOVETYPE_NONE; - SetModel(m_oldModel); + SetModel(GetSpawnModel()); setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]); takedamage = DAMAGE_YES; health = 0; diff --git a/src/server/monster_hevsuit_dead.qc b/src/server/monster_hevsuit_dead.qc index f99937a..202b549 100644 --- a/src/server/monster_hevsuit_dead.qc +++ b/src/server/monster_hevsuit_dead.qc @@ -52,15 +52,16 @@ monster_hevsuit_dead::Hide(void) void monster_hevsuit_dead::Respawn(void) { - v_angle[0] = Math_FixDelta(m_oldAngle[0]); - v_angle[1] = Math_FixDelta(m_oldAngle[1]); - v_angle[2] = Math_FixDelta(m_oldAngle[2]); + v_angle = GetSpawnAngles(); + v_angle[0] = Math_FixDelta(v_angle[0]); + v_angle[1] = Math_FixDelta(v_angle[1]); + v_angle[2] = Math_FixDelta(v_angle[2]); - SetOrigin(m_oldOrigin); + SetOrigin(GetSpawnOrigin()); angles = v_angle; solid = SOLID_CORPSE; movetype = MOVETYPE_NONE; - SetModel(m_oldModel); + SetModel(GetSpawnModel()); setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]); takedamage = DAMAGE_YES; health = 0; diff --git a/src/server/monster_hgrunt_dead.qc b/src/server/monster_hgrunt_dead.qc index 77d6a1c..013c2dc 100644 --- a/src/server/monster_hgrunt_dead.qc +++ b/src/server/monster_hgrunt_dead.qc @@ -52,15 +52,16 @@ monster_hgrunt_dead::Hide(void) void monster_hgrunt_dead::Respawn(void) { - v_angle[0] = Math_FixDelta(m_oldAngle[0]); - v_angle[1] = Math_FixDelta(m_oldAngle[1]); - v_angle[2] = Math_FixDelta(m_oldAngle[2]); + v_angle = GetSpawnAngles(); + v_angle[0] = Math_FixDelta(v_angle[0]); + v_angle[1] = Math_FixDelta(v_angle[1]); + v_angle[2] = Math_FixDelta(v_angle[2]); - SetOrigin(m_oldOrigin); + SetOrigin(GetSpawnOrigin()); angles = v_angle; solid = SOLID_CORPSE; movetype = MOVETYPE_NONE; - SetModel(m_oldModel); + SetModel(GetSpawnModel()); setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]); takedamage = DAMAGE_YES; health = 0; diff --git a/src/server/monster_scientist_dead.qc b/src/server/monster_scientist_dead.qc index fbbc615..3e81d2b 100644 --- a/src/server/monster_scientist_dead.qc +++ b/src/server/monster_scientist_dead.qc @@ -63,15 +63,16 @@ monster_scientist_dead::Hide(void) void monster_scientist_dead::Respawn(void) { - v_angle[0] = Math_FixDelta(m_oldAngle[0]); - v_angle[1] = Math_FixDelta(m_oldAngle[1]); - v_angle[2] = Math_FixDelta(m_oldAngle[2]); + v_angle = GetSpawnAngles(); + v_angle[0] = Math_FixDelta(v_angle[0]); + v_angle[1] = Math_FixDelta(v_angle[1]); + v_angle[2] = Math_FixDelta(v_angle[2]); - SetOrigin(m_oldOrigin); + SetOrigin(GetSpawnOrigin()); angles = v_angle; solid = SOLID_CORPSE; movetype = MOVETYPE_NONE; - SetModel(m_oldModel); + SetModel(GetSpawnModel()); setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MIN + [0,0,36]); takedamage = DAMAGE_YES; health = 0; diff --git a/src/server/monster_sitting_scientist.qc b/src/server/monster_sitting_scientist.qc index b4aff43..0f8eeec 100644 --- a/src/server/monster_sitting_scientist.qc +++ b/src/server/monster_sitting_scientist.qc @@ -73,15 +73,16 @@ monster_sitting_scientist::Hide(void) void monster_sitting_scientist::Respawn(void) { - v_angle[0] = Math_FixDelta(m_oldAngle[0]); - v_angle[1] = Math_FixDelta(m_oldAngle[1]); - v_angle[2] = Math_FixDelta(m_oldAngle[2]); + v_angle = GetSpawnAngles(); + v_angle[0] = Math_FixDelta(v_angle[0]); + v_angle[1] = Math_FixDelta(v_angle[1]); + v_angle[2] = Math_FixDelta(v_angle[2]); - SetOrigin(m_oldOrigin); + SetOrigin(GetSpawnOrigin()); angles = v_angle; solid = SOLID_BBOX; movetype = MOVETYPE_NONE; - SetModel(m_oldModel); + SetModel(GetSpawnModel()); setsize(this, [-14,-14,0],[14,14,36]); takedamage = DAMAGE_YES; health = 0;