Files
Bubberstation/code/modules/bitrunning/objects/landmarks.dm
SkyratBot d852cc21df [MIRROR] Adds a modular bitrunning map, changes safehouse spawns [MDB IGNORE] (#25363)
* Adds a modular bitrunning map, changes safehouse spawns (#79937)

## About The Pull Request
Primarily, this adds one new map to bitrunning that uses modular rooms.

<details>
<summary>pictures</summary>

![image](https://github.com/tgstation/tgstation/assets/42397676/48d78e05-1134-477c-a269-a4b71064058b)

![Screenshot 2023-11-25
133937](https://github.com/tgstation/tgstation/assets/42397676/851d6235-e939-465c-92e5-830886d50d9c)

![image](https://github.com/tgstation/tgstation/assets/42397676/6094dae6-fc3b-4cc4-9fd5-d7dd6d944cee)

</details>

I also added in some changes:
- Safehouses are now loaded using the modular map system rather than the
bespoke solution qservers had.
- Lowers the difficulty of psyker shuffle (which I felt was a little too
nightmarish) and boosts its rewards.
## Why It's Good For The Game
New maps
More integration with prior systems
## Changelog
🆑
add: Added a new modular bitrunning domain - Starfront Saloon.
balance: Psyker shuffle domain was made slightly easier and has been
given more rewards.
/🆑

* Adds a modular bitrunning map, changes safehouse spawns

* Linterpass minus Milsim

* readds Milsim

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Zergspower <Griffinj88@yahoo.com>
2023-12-06 16:48:12 -06:00

74 lines
2.5 KiB
Plaintext

/obj/effect/landmark/bitrunning
name = "Generic bitrunning effect"
icon = 'icons/effects/bitrunning.dmi'
icon_state = "crate"
/// In case you want to gate the crate behind a special condition.
/obj/effect/landmark/bitrunning/loot_signal
name = "Mysterious aura"
/// Where the exit hololadder spawns
/obj/effect/landmark/bitrunning/hololadder_spawn
name = "Bitrunning hololadder spawn"
icon_state = "hololadder"
/// Where the crates need to be taken
/obj/effect/landmark/bitrunning/cache_goal_turf
name = "Bitrunning goal turf"
icon_state = "goal"
/// Where you want the crate to spawn
/obj/effect/landmark/bitrunning/cache_spawn
name = "Bitrunning crate spawn"
icon_state = "crate"
///Swaps the locations of an encrypted crate in the area with another randomly selected crate.
///Randomizes names, so you have to inspect crates manually.
/obj/effect/landmark/bitrunning/crate_replacer
name = "Bitrunning Goal Crate Randomizer"
icon_state = "crate"
/obj/effect/landmark/bitrunning/crate_replacer/Initialize(mapload)
. = ..()
#ifdef UNIT_TESTS
return
#endif
var/list/crate_list = list()
var/obj/structure/closet/crate/secure/bitrunning/encrypted/encrypted_crate
var/area/my_area = get_area(src)
for(var/turf/area_turf as anything in my_area.get_contained_turfs())
for(var/obj/structure/closet/crate/crate_to_check in area_turf)
if(istype(crate_to_check, /obj/structure/closet/crate/secure/bitrunning/encrypted))
encrypted_crate = crate_to_check
crate_to_check.desc += span_hypnophrase(" This feels like the crate we're looking for!")
else
crate_list += crate_to_check
crate_to_check.name = "Unidentified Crate"
if(!encrypted_crate)
stack_trace("Bitrunning Goal Crate Randomizer failed to find an encrypted crate to swap positions for.")
return
if(!length(crate_list))
stack_trace("Bitrunning Goal Crate Randomizer failed to find any NORMAL crates to swap positions for.")
return
var/original_location = encrypted_crate.loc
var/obj/structure/closet/crate/selected_crate = pick(crate_list)
encrypted_crate.abstract_move(selected_crate.loc)
selected_crate.abstract_move(original_location)
/// A location for mobs to spawn.
/obj/effect/landmark/bitrunning/mob_segment
name = "Bitrunning modular mob segment"
icon_state = "mob_segment"
/// Bitrunning safehouses. Typically 7x6 rooms with a single entrance.
/obj/modular_map_root/safehouse
config_file = "strings/modular_maps/safehouse.toml"
icon = 'icons/effects/bitrunning.dmi'
icon_state = "safehouse"