There are various asw_objective types you can chose from when building your own levels. You can place them anywhere in your map. Its best to place them together, near the end of the level, for organization.
Important: The order they are listed in the mission briefing is based on their North to South position in the map!
The objective titles and descriptions that are displayed in menus and in the hud are called from swarm_english.txt(found in ...resource/swarm_english.txt). If you're making your own campaign and you need to provide your own swarm_english.txt, you can copy the one in "common\alien swarm\swarm\resource" to your mod's resource directory. If you write one from scratch, it is likely you will miss some entries and it is possible for your campaign to silently crash the game.
You can specify the titles and descriptions in the objective entity properties.
- This objective doesn't have any requirements or goals. It is simply used to display an extra entry on the briefing screen. It can be used to give an overview of your mission or provide any extra information the players might need for your mission.
- This objective requires the marines to kill a certain number of Asw eggs.
- This objective requires the marines to kill a certain number of Swarm aliens.
- This objective requires the marines to destroy a certain amount of Swarm Biomass (i.e. Asw alien goo entities). Swarm Biomass can only be destroyed with fire.
- This is a generic objective that allows the level designer to create an interesting custom objective, triggering this entity when the task is complete.
- This objective will be marked as complete when all other objectives are complete and all live marines are inside a trigger_multiple which calls the MarineInEscapeArea input on this entity.
- This objective is used as an emergency countdown timer, requiring the marines to perform some task within a time limit or face mission failure.
- Generic counter objective.
- This is used as the proxy marker for an Objective. This will show up on the mini-map. An example: You have multiple eggs in different locations in a map you can place markers at each egg location and parent them to the "Asw objective kill eggs". Now your markers will show up in the mini-map and will be tied to the "Asw objective kill eggs" objective. These markers can be individually set to visible or invisible. This comes in handy in the example given. As player kills eggs you can have an output from the egg set the marker for that egg to "visible" "0". Making the egg invisible.
When a mission is completed, the players are shown some text on the Debrief screen. You can set this text for your mission with the Asw debrief info entity.
Technical Marine Requirements
Certain objectives or parts of your mission may require a tech marine to complete. You can use an Asw tech marine req entity to tell the game about this, so it can show mission failure when all tech marines are dead and won't allow the mission to be started without a tech marine.
Note: If you use this requirement it is important that you set the final tech-hack (button or computer or whatever) so that it fires a "DisableTechRequirement" output to the asw_tech_marine_req entity. Otherwise the tech player will need to survive to the very end of the mission, even after he's finished doing all of his hacks, for the mission to be completed.
(If there are multiple tech hacks that may be completed in no particular order, use a math_counter, with a max value equal to the number of hacks. After each hack, fire an Add 1 output to the math_counter. When the counter maxes out [i.e. when all the hacks are done], it then needs to fire the DisableTechRequirement output to the asw_tech_marine_req entity.)
Certain objectives may require special equipment, e.g. burning the alien goo on Residential. You can use an Asw equip req entity to list up to 3 pieces of equipment needed in your mission. The marines won't be able to start the mission without at least one of each selected.
It is also possible to highlight objectives on the mini- and briefing map, using the asw_marker entity.