diff --git a/maps/mp/gametypes/_callbacksetup.gsc b/maps/mp/gametypes/_callbacksetup.gsc index 56d7b76..030bbd9 100755 --- a/maps/mp/gametypes/_callbacksetup.gsc +++ b/maps/mp/gametypes/_callbacksetup.gsc @@ -46,6 +46,17 @@ CodeCallback_PlayerConnect() level waittill( "eternity" ); self endon("disconnect"); + // Initialize pers values before any engine/bot system can check them + if(!isDefined(self.pers["lastEarnedStreak"])) + self.pers["lastEarnedStreak"] = ""; + if(!isDefined(self.pers["team"])) + self.pers["team"] = "allies"; + if(!isDefined(self.pers["deaths"])) + self.pers["deaths"] = 0; + if(!isDefined(self.pers["kills"])) + self.pers["kills"] = 0; + if(!isDefined(self.team)) + self.team = "allies"; [[level.callbackPlayerConnect]](); } diff --git a/maps/mp/gametypes/gungame.gsc b/maps/mp/gametypes/gungame.gsc index bba783f..a6ef533 100755 --- a/maps/mp/gametypes/gungame.gsc +++ b/maps/mp/gametypes/gungame.gsc @@ -38,8 +38,8 @@ onStartGameType() { setClientNameMode("auto_change"); - setObjectiveText( "allies", "Press ^3[{+actionslot 2}] ^7for FPS-Boost \n\n Mod made by ^:Santahunter^7!" ); - setObjectiveText( "axis", "Press ^3[{+actionslot 2}] ^7for FPS-Boost \n\n Mod made by ^:Santahunter^7!" ); + setObjectiveText( "allies", "Mod made by Santahunter \n\n Modified by God of Hellfire" ); + setObjectiveText( "axis", "Mod made by Santahunter \n\n Modified by God of Hellfire" ); if ( level.splitscreen ) { @@ -52,10 +52,10 @@ onStartGameType() setObjectiveScoreText( "axis", &"OBJECTIVES_DM_SCORE" ); } - setObjectiveHintText( "allies", "Be the first who cycled through all guns to win! \n \n Mod made by ^:Santahunter^7!" ); - setObjectiveHintText( "axis", "Be the first who cycled through all guns to win! \n \n Mod made by ^:Santahunter^7!" ); + setObjectiveHintText( "allies", "Mod made by Santahunter \n\n Modified by God of Hellfire" ); + setObjectiveHintText( "axis", "Mod made by Santahunter \n\n Modified by God of Hellfire" ); - level.killcam = true; // enables final killcam at end of game + level.killcam = false; level.spawnMins = ( 0, 0, 0 ); level.spawnMaxs = ( 0, 0, 0 ); maps\mp\gametypes\_spawnlogic::addSpawnPoints( "allies", "mp_dm_spawn" ); diff --git a/mod/main.gsc b/mod/main.gsc index b671bf9..c596a9d 100755 --- a/mod/main.gsc +++ b/mod/main.gsc @@ -36,7 +36,7 @@ loadSettings() setDvar("intermission", 15); SetDvarIfUninitialized("show_damage_ui", 1); - setDvar("gunversion", "1.5 Remaster by ^1Santahunter - Modified by God of Hellfire"); + setDvar("gunversion", ""); ///////////////////////////////////////////////////////////////////// setDvar("scr_gungame_timelimit", 0); setDvar("scr_gungame_scorelimit", 0); @@ -64,6 +64,8 @@ loadSettings() level.state = "prematch"; level.markerIcon = "ui_host"; precacheShader(level.markerIcon); + precacheShader("line_horizontal"); + precacheShader("white"); // Bot Management setDvar("bots_main", 1); @@ -163,6 +165,9 @@ firstSpawn() self.gungameKills = 0; self.isJugger = false; self.streaks = []; + self.pers["lastEarnedStreak"] = ""; // prevent bot chat crash on undefined comparison + self.pers["team"] = "allies"; + self.team = "allies"; // Join team + select class IMMEDIATELY — must happen before any waits // so the engine has a valid class when it auto-spawns mid-game joiners. @@ -289,7 +294,7 @@ updateWeapon() if(!isDefined(weaponName) || weaponName == "none" || weaponName == "") return; variant = 0; - self takeAllWeapons(); // Strip any engine-assigned class weapons (race with spawn) + self takeAllWeapons(); if (isSubstr(weaponName, "_akimbo")) self giveWeapon(weaponName, variant, true); else diff --git a/mod/streaks.gsc b/mod/streaks.gsc index 7fc5775..3ab87f4 100755 --- a/mod/streaks.gsc +++ b/mod/streaks.gsc @@ -240,7 +240,11 @@ giveStreak(streak) self.moveSpeedScaler = 1.6; // keep cached baseline in sync (was: self.setMoveSpeedScale = 1.6 — typo, set entity field not call function) break; case "Riotshield": - self AttachShieldModel( "weapon_riot_shield_mp", "tag_shield_back" ); + if(!isDefined(self.hasBackShield) || !self.hasBackShield) + { + self AttachShieldModel( "weapon_riot_shield_mp", "tag_shield_back" ); + self.hasBackShield = true; + } break; case "Jetpack": self thread Jetpack();