Compare commits

..

No commits in common. "dc556ac916eaf547c7a294de3393311dea23209e" and "8385946838e3e347acb492e595eb4703e49718b8" have entirely different histories.

2 changed files with 63 additions and 49 deletions

View File

@ -89,8 +89,8 @@ main()
// Specific DVars for this gametype // Specific DVars for this gametype
registerPrereleaseDvar(level.gameType, 30, 0, 300); registerPrereleaseDvar(level.gameType, 30, 0, 300);
setDvarIfUninitialized("scr_" + level.gameType + "_seekers_primary_weapon", "ak47_reflex_mp"); registerSeekersPrimaryWeaponDvar(level.gameType, "ak47_reflex_mp");
setDvarIfUninitialized("scr_" + level.gameType + "_seekers_secondary_weapon", "deserteagle_tactical_mp"); registerSeekersSecondaryWeaponDvar(level.gameType, "deserteagle_tactical_mp");
// Don't show perks // Don't show perks
SetDvar("scr_showperksonspawn", 0); SetDvar("scr_showperksonspawn", 0);
@ -151,7 +151,7 @@ main()
onPrecacheGametype() onPrecacheGametype()
{ {
logPrint("onPrecacheGametype called\n"); logPrint("onPrecacheGametype called");
game["seekers_released_sound"] = "mp_war_objective_taken"; game["seekers_released_sound"] = "mp_war_objective_taken";
game["seekers_blind_sound"] = "elev_run_end"; game["seekers_blind_sound"] = "elev_run_end";
@ -179,7 +179,7 @@ onPrecacheGametype()
registerPrereleaseDvar(dvarString, defaultValue, minValue, maxValue) registerPrereleaseDvar(dvarString, defaultValue, minValue, maxValue)
{ {
logPrint("registerPrereleaseDvar called\n"); logPrint("registerPrereleaseDvar called");
registerWatchDvarInt("prereleasetime", defaultValue); registerWatchDvarInt("prereleasetime", defaultValue);
@ -200,9 +200,23 @@ 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() updateGametypeDvars()
{ {
logPrint("updateGametypeDvars called\n"); logPrint("updateGametypeDvars called");
// no time <= {prereleasetime} <= 5 minutes // no time <= {prereleasetime} <= 5 minutes
level.preReleaseTime = dvarIntValue("prereleasetime", 30, 0, 5 * 60); level.preReleaseTime = dvarIntValue("prereleasetime", 30, 0, 5 * 60);
@ -210,7 +224,7 @@ updateGametypeDvars()
onStartGameType() onStartGameType()
{ {
logPrint("onStartGameType called\n"); logPrint("onStartGameType called");
// Make DVars available // Make DVars available
setDvarIfUninitialized("scr_hns_roundswitch", 1); setDvarIfUninitialized("scr_hns_roundswitch", 1);
@ -220,6 +234,8 @@ onStartGameType()
setDvarIfUninitialized("scr_hns_winlimit", 4); setDvarIfUninitialized("scr_hns_winlimit", 4);
setDvarIfUninitialized("scr_hns_halftime", 0); setDvarIfUninitialized("scr_hns_halftime", 0);
setDvarIfUninitialized("scr_hns_numlives", 1); 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 // reset flags
gameFlagClear("seekers_released"); gameFlagClear("seekers_released");
@ -314,7 +330,7 @@ levelShowModelsOnMinimap()
getSpawnPoint() getSpawnPoint()
{ {
logPrint("getSpawnPoint called\n"); logPrint("getSpawnPoint called");
if (self.pers["team"] == game["seekers"]) if (self.pers["team"] == game["seekers"])
spawnPointName = "mp_sd_spawn_attacker"; spawnPointName = "mp_sd_spawn_attacker";
@ -330,7 +346,7 @@ getSpawnPoint()
onSpawnPlayer() onSpawnPlayer()
{ {
logPrint("onSpawnPlayer called\n"); logPrint("onSpawnPlayer called");
player = self; player = self;
@ -359,7 +375,7 @@ onSpawnPlayer()
onPlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration, killId) onPlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime, deathAnimDuration, killId)
{ {
logPrint("onPlayerKilled called\n"); logPrint("onPlayerKilled called");
player = self; player = self;
@ -376,7 +392,7 @@ onPlayerKilled(eInflictor, attacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHit
checkAllowSpectating() checkAllowSpectating()
{ {
logPrint("checkAllowSpectating called\n"); logPrint("checkAllowSpectating called");
wait(0.05); wait(0.05);
@ -396,7 +412,7 @@ checkAllowSpectating()
onDeadEvent(team) onDeadEvent(team)
{ {
logPrint("onDeadEvent called\n"); logPrint("onDeadEvent called");
if (team == "all") if (team == "all")
{ {
@ -415,7 +431,7 @@ onDeadEvent(team)
onTimeLimit() onTimeLimit()
{ {
logPrint("onTimeLimit called\n"); logPrint("onTimeLimit called");
// Hiders win when time limit reached // Hiders win when time limit reached
thread maps\mp\gametypes\_gamelogic::endGame(game["hiders"], game["strings"]["time_limit_reached"]); thread maps\mp\gametypes\_gamelogic::endGame(game["hiders"], game["strings"]["time_limit_reached"]);
@ -424,7 +440,7 @@ onTimeLimit()
onNormalDeath(victim, attacker, lifeId) onNormalDeath(victim, attacker, lifeId)
{ {
logPrint("onNormalDeath called\n"); logPrint("onNormalDeath called");
// Make sure the kill score is set properly // Make sure the kill score is set properly
score = maps\mp\gametypes\_rank::getScoreInfoValue("kill"); score = maps\mp\gametypes\_rank::getScoreInfoValue("kill");
@ -440,7 +456,7 @@ onNormalDeath(victim, attacker, lifeId)
onOneLeftEvent(team) onOneLeftEvent(team)
{ {
logPrint("onOneLeftEvent called\n"); logPrint("onOneLeftEvent called");
player = getLastLivingPlayer(team); player = getLastLivingPlayer(team);
@ -450,7 +466,7 @@ onOneLeftEvent(team)
giveLastOnTeamWarning() giveLastOnTeamWarning()
{ {
logPrint("giveLastOnTeamWarning called\n"); logPrint("giveLastOnTeamWarning called");
player = self; player = self;
@ -468,7 +484,7 @@ giveLastOnTeamWarning()
levelReleaseTimer() levelReleaseTimer()
{ {
logPrint("levelReleaseTimer called\n"); logPrint("levelReleaseTimer called");
gameFlagClear("seekers_prerelease_setup"); gameFlagClear("seekers_prerelease_setup");
gameFlagClear("seekers_released"); gameFlagClear("seekers_released");
@ -537,7 +553,7 @@ levelReleaseTimer()
} }
handleSeeker() { handleSeeker() {
logPrint("handleSeeker called\n"); logPrint("handleSeeker called");
player = self; player = self;
@ -584,23 +600,20 @@ handleSeeker() {
wait 0.5; wait 0.5;
} }
primaryWeapon = GetDvar("scr_" + level.gameType + "_seekers_primary_weapon", "ak47_reflex_mp");
secondaryWeapon = GetDvar("scr_" + level.gameType + "_seekers_secondary_weapon", "deserteagle_tactical_mp");
// random primary weapon // random primary weapon
player GiveWeapon(primaryWeapon, RandomInt(9), false); player GiveWeapon(level.gameTweaks["seekers_primary_weapon"].value, RandomInt(9), false);
player setSpawnWeapon(primaryWeapon); player setSpawnWeapon(level.gameTweaks["seekers_primary_weapon"].value);
player SwitchToWeapon(primaryWeapon); player SwitchToWeapon(level.gameTweaks["seekers_primary_weapon"].value);
// deagle + tactical knife // deagle + tactical knife
player GiveWeapon(secondaryWeapon, 0, false); player GiveWeapon(level.gameTweaks["seekers_secondary_weapon"].value, 0, false);
// single semtex // single semtex
player GiveWeapon("semtex_mp"); player GiveWeapon("semtex_mp");
// ammo // ammo
player GiveMaxAmmo(primaryWeapon); player GiveMaxAmmo(level.gameTweaks["seekers_primary_weapon"].value);
player GiveMaxAmmo(secondaryWeapon); player GiveMaxAmmo(level.gameTweaks["seekers_secondary_weapon"].value);
// gametype-friendly perks // gametype-friendly perks
player GivePerk("specialty_lightweight"); player GivePerk("specialty_lightweight");
@ -619,7 +632,7 @@ handleSeeker() {
} }
handleHider() { handleHider() {
logPrint("handleHider called\n"); logPrint("handleHider called");
player = self; player = self;
@ -673,6 +686,7 @@ handleHider() {
player thread revealWhenGameEnds(); player thread revealWhenGameEnds();
/# /#
player thread enableUnlimitedReload(); player thread enableUnlimitedReload();
player thread enableWeaponDicing("+actionslot 2");
#/ #/
if (!gameFlag("seekers_released")) if (!gameFlag("seekers_released"))
@ -702,7 +716,7 @@ handleHider() {
setDisguiseModel(model) setDisguiseModel(model)
{ {
logPrint("setDisguiseModel called\n"); logPrint("setDisguiseModel called");
player = self; player = self;
@ -739,7 +753,7 @@ setDisguiseModel(model)
setRandomDisguiseModel() setRandomDisguiseModel()
{ {
logPrint("setRandomDisguiseModel called\n"); logPrint("setRandomDisguiseModel called");
player = self; player = self;
@ -751,7 +765,7 @@ setRandomDisguiseModel()
deleteDisguiseModel() deleteDisguiseModel()
{ {
logPrint("deleteDisguiseModel called\n"); logPrint("deleteDisguiseModel called");
player = self; player = self;
@ -767,7 +781,7 @@ deleteDisguiseModel()
updateDisguiseView() updateDisguiseView()
{ {
logPrint("updateDisguiseView called\n"); logPrint("updateDisguiseView called");
player = self; player = self;
@ -796,7 +810,7 @@ updateDisguiseView()
* person view and third person view. * person view and third person view.
*/ */
enableThirdPersonSwitch(playerCommand, value) { enableThirdPersonSwitch(playerCommand, value) {
logPrint("enableThirdPersonSwitch called\n"); logPrint("enableThirdPersonSwitch called");
player = self; player = self;
@ -828,7 +842,7 @@ enableThirdPersonSwitch(playerCommand, value) {
* are looking at. * are looking at.
*/ */
enableModelChange(playerCommand) { enableModelChange(playerCommand) {
logPrint("enableModelChange called\n"); logPrint("enableModelChange called");
player = self; player = self;
@ -963,7 +977,7 @@ handleModelMenuSelection()
*/ */
watchDisguise(angleLockingPlayerCommand, angleModeSwitchPlayerCommand) watchDisguise(angleLockingPlayerCommand, angleModeSwitchPlayerCommand)
{ {
logPrint("watchDisguise called\n"); logPrint("watchDisguise called");
player = self; player = self;
@ -1005,7 +1019,7 @@ watchDisguise(angleLockingPlayerCommand, angleModeSwitchPlayerCommand)
*/ */
watchDisguiseDamage() watchDisguiseDamage()
{ {
logPrint("watchDisguiseDamage called\n"); logPrint("watchDisguiseDamage called");
player = self; player = self;
@ -1039,7 +1053,7 @@ watchDisguiseDamage()
*/ */
enableDisguiseModelAngleModeSwitching(playerCommand) enableDisguiseModelAngleModeSwitching(playerCommand)
{ {
logPrint("enableDisguiseModelAngleModeSwitching called\n"); logPrint("enableDisguiseModelAngleModeSwitching called");
player = self; player = self;
@ -1079,7 +1093,7 @@ enableDisguiseModelAngleModeSwitching(playerCommand)
*/ */
enableDisguiseModelAngleLocking(playerCommand) enableDisguiseModelAngleLocking(playerCommand)
{ {
logPrint("enableDisguiseModelAngleLocking called\n"); logPrint("enableDisguiseModelAngleLocking called");
player = self; player = self;
@ -1112,7 +1126,7 @@ enableDisguiseModelAngleLocking(playerCommand)
*/ */
enableUnlimitedReload() enableUnlimitedReload()
{ {
logPrint("enableUnlimitedReload called\n"); logPrint("enableUnlimitedReload called");
player = self; player = self;
@ -1130,7 +1144,7 @@ enableUnlimitedReload()
*/ */
revealWhenGameEnds() revealWhenGameEnds()
{ {
logPrint("revealWhenGameEnds called\n"); logPrint("revealWhenGameEnds called");
player = self; player = self;

20
mod.csv
View File

@ -13,14 +13,14 @@ localize,MPUI_HIDEANDSEEK_CAPS
localize,MPUI_HIDEANDSEEK_SHORT_CAPS localize,MPUI_HIDEANDSEEK_SHORT_CAPS
localize,OBJECTIVES_HIDEANDSEEK_DEFENDER localize,OBJECTIVES_HIDEANDSEEK_DEFENDER
#rawfile,maps/mp/gametypes/_gametypes.txt rawfile,maps/mp/gametypes/_gametypes.txt
#rawfile,maps/mp/gametypes/dm.gsc rawfile,maps/mp/gametypes/dm.gsc
#rawfile,maps/mp/gametypes/hns.gsc rawfile,maps/mp/gametypes/hns.gsc
#rawfile,maps/mp/gametypes/hns.txt rawfile,maps/mp/gametypes/hns.txt
#rawfile,maps/mp/gametypes/war.gsc rawfile,maps/mp/gametypes/war.gsc
#rawfile,maps/mp/mods/_math.gsc rawfile,maps/mp/mods/_math.gsc
#rawfile,maps/mp/mods/_modellist.gsc rawfile,maps/mp/mods/_modellist.gsc
#rawfile,maps/mp/mods/_modversion.gsc rawfile,maps/mp/mods/_modversion.gsc
#rawfile,maps/mp/mods/disableClassMenu.gsc rawfile,maps/mp/mods/disableClassMenu.gsc
#rawfile,maps/mp/mods/helpingHints.gsc rawfile,maps/mp/mods/helpingHints.gsc

1 rawfile LICENSE.txt
13 localize OBJECTIVES_HIDEANDSEEK_DEFENDER
14 #rawfile rawfile maps/mp/gametypes/_gametypes.txt
15 #rawfile rawfile maps/mp/gametypes/dm.gsc
16 #rawfile rawfile maps/mp/gametypes/hns.gsc
17 #rawfile rawfile maps/mp/gametypes/hns.txt
18 #rawfile rawfile maps/mp/gametypes/war.gsc
19 #rawfile rawfile maps/mp/mods/_math.gsc
20 #rawfile rawfile maps/mp/mods/_modellist.gsc
21 #rawfile rawfile maps/mp/mods/_modversion.gsc
22 #rawfile rawfile maps/mp/mods/disableClassMenu.gsc
23 #rawfile rawfile maps/mp/mods/helpingHints.gsc
24
25
26