Mapper-settable boss healthbar support.

This commit is contained in:
Mari the Deer 2022-09-11 13:58:49 +02:00
commit a4830f6008
8 changed files with 84 additions and 13 deletions

View file

@ -2,19 +2,31 @@
### Tokens
- **Disabling the store:** Give the player `"SWWMStoreDisabler"` item on map load.
- **Disabling revives:** Give the player `"SWWMReviveDisabler"` item on map load.
- **Disabling the store:**<br/>Give the player `"SWWMStoreDisabler"` item on map load.
- **Disabling revives:**<br/>Give the player `"SWWMReviveDisabler"` item on map load.
**Note:** Tokens are flagged as "unclearable", so they have to be removed directly with `TakeInventory`.
**Note:** Tokens are flagged as *"unclearable"*, so they have to be removed directly with `TakeInventory`.
### Mission log
- **Adding a new entry:** `CallACS("SWWMMissionLog","AddLog","YOUR TEXT HERE")`. Prefixed LANGUAGE entries are supported.
- **Setting the date and time:** `CallACS("SWWMMissionLog","SetClock",year,month,day,hour,minute,"timezone")`. Note that month and day start counting from zero, not one *(for programming-related reasons)*.
- **Adding a new entry:**<br/>`CallACS("SWWMMissionLog","AddLog","YOUR TEXT HERE")`<br/>Prefixed LANGUAGE entries are supported.
- **Setting the date and time:**<br/>`CallACS("SWWMMissionLog","SetClock",year,month,day,hour,minute,"timezone")`<br/>Note that month and day start counting from zero, not one *(for programming-related reasons)*.<br/>Please use abbreviations for timezones *(e.g.: EST, CET)*.
### Custom boss healthbars
Using `CallACS("SWWMHandler","AddBoss",tid,"YOUR TAG HERE")` you can assign a group of monsters that will be treated as a boss fight, with a collective healthbar. Note that each call to this function will clear any active boss encounters. Prefixed LANGUAGE entries can be set as a tag, and the mod can automatically look up an alternative with the *"_FUN"* suffix if *"Fun Tags"* are enabled, should there be one defined.
An optional boolean argument can be passed that flags the boss fight as an *"end game"* boss. This serves little purpose other than allowing one specific achievement *("Kill an end-game boss with the Ynykron")* to work properly.
The tag argument is used for the name above the healthbar, so you can give the boss a custom title *(e.g.: "Woobie, Destroyer of Worlds")*. Passing an empty string will use whatever tag the first monster in the list has.
If the assigned boss is a *"BossBrain"* or a subclass of it, it will look for *"BossEye"* actors as well. This is so the healthbar appears only when the eye *"sees"* a player. Do note that if you have multiple boss eyes in the map *(does anyone do that???)*, this may break as it will always use the first one.
### Placing items
**DEMOLITIONIST** does not have standard DoomEdNums assigned to any of its items by default, in order to avoid potential collisions with other custom maps, so you will have to set them yourself. Copy the following to your MAPINFO:
**DEMOLITIONIST** does not have standard DoomEdNums assigned to any of its items by default, in order to avoid potential collisions with other custom maps, so you will have to set them yourself.
Copy the following to your MAPINFO:
```
DoomEdNums