Files
Bubberstation/code/modules/bitrunning/areas.dm
SkyratBot bf3a907649 [MIRROR] Virtual Domains now have certain areas protected from ghost role interference (#27618)
* Virtual Domains now have certain areas protected from ghost role interference (#82960)

## About The Pull Request

This touches up on the bitrunning ghost roles that come with some maps,
namely Corsair Cove and Syndicate Assault.

The gist of it is: Ghost role spawners and Digital Anomalies (the random
event boss mobs) are now restricted from entering the VDOM safehouse,
and other areas where critical equipment is stored.

Here's an example from Syndicate Assault -- The X-ed out area is
considered "out of bounds" for digital anomalies/ghost roles:

![image](https://github.com/tgstation/tgstation/assets/28870487/b0752dd4-102b-4b64-8c21-c100a58c1a96)

Additionally, this also fixes the matter of pirate ghost role spawns
creating their own antag datum/pirate team, which would carry into the
roundend report. Since these are no longer legitimate pirate spawners
and are now specifically designed spawners for virtual domains.

Naturally, emagging the server jailbreaks all of these restrictions and
notifies any virtual entities.

The new subtype of spawners should also be scalable enough that new
VDOMs should be able to implement new ghost role spawners with ease.
## Why It's Good For The Game

It's one thing to have sentient mobs to fight, which can shake up the
otherwise somewhat static nature of bitrunning maps, but when players
are tossing equipment, spawncamping, or otherwise making it impossible
for the runners to fight them it ends up being unfun for everyone
involved. You can't get into a good fight with a bitrunner avatar if
their only recourse is to wipe the map and everything (YOU) in it.

This ensures a level of fairness between the (typically vindictive)
ghost roles of a VDOM and the players.

Also, pirate spawns don't make a new pirate team/datum. That's one of
the fixes I was aiming for with this.
## Changelog
🆑 Rhials
balance: Virtual domain ghost roles can no longer enter the
safehouse/"equipment" areas of a domain.
fix: Pirate virtual domain ghost roles will no longer make a pirate team
antag datum.
/🆑

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com>

* Virtual Domains now have certain areas protected from ghost role interference

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com>
2024-05-07 17:38:19 +02:00

62 lines
1.8 KiB
Plaintext

/// Station side
/area/station/cargo/bitrunning
name = "Bitrunning"
/area/station/cargo/bitrunning/den
name = "Bitrunning Den"
desc = "Office of bitrunners, houses their equipment."
icon_state = "bit_den"
/// VDOM
/area/virtual_domain
name = "Virtual Domain Ruins"
icon_state = "bit_ruin"
icon = 'icons/area/areas_station.dmi'
area_flags = UNIQUE_AREA | NOTELEPORT | ABDUCTOR_PROOF | EVENT_PROTECTED | HIDDEN_AREA
has_gravity = STANDARD_GRAVITY
requires_power = FALSE
/area/virtual_domain/fullbright
static_lighting = FALSE
base_lighting_alpha = 255
/// Safehouse
/area/virtual_domain/safehouse
name = "Virtual Domain Safehouse"
area_flags = UNIQUE_AREA | NOTELEPORT | ABDUCTOR_PROOF | EVENT_PROTECTED | VIRTUAL_SAFE_AREA
icon_state = "bit_safe"
requires_power = FALSE
sound_environment = SOUND_ENVIRONMENT_ROOM
/// Custom subtypes
/area/lavaland/surface/outdoors/virtual_domain
name = "Virtual Domain Lava Ruins"
icon_state = "bit_ruin"
area_flags = UNIQUE_AREA | NOTELEPORT | ABDUCTOR_PROOF | EVENT_PROTECTED | HIDDEN_AREA
/area/icemoon/underground/explored/virtual_domain
name = "Virtual Domain Ice Ruins"
icon_state = "bit_ice"
area_flags = UNIQUE_AREA | NOTELEPORT | ABDUCTOR_PROOF | EVENT_PROTECTED | HIDDEN_AREA
/area/ruin/space/has_grav/powered/virtual_domain
name = "Virtual Domain Space Ruins"
icon = 'icons/area/areas_station.dmi'
icon_state = "bit_space"
area_flags = UNIQUE_AREA | NOTELEPORT | ABDUCTOR_PROOF | EVENT_PROTECTED | HIDDEN_AREA
///Areas that virtual entities should not be in
/area/virtual_domain/protected_space
name = "Virtual Domain Safe Zone"
area_flags = UNIQUE_AREA | NOTELEPORT | ABDUCTOR_PROOF | EVENT_PROTECTED | VIRTUAL_SAFE_AREA
icon_state = "bit_safe"
/area/virtual_domain/protected_space/fullbright
static_lighting = FALSE
base_lighting_alpha = 255