Implement dvars for primary and secondary Seeker weapons.

master
Icedream 2018-03-30 02:23:03 +02:00
parent 3ef5f671ae
commit 541e208cb8
Signed by: icedream
GPG Key ID: 1573F6D8EFE4D0CF
1 changed files with 24 additions and 46 deletions

View File

@ -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.