-
Notifications
You must be signed in to change notification settings - Fork 0
Level Editing
To build levels for Argainum you're going to need a level editor. Arganium levels make extensive use of Action Code Script (ACS) and as a result the map format should be set to one that supports it. If you do not, you will not get the SCRIPTS lump in the resultant file's scripts may not function.
When making a level due to the way scripting works you'll need to also create a LOADACS lump and a MAPINFO lump as described in the Assets documentation.
While most of the scripts in Arganium rely on nothing more than appropriate sector, linedef, and thing tags there are unfortunately some functions that simply cannot work without using enumerated scripts. The following are reserved scripts and how they fit into level editing. Do NOT issue your scripts with these numbers or it will break your WAD!
- 1: Hackswitch activation script. When placing a Hackswitch you must set the Action of the Linedef for the Hackswitch to "Script Execute." Supply the script number 1 and the Area number as the first and only argument.
Tags are critical to the functioning of a Arganium level as they form the targets the scripting are going to drive. The following are the reserved tags:
- Hackdoor Tags: you'll need to assign each Hackdoor a sector ID tag (1-9) and make a note of them for Arganium server configuration.
- PowerUp Spawner Tags: in each Hackdoor-accessible area there is one friendly PowerUp spawner. Its tag is formed as a two digit number with the first being the Hackdoor Tag (1-9) and the second being 0. This means that the PowerUp spawner in the first Area is 10, the PowerUp spawner in the third Area is 30.
- Enemy Spawner Tags: each enemy spawner in each area needs a tag. This tag is formed as a two digit number with the first being the Hackdoor Tag (1-9) and the second being 1. This means all Enemy Spawners in Area 2 are tagged 21 and all Enemy Spawners in Area 4 are tagged 41.
- Hacklift Tags: if you wish for your level to contain Hacklifts (and it's strongly recommended you have at least one or two) you will need to assign them a unique tag. This may be whatever you wish, provided it's not a reserved tag, BUT you must list all of them in the <map name>-properties.yml
- Note: you will also need to supply the direction the Hacklift moves, 'up' or 'down' in the properties file as well. Examples are provided.