Map Entities
From Exterminatus Manual
++ Mapping ++
Here you will find a full list of all the custom map entities in Exterminatus.
Contents |
ex_gameplay
Required - Logical Entity
Sets up the start of the round and allows you (the mapper) to tell the game which team won the round.
One (and only one) of these is required by exterminatus per map. A temporary ex_gameplay will be created by the mod at run time if you don't include one in the map.
Specify the names of the ex_objectives where each team starts spawning in the "Human Start Objective" and "Tyranid Start Objective" properties.
Each EX map has it's own translation file (see ex_mission), by default the name of the BSP file is used to determine the name of the translation file to load, you cna override this behaviour by specifying the file name in the "Translation File Name". This is usefull if you have ex_mymap_version_1.bsp, ex_mymap_version_2.bsp and ex_mymap_version_3.bsp etc and have them all get their translations from ex_mymap_english.txt.
If you specify the name of a ex_mission entity in the "Start Mission" property then that mission will be active as soon as the map loads.
Fire the "Imperials Won" or "Tyranids Won" inputs to dictate who won the game. The ex_gamplay entity can also tell you when each team is due to start spawning via it's "OnTeamSpawnWaveReady" outputs.
ex_objective
Required - Logical Entity
Co-ordinates game flow, in-game objectives and team spawning.
Objectives belong to a team specified by their "Initial Team" property. When a map loads most of the ex_objective entities should be Neutral, with the Imperial and Tyranid teams owning one ex_objective each. By activating the "Captured" input a player can change which team the objective belongs to (and receives reward points). When an objective is captured it chooses another objective to become the focus of gameplay based on "Next Imperial Objective" or "Next Tyranid Objective", depending on which team captured it and fires that objective's "On Become Target" output and it's own "OnTeamCaptured" output. "On Become Target" output is foreseen to be used for activating an ex_mission and related entities.
The objective's "Name Token" property specifies how the objective is described as it appears on the Tactical Overview and on the HUD when it is captured. The actual wording is looked up in the map translation file (see ex_mission for details).
Objectives appear on the HUD and the Tactical overview screen. While it is not absolutely necessary to keep an ex_objective with it's respective ex_mission(s) and ex_dropzones it's probably a good idea to avoid confusion. Players waiting to spawn get the view from their team's next objective, so give them something interesting (moving) to look at.
NOTE: At any given time both teams missions should be focused on a single ex_objective, with each team having its own ex_objective that acts as the team spawn.
ex_dropzone
Required - Location Entity
Spawn points associated with ex_objectives.
When a teams spawn timer hits 0 and dead players on that's team are respawned ex_dropzones with an "Objective" that was last captured by the team. Dropzone's containing other solids will not be used by the game (to prevent telefragging or players getting stuck in geometry) so make sure your dropzones don't stick into the walls, floors or ceilings.
NOTE : There needs to be enough of these for an entire team of 8 players to spawn at once for each ex_objective. Players cannot be spawned at drop zones that are blocked by any kind of solid (This includes other players). The objective with the least number of drop zones determines the greatest number of players the map can support.
ex_mission
Optional - Logical Entity
Tells the players what their mission is.
ex_mission entities rely on a map and language specific file in [Valve Text File Format] that is kept in the ex/maps folder named like mapname_language.txt. If the file does not exist for the player's language EX will try mapname_english.txt, if that is also missing EX will report the missing file in the player's console. The text file is supposed to contain a series of "tokens" and a translation of their text in the specific language. Mappers using ex_mission entities should make their own mapname_english.txt based on the sample provided.
Sample mission file:
"lang"
{
"Language" "English"
"Tokens"
{
"neutral_tyranid" "USE the button on the skull console to capture the neutral objective"
"neutral_human" "USE the button on the skull console to capture the neutral objective"
"tyranid_tyranid" "Defend your console and capture the neutral objective"
"tyranid_human" "USE the button on the tyranids console to stop them spawning"
"human_tyranid" "USE the button on the humans console to stop them spawning"
"human_human" "Defend your console and capture the neutral objective"
}
}
The "Imperial Token" and "Tyranid Token" properties relate to "token" names in the text file for this map. The value of each the tokens describes the respective team's mission. If the text file doesn't exist the token will be used instead of the translation. Fire the "ActivateMission" input to assign the teams these missions, the translations will then pop up on the players HUD.
While it is not absolutely necessary to keep an ex_mission with it's respective ex_objective, ex_dropzones it's probably a good idea to avoid confusion. Player's can find their team's current mission by checking the tactical overview screen.
NOTE: it's up to the mapper to provide and activate the appropriate entities to allow the player to achieve their mission.
ex_random_branch
Optional - Logical Entity
When it's "Randomize" input is triggered a random branch output will be triggered, all specified outputs have an equal chance of being triggered.
Intended to introduce some unpredictability into the paths of dropships and missions, by toggling alternative ex_dropship_paths or ex_missions
++ Redundant Map Entities ++
ex_award
Optional - Logical Entity
Give a player extra reward points (on top of kills and captures)
ex_award has a single input "Activate" that takes a parameter override, when a player activates the ex_award (via a button or trigger) the parameter determines how many points they should be given.
NOTE: the normal points limit and overflow mechanism applies to this award too.
ex_filter_team
Optional - Logical Entity
Make any standard trigger team specific
When it's "Activate" input is triggered it compares the activating players team with it's "Tyranid Blocked" and "Humans Blocked" properties to decide if it should fire it's "OnActivate" output or it's "OnBlocked" input.
ex_filter team also has specific outputs for each team activating or being blocked, so you can have an input trigger a different output depending on the team of the player who activated it.
The "<team> Blocked" properties can be toggled in-game using the "Toggle <team>" inputs to un-block or start blocking a specific team.
ex_filter_one_team
Optional - Logical Entity
A (second, complementary) way to make a standard trigger team specific
When it's "Activate" input is triggered it compares the activating players team with it's "Filter Team" property and it's blocking state (set by the "Start Blocked" property) to decide if it should fire it's "OnActivate" output or it's "OnBlocked" input.
The blocking state can be controlled using the "Start Blocking" and "Stop Blocking" inputs.
