This primer will show you how to change the settings of the purge in the related tables in the Unreal Editor. It will also - briefly - touch on how to implement functionality for purge points given out by player events.
The purge is an event that happens periodically where creatures and/or humans from the surrounding area bands together and mounts an attack on a player outpost. The area where you build determine what type of monsters will spawn from the purge, whereas the server settings determine the difficulty of the purge.
Players / clans gain purge points by completing activities. Different activities grant different amounts of purge points and once a certain threshold has been passed (by default 42000) the player/clan is egligible for a purge. Once a purge happens, the purge meter is reduced by 42000 points (or whatever the purge threshold is).
This table is where you can change how many points are given to players/clans for completing certain activities. These activities are checked every [n] minutes (default 15) by the server. It doesn't matter if you have killed a single human or 500, the same amount of points are still given out.
This is the main content blob of the purge system - this is where you can control what waves of what creatures spawn under which difficulties and which wave leads to the next wave, etc.
Wave Name - this is just an identifier for the wave itself and is used by the "Next Wave" field further down.
Wave Display Name - this is the text string that is displayed on the splash screen when a purge is imminent.
Area Min - This is the lowest X and Y coordinate for this particular purge area. As mentioned before, purges spawn depending on where you have built your base and these values help define that area.
Area Max - This is the highest X and Y coordinate for the defined area.
Waves:
Difficulty Threshold - Each purge entry is defined by a difficulty threshold that defines if the wave can spawn or not. The purge system first checks what purges are legitimate spawns for the area, and then checks for the purge difficulty setting and prunes non-legit purges. In the example image on the right, the difficulty setting here is set to 1, which means that this wave will spawn on all difficulties (1-6).
Off Base Spawn Data - These weighted spawn table references are used to randomly spawn what creatrues are part of the wave. In the example, we randomize between ExileArcher_Low and ExileFighter_Low
On Base Spawn Data - These weighted spawn table references are used when the purge system cannot find a good pathing-solution to the player base. It's a fallback system where - if the player has built their base in such a way that normal monsters can't find their way there - it will instead spawn these monsters during the wave, much closer to the base.
Boss - A "boss" is a single spawn entry that spawns in the wave (weighted table reference)
In Base Boss - The same as above, except for that it works just like the On Base Spawn Data.
Boss spawn delay - if you want the boss to spawn after a certain amount of seconds, here is where you input that delay.
Spawn Cap - this determines the grand total amount of enemies spawned for the entire wave. If all these enemies are defeated, the purge will progress to the next wave (defined in "Next wave")
Active cap - this determines how many purge enemies can be active at the same time. If the Spawn Cap is 40, and the active cap is 5, the purge will continuously fill up until the spawn cap has been reached when a purge member is killed off (or put into the wheel of pain).
Spawn Location Cap - this determines how many different spawning areas a wave can have. Typically, this is set to 2-3.
Next Wave - if this is set to "None" and the purge wave is defeated or the purge timer runs out, the purge ends. If you want to link this wave to another wave, here is where you make that link.
Wave Time - This is the length of time before the purge automatically progresses to the next wave. By default, this is set to 600 (5 minutes).
Kill Pawn Purge NPC's at Purge End - Check this if you want the remaining purge NPC's to die instead of walk off at the end of the purge.
PurgeScore
PurgeScore is accumulated by clans and players. Once it reaches a certain limit a clan/player becomes eligible for being purged. Purge score is given in intervals based on the “Purge update interval.” Default settings is every 15 minutes.
PurgeEvents
Every X minutes, purge score is handed out to clans depending on what they did in the last interval. Events are listed in PurgeEventConfigTable
EventName |
Description |
Value |
---|---|---|
Log On |
A player in the clan logs in. |
100 |
Timer Tick |
A player in the clan is online when the timer ticks |
62.5 |
Kill Human |
A player in the clan kills a player |
200 |
Kill NPC |
A player in the clan kills an NPC |
200 |
Place T1Building |
Any building piece is placed by a player in the clan. |
200 |
Timer Tick |
If no player in this clan has been online for a long time, Tick starts deducting points instead of adding. |
-62.5 |
Notes:
You can only get points once for each event per tick. That means even if you kill 10 players in 5 minutes you still only get 200 points for it.
There are other events listed in the table, however they do are not implemented.
As purge points accumulate the meter fills. once it reaches the middle line you are eligible to be purged. However, we cannot always guarantee purges happen quickly, so purge points still accumulate up to the second bar.
When the player is eligible to be purged, the bar turns purple.
Purge Level: Represents the maximum difficulty of the purges that can spawn.
Purge Delay: Represents the time between a purge ends and another one can start.
Restrict Purge Time: If this is true, purges can only happen if server time is between the values shown.
Preparation time: Warning time given to players before purge spawns.
Duration: Time to defeat the purge before it ends itself.
Allow building: Whether it is okay to build or not while a purge is running.
Trigger value: Minimum value before a clan is eligible for purge.
Update Interval: Number of minutes between events being tallied. Note that if you reduce this number you make purges appear really quickly.
StartPlayerPurge [WaveName] - Attempts to start a purge for the current player. Note that it takes a while before the purge starts.
PurgeClan [ID] [WaveName] - Attempts to start a purge for the clan with the ID provided.
UpdateClanPurgeMeter - Runs the purge event check function for all clans, giving them points for completed actions. Useful for debugging if actions are correctly giving points.
FillAllClanPurgeMeters - As the name suggests.
FillPlayerClanPurgeMeter - Fills MY purge meter.
PurgeKillCurrentWave - Attempts to kill all currently alive NPCS for the current wave. Note that if there are still NPCS that have not spawned for the current wave, this cheat will not kill them.