Medal of Honor: Allied Assault

File information

Last updated

Original upload

Created by

Searingwolfe

Uploaded by

Searingwolfe

Virus scan

Some suspicious files

Tags for this mod

About this mod

Cyber Attack and Search & Destroy game modes from Call of Duty: Modern Warfare 2 (2022) have been ported into MOHAA for 2023. The gameplay, rules, and conditions to win/lose in this mod are almost identical to the originals. They use "g_gametype 2" or TDM, but killed players go to team-only spectator. Players can be revived in Cyber Attack.

Permissions and credits
<><><> Cyber Attack / Search & Destroy Mod V1.50 <><><>
The popular Cyber Attack and Search & Destroy game modes from Call of Duty: Modern Warfare 2 (2022) have been ported into MOHAA for 2023.
The gameplay, rules, and conditions to win/lose in this mod are almost identical to the originals.
Both game modes use "g_gametype 2" or team deathmatch, but killed players go to team-only spectator instead of respawning.
In Cyber Attack, dead players are frozen like in Freeze Tag and other teammates can revive them (there are no long-range melt lasers in Cyber Attack).
In Search & Destroy, dead players cannot be revived. Bombsites and an explosive are also on the map, allowing a team to blow up the other team's bombsite to win the round.
Teams in both game modes have a specified amount of rounds to win (5 by default) before the map ends or until the map time limit runs out. Specific rules below.
<><><> <><><>
<><><> How To Install / Uninstall <><><>
If packed in a .zip, unpack the .pk3 file. Copy the .pk3 file and paste it in the "Medal of Honor/main" folder (same folder as Pak0.pk3, Pak1.pk3, Pak2.pk3).
Uninstall by deleting the .pk3 mod file from the "main" folder.
<><><> <><><>
<><><> Essential CVARS for UBER MODS Servers <><><>
This new CVAR allows for switching between the current 3 uber game modes (besides FFA or TDM) before loading a new map.
Place one of these lines into your server.cfg file, or add one of these lines to an .scr map script (before level waittill prespawn):
seta g_ubergametype ""// none or "0", default to g_gametype 1 or g_gametype 2.
seta g_ubergametype "bb"// UBER BASEBUILDER game mode
seta g_ubergametype "cyb"// CYBER ATTACK game mode
seta g_ubergametype "snd"// SEARCH & DESTROY game mode
seta g_ubergametype "ft"// FREEZE TAG game mode
To switch to any of the "obj/" maps from an FFA or TDM game mode map (such as "dm/"), type the following into the console:
g_gametype 4; map obj/obj_team1
g_gametype 4; map obj/obj_team2
g_gametype 4; map obj/obj_team3
g_gametype 4; map obj/obj_team4
<><><> <><><>
<><><> Features & Gameplay <><><>
- When the map loads, the first round begins after a few seconds (8 by default). Until the round begins, the bomb cannot be picked up, and all players can respawn after dying.
Once started, the bomb and bombsites become triggerable. Any players that die will go to team-only spectating mode (not actually in spectator), and a frozen body will appear where players died if playing Cyber Attack.
These frozen players can only be melted by their teammates, similar to Freeze Tag.
When revived, the melted player is respawned and teleported back to where they were frozen, only after all other players have moved far enough away from your frozen body (prevents players getting stuck inside each other). 
- While in team-spectating mode and waiting to get melted in Cyber Attack, or waiting for the next round in Search & Destroy, the spectating player can cycle between any living teammates or frozen dead bodies, with FIRE key (cycle forward) or USE key (cycle backward).
If the enemy team wins while your teammates are spectating, all team-spectators will begin spectating the enemy team until the next round begins (usually 3 seconds total).
If somehow all players are dead (round was a draw), then team-spectators will all teleport to and be trapped within their frozen body's beams until the next round begins.
- If a team wins but there are no players on the other team, scorepoints will not be added. A bomb (thread) and at least two bombsites (waitthreads) are added in the main map script.
If a bomb-carrying player dies, the bomb drops to the ground. If a bomb-carrying player leaves or changes teams or goes to spectator, the bomb respawns back to the origin it was last picked up at.
- Cyber Attack: This game mode is best played on DM maps, since bombsites switch team defenders every 3 rounds. Each team has a bombsite to defend at all times, ideally placed near opposite corners of the map in DM maps or near team spawnpoints in OBJ maps.
The Allies bombsite is blue-lit and the Axis bombsite is red-lit. The radiobomb is ideally spawned near the middle of the map. Both teams must find the purple-lit bomb and plant it on the opposite team's bombsite. The bomb takes 1.5 seconds to plant/defuse.
If defused by the enemy team, the defusing player receives the radiobomb, ready to be planted on the enemy team's bombsite. To win, players must kill all enemies or plant and destroy the enemy's bombsite.
Every 3 rounds, the bombsites "change sides": all Allies bombsites become Axis, and all Axis bombsites become Allies.
- Search & Destroy: This game mode is best played on OBJ maps, so the bomb can always spawn near the planting team's spawnpoints.
Depending on "level.changesides" (0 or default = Allies plant first, 1 = Axis plant first), one team has two bombsites to find and defend, while the other planting team must find and destroy a bombsite.
These bombsites are ideally placed near the center of the map where both teams clash in gun battles the most, but kept far enough away from each other so the defending team cannot defend both bombsites with one player simultaneously.
The bomb is ideally spawned near the planting team's spawnpoints, whose origin changes when the planting team changes. The bomb cannot be picked up by players on the defending team. The bomb takes 4.5 seconds to plant/defuse.
If defused by the enemy team, the defusing team wins immediately. To win, players must kill all enemies, plant and destroy the enemy's bombsite, or defuse the enemy's bomb.
Every 3 rounds, the bombsites "change sides": the planting team becomes defenders, the defending team becomes planters, and all bombsites change teams accordingly. 
- Freeze Tag: This game mode is an almost identical replica of Mefy's Freeze Tag. Unlike Cyber Attack where melted players respawn back to their dead bodies, Freeze Tag simply respawns the melted players.
There are no bombs or bombsites in Freeze Tag, so any "bombsite" or "bomb" threads are ignored by the script (still requires running the main script, or running "......scr::main" to run this game mode).
After the round begins, the 1st team to kill all enemy players wins the round.
<><><> <><><>
<><><> Main Map Script Parameters <><><>
- bombsite: Make sure these are waitthreads, so the bombsite's targetname can increment after a previous bombsite has finished spawning. Parameters: origin, angle, team.
The "team" parameter only applies to Cyber Attack, since "level.changesides" will determine the team for both bombsites in Search & Destroy.
Both teams in Cyber Attack can have more than 1 bombsite if desired, but make sure they have at least 1 bombsite. Search & Destroy can also have 1, 2, or more bombsites since team parameter is ignored.
Run "exec global/cyberattack_searchdestroy.scr" after level waittill spawn and after all cyberattack_searchdestroy.scr threads run. Example below:
- waitthread global/cyberattack_searchdestroy.scr::bombsite ( -1210 485 168 ) -90 axis // team parameters can be removed for search & destroy.
- waitthread global/cyberattack_searchdestroy.scr::bombsite ( 1297 2461 672 ) 90 allies
- bomb: Parameters: Allies origin, Allies origin, Axis origin, Axis angle, central origin, central angle. Both Allies and Axis origins/angles are for Search & Destroy only.
The central origin/angle is for Cyber Attack only. The bomb color is always blue when Allies are planting, and red when Axis are planting in Search & Destroy. Only spawn in one bomb per map. Examples below:
- thread global/cyberattack_searchdestroy.scr::bomb ( -153 1445 96 ) 180 ( -153 1445 96 ) 180 ( -153 1445 96 ) -90 // cyb & snd
- thread global/cyberattack_searchdestroy.scr::bomb ( 0 0 0 ) 0 ( 0 0 0 ) 0 ( -153 1445 96 ) -90 // cyber attack only
- thread global/cyberattack_searchdestroy.scr::bomb ( -153 1445 96 ) 180 ( -153 1445 96 ) 180 ( 0 0 0 ) 0 // search & destroy only only
- level.round_starttime: 8 seconds default. This variable determimes the time in seconds until the round begins, disabling respawning and forcing dead players to spectate their teammates until the next round begins.
Waiting a few seconds for a new round to begin serves as a temporary spawn protection. 
- level.rounds_towin: 5 rounds to win default. This determines how many rounds a team must obtain before winning and ending the map, allowing a winning game to be as close as 5 to 4 points by default.
- level.changesides: 0, Allies plant first default. This can only be 0 or 1, where 1 = Axis plant first (for Search & Destroy).
If playing Cyber Attack, setting level.changesides = 1 will flip the bombsite's defending teams to the opposite teams initially.
Every 3 total rounds, level.changesides toggles from 1 to 0 or from 0 to 1. 
- level.keepsamesides: 0, no nothing default. If set to 1, level.changesides will never increment, mainly for OBJ & singleplayer maps (bomb & bombsites will not change teams every 3 rounds).
- level.spectators_jointeams: 0, do nothing default. If set to 1, all actual spectators will be forced to auto-join teams and be given a machine gun, pistol, and grenades when the round begins.
If those players are still AFK, they'll eventually get killed and placed into team-spectating mode until the next round begins.
- level.bombcamera: 0, do nothing default. If set to 1, when a bombsite is about to explode, all players' cameras are moved to the bombsite to view the explosion, before returning all cameras back to their respective players' heads after a few seconds.
While viewing the explosion, players cannot see or kill each other.
- level.cameradistance: 200 default. This determines the distance between a bombsite and all players' cameras when the bombsite blows up.
Some bombsites are indoors. If the camera is inside the wall or the bombsite is invisible during explosion, this variable should be lowered.
- level.melttime: 3 seconds default. This determines the time in seconds for a player to melt/revive a teammate.
Note: there's always roughly a half-second extra time required for all players to move away from the melted/revived teammate, before he respawns.
- level.meltrespawn: 0, respawn melted/revived players back to their frozen bodies default. If set to 1, then all players that get melted/revived will not tele back to their dead bodies (regular respawn instead).
This = 1 by default for Freeze Tag only, unless specified as level.meltrespawn = 0.
- level.meltlaser: 0, laser beam is invisible default (Freeze Tag only). If set to 1, all players' melting laser beams (when holding USE key) are visibie.
- Run "exec global/cyberattack_searchdestroy.scr" after level waittill spawn and after all cyberattack_searchdestroy.scr threads run.
<><><> <><><>