mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-13 09:05:11 +01:00
68be76e817
## About The Pull Request Adds the following new general shuttle events:_ **Hitchhiker** - 1% chance - A single assistant in an EVA suit and some PBJs in a suitcase **Assistant Wave** - 0.1% chance - Spawns 10 assistants with internals - For clarity, they don't get sent to the shuttle, but get launched at it from space. It's a scuffle of 10 assistants trying to get in without being spaced or succumbing to the cold/pressure **Intern Wave** - Admin only - Unarmed and armed version - Spawns centcom interns, with a little announcement to warn they're coming I've also fixed projectiles bugging out and admin forced shuttle events not activating if they were added after the shuttle launched <details> <summary>Admin only events added</summary> **Nukie** Spawns a single nukie, armed with a shotgun, pistol and edagger. Basically the deathmatch nukie loadout, you dont want to fight this **Meaty ores** Meaty-ores meteors. Have a 4% chance to hit the shuttle, posing a potential hazard **3 player controlled fire-sharks** 3 fire sharks controlled by players. Not much to talk about here **Fireball Wave** Shoots a wave of fireballs at the shuttle. I think it's cool but apparently shuttle walls and windows deflect fireballs so it's kind of moot unless you're outside :/ </details> ## Why It's Good For The Game The assistant and hitchhiker events are some flavoring that I thought up a while ago. The Hitchhiker is just intentionally a flavor addition, but the assistant wave and intern wave can be used by admins to repopulate or retake the emergency shuttle as well. ## Changelog 🆑 add: Adds an assistant and hitchiker shuttle event, replenishing the crew mid flight! admin: Adds two intern wave shuttle events code: You can now supply shuttle events with outfits! code: You can now shoot projectiles with the shuttle events! fix: Fixes projectiles bugging out when fired in shuttle transit space fix: Fixes admin forced shuttle events not activating when added mid transit /🆑
81 lines
3.3 KiB
Plaintext
81 lines
3.3 KiB
Plaintext
///CARPTIDE! CARPTIDE! CARPTIDE! A swarm of carp will pass by and through the shuttle, including consequences of carp going through the shuttle
|
|
/datum/shuttle_event/simple_spawner/carp
|
|
name = "Carp Nest! (Very Dangerous!)"
|
|
event_probability = 0.4
|
|
activation_fraction = 0.2
|
|
|
|
spawning_list = list(/mob/living/basic/carp = 12, /mob/living/basic/carp/mega = 3)
|
|
spawning_flags = SHUTTLE_EVENT_HIT_SHUTTLE | SHUTTLE_EVENT_MISS_SHUTTLE
|
|
spawn_probability_per_process = 20
|
|
|
|
remove_from_list_when_spawned = TRUE
|
|
self_destruct_when_empty = TRUE
|
|
|
|
/datum/shuttle_event/simple_spawner/carp/post_spawn(mob/living/basic/carp/carpee)
|
|
. = ..()
|
|
//Give the carp the goal to migrate in a straight line so they dont just idle in hyperspace
|
|
carpee.migrate_to(list(WEAKREF(get_edge_target_turf(carpee.loc, angle2dir(dir2angle(port.preferred_direction) - 180)))))
|
|
|
|
///Spawn a bunch of friendly carp to view from inside the shuttle! May occassionally pass through and nibble some windows, but are otherwise pretty harmless
|
|
/datum/shuttle_event/simple_spawner/carp/friendly
|
|
name = "Passive Carp Nest! (Mostly Harmless!)"
|
|
event_probability = 3
|
|
activation_fraction = 0.1
|
|
|
|
spawning_list = list(/mob/living/basic/carp/passive = 1)
|
|
spawning_flags = SHUTTLE_EVENT_HIT_SHUTTLE | SHUTTLE_EVENT_MISS_SHUTTLE
|
|
spawns_per_spawn = 2
|
|
spawn_probability_per_process = 100
|
|
|
|
remove_from_list_when_spawned = FALSE
|
|
|
|
///Chance we hit the shuttle, instead of flying past it (most carp will go through anyway, and we dont want this to be too annoying to take away from the majesty)
|
|
var/hit_the_shuttle_chance = 1
|
|
|
|
/datum/shuttle_event/simple_spawner/carp/friendly/get_spawn_turf()
|
|
return prob(hit_the_shuttle_chance) ? pick(spawning_turfs_hit) : pick(spawning_turfs_miss)
|
|
|
|
///Same as /friendly, but we only go through the shuttle, MUHAHAHAHAHAHA!! They dont actually harm anyone, but itll be a clusterfuck of confusion
|
|
/datum/shuttle_event/simple_spawner/carp/friendly_but_no_personal_space
|
|
name = "Comfortable Carp Nest going through the shuttle! (Extremely annoying and confusing!)"
|
|
event_probability = 0
|
|
activation_fraction = 0.5
|
|
|
|
spawning_list = list(/mob/living/basic/carp/passive = 1)
|
|
spawning_flags = SHUTTLE_EVENT_HIT_SHUTTLE
|
|
spawns_per_spawn = 2
|
|
spawn_probability_per_process = 100
|
|
|
|
remove_from_list_when_spawned = FALSE
|
|
|
|
///CARPTIDE! CARPTIDE! CARPTIDE! Magical carp will attack the shuttle!
|
|
/datum/shuttle_event/simple_spawner/carp/magic
|
|
name = "Magical Carp Nest! (Very Dangerous!)"
|
|
spawning_list = list(/mob/living/basic/carp/magic = 12, /mob/living/basic/carp/magic/chaos = 3)
|
|
spawning_flags = SHUTTLE_EVENT_HIT_SHUTTLE | SHUTTLE_EVENT_MISS_SHUTTLE
|
|
|
|
event_probability = 0
|
|
activation_fraction = 0.2
|
|
spawn_probability_per_process = 20
|
|
|
|
remove_from_list_when_spawned = TRUE
|
|
self_destruct_when_empty = TRUE
|
|
|
|
/// Spawns some player controlled fire sharks
|
|
/datum/shuttle_event/simple_spawner/player_controlled/fire_shark
|
|
name = "Three player controlled fire sharks! (Dangerous!)"
|
|
spawning_list = list(/mob/living/basic/heretic_summon/fire_shark = 3)
|
|
spawning_flags = SHUTTLE_EVENT_HIT_SHUTTLE
|
|
|
|
event_probability = 0
|
|
activation_fraction = 0.2
|
|
spawn_probability_per_process = 100
|
|
spawns_per_spawn = 3
|
|
|
|
spawn_anyway_if_no_player = FALSE
|
|
ghost_alert_string = "Would you like to be a fire shark attacking the shuttle?"
|
|
remove_from_list_when_spawned = TRUE
|
|
self_destruct_when_empty = TRUE
|
|
|
|
role_type = ROLE_SENTIENCE
|