mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 12:35:33 +01:00
Merge remote-tracking branch 'skrat/master' into upstream-aug-29
# Conflicts: # .github/CODEOWNERS # .github/workflows/ci_suite.yml # README.md # code/controllers/subsystem/processing/quirks.dm # code/modules/antagonists/space_ninja/space_ninja.dm # code/modules/client/preferences/middleware/quirks.dm # code/modules/jobs/job_types/head_of_security.dm # code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm # code/modules/research/techweb/all_nodes.dm # code/modules/vehicles/sealed.dm # modular_skyrat/modules/automapper/code/area_spawn_subsystem.dm # modular_skyrat/modules/loadouts/loadout_items/donator/personal/donator_personal.dm # modular_skyrat/modules/veteran_players/code/veteran_players.dm
This commit is contained in:
@@ -29,9 +29,9 @@
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/legioninfested/Initialize(mapload)
|
||||
var/corpse_theme = pick_weight(list(
|
||||
"Miner" = 66,
|
||||
"Ashwalker" = 10,
|
||||
"Clown" = 10,
|
||||
"Miner" = 64,
|
||||
"Clown" = 5,
|
||||
"Ashwalker" = 15,
|
||||
"Golem" = 10,
|
||||
pick(list(
|
||||
"Cultist",
|
||||
@@ -45,12 +45,44 @@
|
||||
outfit = /datum/outfit/consumed_miner
|
||||
if("Ashwalker")
|
||||
outfit = /datum/outfit/consumed_ashwalker
|
||||
if("Golem")
|
||||
outfit = /datum/outfit/consumed_golem
|
||||
if("Clown")
|
||||
outfit = /datum/outfit/consumed_clown
|
||||
if("Cultist")
|
||||
outfit = /datum/outfit/consumed_cultist
|
||||
if("Dame")
|
||||
outfit = /datum/outfit/consumed_dame
|
||||
if("Operative")
|
||||
outfit = /datum/outfit/syndicatecommandocorpse/lessenedgear
|
||||
if("Shadow")
|
||||
outfit = /datum/outfit/consumed_shadowperson
|
||||
. = ..()
|
||||
|
||||
/obj/effect/mob_spawn/corpse/human/legioninfested/snow/Initialize(mapload)
|
||||
var/corpse_theme = pick_weight(list(
|
||||
"Miner" = 64,
|
||||
"Clown" = 5,
|
||||
"Golem" = 15,
|
||||
"Settler" = 10,
|
||||
pick(list(
|
||||
"Cultist",
|
||||
"Heremoth",
|
||||
"Operative",
|
||||
"Shadow",
|
||||
)) = 4,
|
||||
))
|
||||
switch(corpse_theme)
|
||||
if("Miner")
|
||||
outfit = /datum/outfit/consumed_miner
|
||||
if("Settler")
|
||||
outfit = /datum/outfit/consumed_ice_settler
|
||||
if("Heremoth")
|
||||
outfit = /datum/outfit/consumed_heremoth
|
||||
if("Clown")
|
||||
outfit = /datum/outfit/consumed_clown
|
||||
if("Cultist")
|
||||
outfit = /datum/outfit/consumed_cultist
|
||||
if("Golem")
|
||||
outfit = /datum/outfit/consumed_golem
|
||||
if("Operative")
|
||||
@@ -222,6 +254,36 @@
|
||||
if(prob(50))
|
||||
neck = /obj/item/bedsheet/rd/royal_cape
|
||||
|
||||
/datum/outfit/consumed_ice_settler
|
||||
name = "Legion-Consumed Settler"
|
||||
uniform = /obj/item/clothing/under/costume/traditional
|
||||
suit = /obj/item/clothing/suit/hooded/wintercoat
|
||||
shoes = /obj/item/clothing/shoes/winterboots
|
||||
mask = /obj/item/clothing/mask/breath
|
||||
|
||||
/datum/outfit/consumed_ice_settler/pre_equip(mob/living/carbon/human/ice_settler, visualsOnly = FALSE)
|
||||
if(prob(40))
|
||||
r_pocket = pick_weight(list(
|
||||
/obj/item/coin/silver = 5,
|
||||
/obj/item/fishing_hook = 2,
|
||||
/obj/item/coin/gold = 2,
|
||||
/obj/item/fishing_hook/shiny = 1,
|
||||
))
|
||||
if(prob(30))
|
||||
back = pick_weight(list(
|
||||
/obj/item/pickaxe = 4,
|
||||
/obj/item/tank/internals/oxygen = 6,
|
||||
))
|
||||
else
|
||||
back = /obj/item/storage/backpack/satchel/explorer
|
||||
backpack_contents = list()
|
||||
var/backpack_loot = pick(list(
|
||||
/obj/item/food/fishmeat = 89,
|
||||
/obj/item/food/fishmeat/carp = 10,
|
||||
/obj/item/skeleton_key = 1,
|
||||
))
|
||||
backpack_contents += backpack_loot
|
||||
|
||||
//this is so pointlessly gendered but whatever bro i'm here to refactor not judge
|
||||
/datum/outfit/consumed_dame
|
||||
name = "Legion-Consumed Dame"
|
||||
@@ -274,3 +336,26 @@
|
||||
/obj/item/stack/sheet/runed_metal = 15,
|
||||
)
|
||||
r_pocket = /obj/item/clothing/glasses/hud/health/night/cultblind
|
||||
|
||||
/datum/outfit/consumed_heremoth
|
||||
name = "Legion-Consumed Tribal Mothman"
|
||||
uniform = /obj/item/clothing/under/costume/loincloth
|
||||
suit = /obj/item/clothing/suit/hooded/cultrobes/eldritch
|
||||
head = /obj/item/clothing/head/hooded/cult_hoodie/eldritch
|
||||
|
||||
/datum/outfit/consumed_heremoth/pre_equip(mob/living/carbon/human/moth, visualsOnly = FALSE)
|
||||
if(!visualsOnly)
|
||||
moth.set_species(/datum/species/moth)
|
||||
if(prob(70))
|
||||
glasses = /obj/item/clothing/glasses/blindfold
|
||||
if(prob(90))
|
||||
back = /obj/item/storage/backpack/cultpack
|
||||
backpack_contents = list()
|
||||
var/backpack_loot = pick(list(
|
||||
/obj/item/flashlight/lantern = 1,
|
||||
/obj/item/toy/plush/moth = 1,
|
||||
/obj/item/toy/eldritch_book = 2,
|
||||
/obj/item/knife/combat/survival = 2,
|
||||
))
|
||||
backpack_contents += backpack_loot
|
||||
|
||||
|
||||
@@ -48,10 +48,6 @@
|
||||
|
||||
/// Dead headcrab for changeling-themed ruins
|
||||
/obj/effect/mob_spawn/corpse/headcrab
|
||||
mob_type = /mob/living/basic/headslug
|
||||
mob_type = /mob/living/basic/headslug/beakless
|
||||
icon = 'icons/mob/simple/animal.dmi'
|
||||
icon_state = "headslug_dead"
|
||||
|
||||
/obj/effect/mob_spawn/corpse/headcrab/special(mob/living/basic/headslug/crab)
|
||||
. = ..()
|
||||
crab.egg_lain = TRUE // Prevents using mad science to become a changeling
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
CRASH("[type] created a golem without a mind.")
|
||||
|
||||
new_spawn.mind.enslave_mind_to_creator(real_owner)
|
||||
to_chat(new_spawn, span_userdanger("Serve [real_owner], and assist [real_owner.p_them()] in completing [real_owner.p_their()] goals at any cost."))
|
||||
to_chat(new_spawn, span_userdanger("Serve [real_owner.real_name], and assist [real_owner.p_them()] in completing [real_owner.p_their()] goals at any cost."))
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/golem/servant/name_mob(mob/living/spawned_mob, forced_name)
|
||||
if(forced_name || !iscarbon(spawned_mob))
|
||||
|
||||
@@ -129,7 +129,8 @@
|
||||
name = "Space Bartender"
|
||||
id = /obj/item/card/id/advanced
|
||||
id_trim = /datum/id_trim/space_bartender
|
||||
uniform = /obj/item/clothing/under/rank/civilian/bartender
|
||||
neck = /obj/item/clothing/neck/bowtie
|
||||
uniform = /obj/item/clothing/under/costume/buttondown/slacks/service
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
back = /obj/item/storage/backpack
|
||||
glasses = /obj/item/clothing/glasses/sunglasses/reagent
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
/obj/structure/spider/eggcluster/examine_more(mob/user)
|
||||
. = ..()
|
||||
|
||||
if(istype(user, /mob/living/basic/giant_spider/midwife))
|
||||
if(istype(user, /mob/living/basic/spider/giant/midwife))
|
||||
switch(spawner.amount_grown)
|
||||
if(0 to 24)
|
||||
. += span_info("These eggs look shrunken and dormant.")
|
||||
@@ -74,12 +74,12 @@
|
||||
var/obj/structure/spider/eggcluster/egg
|
||||
/// The types of spiders that the spawner can produce
|
||||
var/list/potentialspawns = list(
|
||||
/mob/living/basic/spiderling/nurse,
|
||||
/mob/living/basic/spiderling/hunter,
|
||||
/mob/living/basic/spiderling/ambush,
|
||||
/mob/living/basic/spiderling/tangle,
|
||||
/mob/living/basic/spiderling/guard,
|
||||
/mob/living/basic/spiderling/scout,
|
||||
/mob/living/basic/spider/growing/spiderling/nurse,
|
||||
/mob/living/basic/spider/growing/spiderling/hunter,
|
||||
/mob/living/basic/spider/growing/spiderling/ambush,
|
||||
/mob/living/basic/spider/growing/spiderling/tangle,
|
||||
/mob/living/basic/spider/growing/spiderling/guard,
|
||||
/mob/living/basic/spider/growing/spiderling/scout,
|
||||
)
|
||||
/// Do we flash the byond window when this particular egg type is available?
|
||||
var/flash_window = FALSE
|
||||
@@ -122,11 +122,13 @@
|
||||
to_chat(user, span_warning("\The [src] is not ready to hatch yet!"))
|
||||
return FALSE
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/spider/special(mob/living/basic/giant_spider/spawned_mob, mob/mob_possessor)
|
||||
/obj/effect/mob_spawn/ghost_role/spider/special(mob/living/basic/spider/spawned_mob, mob/mob_possessor)
|
||||
. = ..()
|
||||
spawned_mob.directive = directive
|
||||
egg.spawner = null
|
||||
QDEL_NULL(egg)
|
||||
return ..()
|
||||
var/datum/antagonist/spider/spider_antag = new(directive)
|
||||
spawned_mob.mind.add_antag_datum(spider_antag)
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/spider/enriched
|
||||
name = "enriched egg cluster"
|
||||
@@ -134,9 +136,9 @@
|
||||
you_are_text = "You are an enriched spider."
|
||||
cluster_type = /obj/structure/spider/eggcluster/enriched
|
||||
potentialspawns = list(
|
||||
/mob/living/basic/spiderling/tarantula,
|
||||
/mob/living/basic/spiderling/viper,
|
||||
/mob/living/basic/spiderling/midwife,
|
||||
/mob/living/basic/spider/growing/spiderling/tarantula,
|
||||
/mob/living/basic/spider/growing/spiderling/viper,
|
||||
/mob/living/basic/spider/growing/spiderling/midwife,
|
||||
)
|
||||
flash_window = TRUE
|
||||
|
||||
@@ -148,7 +150,7 @@
|
||||
directive = "You are the spawn of a vicious changeling. You have no ambitions except to wreak havoc and ensure your own survival. You are aggressive to all living beings outside of your species, including changelings."
|
||||
cluster_type = /obj/structure/spider/eggcluster/bloody
|
||||
potentialspawns = list(
|
||||
/mob/living/basic/spiderling/hunter/flesh,
|
||||
/mob/living/basic/spider/giant/hunter/flesh,
|
||||
)
|
||||
flash_window = TRUE
|
||||
|
||||
@@ -159,7 +161,7 @@
|
||||
directive = "Ensure the survival of the spider species and overtake whatever structure you find yourself in."
|
||||
cluster_type = /obj/structure/spider/eggcluster/midwife
|
||||
potentialspawns = list(
|
||||
/mob/living/basic/spiderling/midwife,
|
||||
/mob/living/basic/spider/giant/midwife, // We don't want the event to end instantly because of a 2 hp spiderling dying
|
||||
)
|
||||
flash_window = TRUE
|
||||
|
||||
@@ -176,9 +178,9 @@
|
||||
var/list/spider_list = list()
|
||||
var/list/display_spiders = list()
|
||||
for(var/choice in potentialspawns)
|
||||
var/mob/living/basic/spiderling/chosen_spiderling = choice
|
||||
var/mob/living/basic/young_spider/young_spider = initial(chosen_spiderling.grow_as)
|
||||
var/mob/living/basic/giant_spider/spider = initial(young_spider.grow_as)
|
||||
var/mob/living/basic/spider/growing/spiderling/chosen_spiderling = choice
|
||||
var/mob/living/basic/spider/growing/young/young_spider = initial(chosen_spiderling.grow_as)
|
||||
var/mob/living/basic/spider/giant/spider = initial(young_spider.grow_as) // God this is so stupid
|
||||
spider_list[initial(spider.name)] = chosen_spiderling
|
||||
|
||||
var/datum/radial_menu_choice/option = new
|
||||
|
||||
@@ -129,7 +129,8 @@
|
||||
|
||||
/datum/outfit/cryobartender
|
||||
name = "Cryogenic Bartender"
|
||||
uniform = /obj/item/clothing/under/rank/civilian/bartender
|
||||
neck = /obj/item/clothing/neck/bowtie
|
||||
uniform = /obj/item/clothing/under/costume/buttondown/slacks/service
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
back = /obj/item/storage/backpack
|
||||
glasses = /obj/item/clothing/glasses/sunglasses/reagent
|
||||
|
||||
Reference in New Issue
Block a user