diff --git a/maps/mp/gametypes/hns.gsc b/maps/mp/gametypes/hns.gsc index 1cc6c8c..d639704 100644 --- a/maps/mp/gametypes/hns.gsc +++ b/maps/mp/gametypes/hns.gsc @@ -74,17 +74,6 @@ main() versionHudElem.alpha = 0.5; #/ - // Define allowed seeker weapons - level.seekerWeapons = []; - level.seekerWeapons[0] = "m16"; - level.seekerWeapons[1] = "m4"; - level.seekerWeapons[2] = "ump45"; - level.seekerWeapons[3] = "fal"; - level.seekerWeapons[4] = "scar"; - level.seekerWeapons[5] = "ak47"; - level.seekerWeapons[6] = "p90"; - level.seekerWeapons[7] = "famas"; - maps\mp\gametypes\_globallogic::init(); maps\mp\gametypes\_callbacksetup::SetupCallbacks(); maps\mp\gametypes\_globallogic::SetupCallbacks(); @@ -100,6 +89,8 @@ main() // Specific DVars for this gametype registerPrereleaseDvar(level.gameType, 30, 0, 300); + registerSeekersPrimaryWeaponDvar(level.gameType, "ak47_reflex_mp"); + registerSeekersSecondaryWeaponDvar(level.gameType, "deserteagle_tactical_mp"); // Don't show perks SetDvar("scr_showperksonspawn", 0); @@ -209,6 +200,20 @@ registerPrereleaseDvar(dvarString, defaultValue, minValue, maxValue) } } +registerSeekersPrimaryWeaponDvar(dvarString, defaultValue) +{ + logPrint("registerSeekersPrimaryWeaponDvar called"); + + maps\mp\gametypes\_tweakables::registerTweakable("game", "seekers_primary_weapon", "scr_" + dvarString + "_seekers_primary_weapon", "ak47_reflex_mp"); +} + +registerSeekersSecondaryWeaponDvar(dvarString, defaultValue) +{ + logPrint("registerSeekersSecondaryWeaponDvar called"); + + maps\mp\gametypes\_tweakables::registerTweakable("game", "seekers_secondary_weapon", "scr_" + dvarString + "_seekers_secondary_weapon", "deserteagle_tactical_mp"); +} + updateGametypeDvars() { logPrint("updateGametypeDvars called"); @@ -229,6 +234,8 @@ onStartGameType() setDvarIfUninitialized("scr_hns_winlimit", 4); setDvarIfUninitialized("scr_hns_halftime", 0); setDvarIfUninitialized("scr_hns_numlives", 1); + setDvarIfUninitialized("scr_hns_seekers_primary_weapon", "ak47_reflex_mp"); + setDvarIfUninitialized("scr_hns_seekers_secondary_weapon", "deserteagle_tactical_mp"); // reset flags gameFlagClear("seekers_released"); @@ -594,20 +601,19 @@ handleSeeker() { } // random primary weapon - primaryWeapon = level.seekerWeapons[RandomInt(level.seekerWeapons.size)]; - player GiveWeapon(primaryWeapon + "_reflex_mp", RandomInt(9), false); - player setSpawnWeapon(primaryWeapon + "_reflex_mp"); - player SwitchToWeapon(primaryWeapon + "_reflex_mp"); + player GiveWeapon(level.gameTweaks["seekers_primary_weapon"].value, RandomInt(9), false); + player setSpawnWeapon(level.gameTweaks["seekers_primary_weapon"].value); + player SwitchToWeapon(level.gameTweaks["seekers_primary_weapon"].value); // deagle + tactical knife - player GiveWeapon("deserteagle_tactical_mp", 0, false); + player GiveWeapon(level.gameTweaks["seekers_secondary_weapon"].value, 0, false); // single semtex player GiveWeapon("semtex_mp"); // ammo - player GiveMaxAmmo(primaryWeapon + "_reflex_mp"); - player GiveMaxAmmo("deserteagle_tactical_mp"); + player GiveMaxAmmo(level.gameTweaks["seekers_primary_weapon"].value); + player GiveMaxAmmo(level.gameTweaks["seekers_secondary_weapon"].value); // gametype-friendly perks player GivePerk("specialty_lightweight"); @@ -621,7 +627,6 @@ handleSeeker() { /# player thread enableUnlimitedReload(); - player thread enableWeaponDicing("+actionslot 2"); #/ player thread giveHelpfulHintsForSeeker(); } @@ -1115,33 +1120,6 @@ enableDisguiseModelAngleLocking(playerCommand) } } -/* - * Binds a player command to shuffle the weapon. - */ -enableWeaponDicing(playerCommand) -{ - logPrint("enableWeaponDicing called"); - - player = self; - - level endon("game_ended"); - player endon("death"); - player endon("disconnect"); - - player notifyOnPlayerCommand("weapondicing_requested", playerCommand); - - for (;;) - { - player waittill("weapondicing_requested"); - - // random primary weapon - player TakeWeapon(player GetCurrentWeapon()); - primaryWeapon = random(level.seekerWeapons); - player GiveWeapon(primaryWeapon + "_reflex_mp", RandomInt(9), false); - player SwitchToWeapon(primaryWeapon + "_reflex_mp"); - player GiveMaxAmmo(primaryWeapon + "_reflex_mp"); - } -} /* * Refills ammo stock after a reload.