Skip to content

Commit

Permalink
Merge branch 'master' into Loadouts-Possibly
Browse files Browse the repository at this point in the history
Signed-off-by: SomeRandomOwl <[email protected]>
  • Loading branch information
SomeRandomOwl authored Sep 7, 2024
2 parents 9e3a44f + 6719801 commit 89710c2
Show file tree
Hide file tree
Showing 289 changed files with 15,254 additions and 4 deletions.
4 changes: 4 additions & 0 deletions code/__DEFINES/icon_smoothing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,10 @@ DEFINE_BITFIELD(smoothing_junction, list(
#define SMOOTH_GROUP_BAMBOO_WALLS S_TURF(17) //![/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo]
#define SMOOTH_GROUP_PLASTINUM_WALLS S_TURF(18) //![turf/closed/indestructible/riveted/plastinum]

//DOPPLER EDIT ADDITION
#define SMOOTH_GROUP_STONE_WALLS S_OBJ(20) ///turf/closed/wall/mineral/stone, /obj/structure/falsewall/stone
//DOPPLER EDIT END

#define SMOOTH_GROUP_PAPERFRAME S_OBJ(21) ///obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe

#define SMOOTH_GROUP_WINDOW_FULLTILE S_OBJ(22) ///turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/~doppler_defines/is_helpers.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
//Species
#define isprimitivedemihuman(A) (is_species(A, /datum/species/human/felinid/primitive))
//Customization bases
#define isfeline(A) (isfelinid(A) || HAS_TRAIT(A, TRAIT_FELINE))
1 change: 1 addition & 0 deletions code/__DEFINES/~doppler_defines/keybindings.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
#define COMSIG_KB_LIVING_COMBAT_INDICATOR "keybinding_living_combat_indicator"
#define COMSIG_KB_MOB_PIXEL_SHIFT_DOWN "keybinding_mob_pixel_shift_down"
#define COMSIG_KB_MOB_PIXEL_SHIFT_UP "keybinding_mob_pixel_shift_up"
2 changes: 2 additions & 0 deletions code/__DEFINES/~doppler_defines/obj_flags_doppler.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/// Whether something is repairable by the anvil
#define ANVIL_REPAIR (1<<0)
4 changes: 4 additions & 0 deletions code/__DEFINES/~doppler_defines/reagent_forging_tools.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#define TOOL_BILLOW "billow"
#define TOOL_TONG "tong"
#define TOOL_HAMMER "hammer"
#define TOOL_BLOWROD "blowrod"
8 changes: 8 additions & 0 deletions code/__DEFINES/~doppler_defines/reskin_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#define RESKIN_ICON "reskin_icon"
#define RESKIN_ICON_STATE "reskin_icon_state"
#define RESKIN_WORN_ICON "reskin_worn_icon"
#define RESKIN_WORN_ICON_STATE "reskin_worn_icon_state"
#define RESKIN_SUPPORTS_VARIATIONS_FLAGS "reskin_supports_variations_flags"
#define RESKIN_INHAND_L "reskin_inhand_l"
#define RESKIN_INHAND_R "reskin_inhand_r"
#define RESKIN_INHAND_STATE "reskin_inhand_state"
2 changes: 2 additions & 0 deletions code/__DEFINES/~doppler_defines/signals.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
///Fired in combat_indicator.dm, used for syncing CI between mech and pilot
#define COMSIG_MOB_CI_TOGGLED "mob_ci_toggled"
6 changes: 6 additions & 0 deletions code/__DEFINES/~doppler_defines/sound.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/**
* Sound effect defines, used in modular_sounds on proc get_sfx.
*/

#define SFX_BRICK_DROP "brick_drop"
#define SFX_BRICK_PICKUP "brick_pickup"
1 change: 1 addition & 0 deletions code/__DEFINES/~doppler_defines/span.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#define span_italics(str) ("<span class='italics'>" + str + "</span>")
2 changes: 2 additions & 0 deletions code/__DEFINES/~doppler_defines/species.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
// Hearthkin, from the Ice Moon
#define SPECIES_FELINE_PRIMITIVE "primitive_felinid"
// Slugcats, from Talon III.
#define SPECIES_SLUGCAT "slugcat"
4 changes: 4 additions & 0 deletions code/__DEFINES/~doppler_defines/techweb_nodes.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#define TECHWEB_NODE_XENOARCH_ADVANCED "adv_xenoarch"
#define TECHWEB_NODE_XENOARCH_BASIC "basic_xenoarch"
#define TECHWEB_NODE_XENOARCH_MACHINES "xenoarch_machines"
#define TECHWEB_NODE_XENOARCH_STORAGE "xenoarch_storage"
11 changes: 11 additions & 0 deletions code/__DEFINES/~doppler_defines/traits.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/// trait that lets you do xenoarch magnification
#define TRAIT_XENOARCH_QUALIFIED "trait_xenoarch_qualified"

/// Traits granted by glassblowing
#define TRAIT_GLASSBLOWING "glassblowing"

/// Trait that is applied whenever someone or something is glassblowing
#define TRAIT_CURRENTLY_GLASSBLOWING "currently_glassblowing"

// felinid traits
#define TRAIT_FELINE "feline_aspect"
1 change: 1 addition & 0 deletions code/__HELPERS/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
// I tried to eliminate this proc but I couldn't untangle their init-order interdependencies -Dominion/Cyberboss
init_keybindings()
GLOB.emote_list = init_emote_list() // WHY DOES THIS NEED TO GO HERE? IT JUST INITS DATUMS
init_doppler_stack_recipes() //DOPPLER EDIT ADDITION - MODULAR CRAFTING
init_crafting_recipes()
init_crafting_recipes_atoms()

Expand Down
29 changes: 29 additions & 0 deletions code/__HELPERS/~doppler_helpers/global_lists.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/proc/init_doppler_stack_recipes()
var/list/additional_stack_recipes = list(
/obj/item/stack/sheet/leather = list(GLOB.doppler_leather_recipes, GLOB.doppler_leather_belt_recipes),
/obj/item/stack/sheet/iron = list(GLOB.doppler_metal_recipes),
/obj/item/stack/sheet/plasteel = list(GLOB.doppler_plasteel_recipes),
/obj/item/stack/sheet/mineral/wood = list(GLOB.doppler_wood_recipes),
/obj/item/stack/sheet/cloth = list(GLOB.doppler_cloth_recipes),
/obj/item/stack/ore/glass = list(GLOB.doppler_sand_recipes),
/obj/item/stack/rods = list(GLOB.doppler_rod_recipes),
/obj/item/stack/sheet/mineral/stone = list(GLOB.stone_recipes),
/obj/item/stack/sheet/mineral/clay = list(GLOB.clay_recipes),
)
for(var/stack in additional_stack_recipes)
for(var/material_list in additional_stack_recipes[stack])
for(var/stack_recipe in material_list)
if(istype(stack_recipe, /datum/stack_recipe_list))
var/datum/stack_recipe_list/stack_recipe_list = stack_recipe
for(var/nested_recipe in stack_recipe_list.recipes)
if(!nested_recipe)
continue
var/datum/crafting_recipe/stack/recipe = new/datum/crafting_recipe/stack(stack, nested_recipe)
if(recipe.name != "" && recipe.result)
GLOB.crafting_recipes += recipe
else
if(!stack_recipe)
continue
var/datum/crafting_recipe/stack/recipe = new/datum/crafting_recipe/stack(stack, stack_recipe)
if(recipe.name != "" && recipe.result)
GLOB.crafting_recipes += recipe
8 changes: 8 additions & 0 deletions code/_globalvars/traits/_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -658,6 +658,14 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_TURF_IGNORE_SLIPPERY" = TRAIT_TURF_IGNORE_SLIPPERY,
"TRAIT_TURF_IGNORE_SLOWDOWN" = TRAIT_TURF_IGNORE_SLOWDOWN,
),
// DOPPLER EDIT ADDITION START - DOPPLER TRAITS
/obj/item/clothing/suit/jacket/doppler = list(
"TRAIT_CURRENTLY_GLASSBLOWING" = TRAIT_CURRENTLY_GLASSBLOWING,
"TRAIT_FELINE" = TRAIT_FELINE,
"TRAIT_GLASSBLOWING" = TRAIT_GLASSBLOWING,
"TRAIT_XENOARCH_QUALIFIED" = TRAIT_XENOARCH_QUALIFIED,
),
// DOPPLER EDIT ADDITION END
))

/// value -> trait name, list of ALL traits that exist in the game, used for any type of accessing.
Expand Down
8 changes: 8 additions & 0 deletions code/_globalvars/traits/admin_tooling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,14 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
/obj/item/organ/internal/lungs = list(
"TRAIT_SPACEBREATHING" = TRAIT_SPACEBREATHING,
),
// DOPPLER EDIT ADDITION START - DOPPLER TRAITS
/obj/item/clothing/suit/jacket/doppler = list(
"TRAIT_CURRENTLY_GLASSBLOWING" = TRAIT_CURRENTLY_GLASSBLOWING,
"TRAIT_FELINE" = TRAIT_FELINE,
"TRAIT_GLASSBLOWING" = TRAIT_GLASSBLOWING,
"TRAIT_XENOARCH_QUALIFIED" = TRAIT_XENOARCH_QUALIFIED,
),
// DOPPLER EDIT ADDITION END
))

/// value -> trait name, generated as needed for adminning.
Expand Down
4 changes: 4 additions & 0 deletions code/_globalvars/~doppler_globalvars/bitfields.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
///reagent forging module
DEFINE_BITFIELD(obj_flags_doppler, list(
"ANVIL_REPAIR" = ANVIL_REPAIR,
))
2 changes: 2 additions & 0 deletions code/_globalvars/~doppler_globalvars/objective.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
///new addition to cryosleep module
GLOBAL_LIST_EMPTY(objectives)
8 changes: 8 additions & 0 deletions code/_globalvars/~doppler_globalvars/religion.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/// list of weakrefs to highpriest successor candidates. Every chaplain who joins after the initial chaplain is added to this list. The next high priest is chosen from them by seniority.
GLOBAL_LIST(holy_successors)
/// A weakref to the current high priest mob
GLOBAL_VAR(current_highpriest)
/// The previous sect's favor value
GLOBAL_VAR(prev_favor)
/// The previous sect's typepath
GLOBAL_VAR(prev_sect_type)
3 changes: 3 additions & 0 deletions code/controllers/subsystem/processing/quirks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list(
list(/datum/quirk/photophobia, /datum/quirk/nyctophobia),
list(/datum/quirk/item_quirk/settler, /datum/quirk/freerunning),
list(/datum/quirk/numb, /datum/quirk/selfaware),
//DOPPLER EDIT ADDITION BEGIN
list(/datum/quirk/feline_aspect)
//DOPPLER EDIT ADDITION END
))

GLOBAL_LIST_INIT(quirk_string_blacklist, generate_quirk_string_blacklist())
Expand Down
10 changes: 10 additions & 0 deletions code/game/atom/atom_tool_acts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,16 @@
act_result = is_left_clicking ? welder_act(user, tool) : welder_act_secondary(user, tool)
if(TOOL_ANALYZER)
act_result = is_left_clicking ? analyzer_act(user, tool) : analyzer_act_secondary(user, tool)
// DOPPLER EDIT ADDITION START - REAGENT FORGING AND GLASSBLOWING TOOLS
if(TOOL_BILLOW)
act_result = is_left_clicking ? billow_act(user, tool) : billow_act_secondary(user, tool)
if(TOOL_TONG)
act_result = is_left_clicking ? tong_act(user, tool) : tong_act_secondary(user, tool)
if(TOOL_HAMMER)
act_result = is_left_clicking ? hammer_act(user, tool) : hammer_act_secondary(user, tool)
if(TOOL_BLOWROD)
act_result = is_left_clicking ? blowrod_act(user, tool) : blowrod_act_secondary(user, tool)
// DOPPLER EDIT ADDITION END

if(!act_result)
return NONE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,10 @@
/obj/machinery/vending/wardrobe/science_wardrobe = "SciDrobe",
/obj/machinery/vending/wardrobe/sec_wardrobe = "SecDrobe",
/obj/machinery/vending/wardrobe/viro_wardrobe = "ViroDrobe",
/obj/machinery/vending/imported/nt = "NT Sustenance Supplier", //DOPPLER ADDITION
/obj/machinery/vending/imported/yangyu = "Fudobenda", //DOPPLER ADDITION
/obj/machinery/vending/imported/mothic = "Nomad Fleet Ration Chit Exchange", //DOPPLER ADDITION
/obj/machinery/vending/imported/tiziran = "Tiziran Imported Delicacies", //DOPPLER ADDITION
)

/obj/item/circuitboard/machine/vendor/screwdriver_act(mob/living/user, obj/item/tool)
Expand Down
1 change: 1 addition & 0 deletions code/game/sound.dm
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@
/proc/get_sfx(soundin)
if(!istext(soundin))
return soundin
soundin = get_sfx_doppler(soundin) // DOPPLER EDIT ADDITION - MODULAR SOUNDS
switch(soundin)
if(SFX_SHATTER)
soundin = pick('sound/effects/glassbr1.ogg','sound/effects/glassbr2.ogg','sound/effects/glassbr3.ogg')
Expand Down
15 changes: 12 additions & 3 deletions code/modules/mob_spawn/mob_spawn.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@
var/datum/weakref/spawned_mob_ref
/// DOPPLER SHIFT ADDITION: allowing players to have their current character loaded
var/allow_prefs = TRUE
/// DOPPLER SHIFT ADDITION: allowing players to have their current loadout and clothes loaded
var/allow_loadout = TRUE

/obj/effect/mob_spawn/Initialize(mapload)
. = ..()
Expand Down Expand Up @@ -100,14 +102,18 @@
if(allow_prefs && spawned_human.client)
spawned_human.client?.prefs.safe_transfer_prefs_to(spawned_human)
SSquirks.AssignQuirks(spawned_human, spawned_human.client)
spawned_human.equip_outfit_and_loadout(outfit, spawned_human.client?.prefs)
if(allow_loadout)
spawned_human.equip_outfit_and_loadout(outfit, spawned_human.client?.prefs)
else
spawned_human.equipOutfit(outfit)
else
spawned_human.equipOutfit(outfit)
else if(allow_prefs && spawned_mob.client)
var/mob/living/carbon/human/spawned_human = spawned_mob
spawned_human.client?.prefs.safe_transfer_prefs_to(spawned_human)
SSquirks.AssignQuirks(spawned_human, spawned_human.client)
spawned_human.equip_outfit_and_loadout(new /datum/outfit(), spawned_human.client?.prefs)
if(allow_loadout)
spawned_human.equip_outfit_and_loadout(new /datum/outfit(), spawned_human.client?.prefs)
/// DOPPLER SHIFT ADDITION END

///these mob spawn subtypes do not trigger until attacked by a ghost.
Expand Down Expand Up @@ -178,7 +184,10 @@
prompt += " (Warning, You can no longer be revived!)"
/// DOPPLER SHIFT ADDITION BEGIN
if(allow_prefs)
prompt += "\nYou will be loaded in with your current character, [realname] - loadout & quirks included! Make sure they fit the role!"
prompt += "\nYou will be loaded in with your current character, [realname] -"
if(allow_loadout)
prompt += " loadout &"
prompt += " quirks included! Make sure they fit the role!"
/// DOPPLER SHIFT ADDITION END
var/ghost_role = tgui_alert(usr, prompt, buttons = list("Yes", "No"), timeout = 10 SECONDS)
if(ghost_role != "Yes" || !loc || QDELETED(user))
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion code/modules/unit_tests/turf_icons.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/// Makes sure turf icons actually exist. :)
/datum/unit_test/turf_icons
var/modular_mineral_turf_file //= 'icons/turf/mining.dmi' //MODULARITY SUPPORT - insert your snowflake MAP_SWITCH icon file here if you use that define.
var/modular_mineral_turf_file = 'modular_doppler/xenoarch/icons/mining.dmi' //MODULARITY SUPPORT - insert your snowflake MAP_SWITCH icon file here if you use that define.

/datum/unit_test/turf_icons/Run()
for(var/turf/turf_path as anything in (subtypesof(/turf) - typesof(/turf/closed/mineral)))
Expand Down
1 change: 1 addition & 0 deletions config/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

$include game_options.txt
$include dbconfig.txt
$include doppler/config_doppler.txt
$include comms.txt
$include logging.txt
$include resources.txt
Expand Down
8 changes: 8 additions & 0 deletions config/doppler/config_doppler.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Combat indicator, comment out to disable it
COMBAT_INDICATOR

## How long until someone can be put in cryo if they are SSD, default is 9000 (15 minutes)
CRYO_MIN_SSD_TIME 9000

## Primitive demihumans
ROUNDSTART_RACES primitive_felinid
68 changes: 68 additions & 0 deletions modular_doppler/advanced_reskin/code/advanced_reskin.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/obj/item
/// Does this use the advanced reskinning setup?
var/uses_advanced_reskins = FALSE

/obj/item/reskin_obj(mob/M)
if(!uses_advanced_reskins)
return ..()
if(!LAZYLEN(unique_reskin))
return

/// Is the obj a glasses icon with swappable item states?
var/is_swappable = FALSE
// /// if the item are glasses, this variable stores the item.
// var/obj/item/clothing/glasses/reskinned_glasses

// if(istype(src, /obj/item/clothing/glasses)) // TODO - Remove this mess about glasses, it shouldn't be necessary anymore.
// reskinned_glasses = src
// if(reskinned_glasses.can_switch_eye)
// is_swappable = TRUE

var/list/items = list()


for(var/reskin_option in unique_reskin)
var/image/item_image = image(icon = unique_reskin[reskin_option][RESKIN_ICON] ? unique_reskin[reskin_option][RESKIN_ICON] : icon, icon_state = "[unique_reskin[reskin_option][RESKIN_ICON_STATE]]")
items += list("[reskin_option]" = item_image)
sort_list(items)

var/pick = show_radial_menu(M, src, items, custom_check = CALLBACK(src, PROC_REF(check_reskin_menu), M), radius = 38, require_near = TRUE)
if(!pick)
return
if(!unique_reskin[pick])
return
current_skin = pick

if(unique_reskin[pick][RESKIN_ICON])
icon = unique_reskin[pick][RESKIN_ICON]

if(unique_reskin[pick][RESKIN_ICON_STATE])
if(is_swappable)
base_icon_state = unique_reskin[pick][RESKIN_ICON_STATE]
icon_state = base_icon_state
else
icon_state = unique_reskin[pick][RESKIN_ICON_STATE]

if(unique_reskin[pick][RESKIN_WORN_ICON])
worn_icon = unique_reskin[pick][RESKIN_WORN_ICON]

if(unique_reskin[pick][RESKIN_WORN_ICON_STATE])
worn_icon_state = unique_reskin[pick][RESKIN_WORN_ICON_STATE]

if(unique_reskin[pick][RESKIN_INHAND_L])
lefthand_file = unique_reskin[pick][RESKIN_INHAND_L]
if(unique_reskin[pick][RESKIN_INHAND_R])
righthand_file = unique_reskin[pick][RESKIN_INHAND_R]
if(unique_reskin[pick][RESKIN_INHAND_STATE])
inhand_icon_state = unique_reskin[pick][RESKIN_INHAND_STATE]
if(unique_reskin[pick][RESKIN_SUPPORTS_VARIATIONS_FLAGS])
supports_variations_flags = unique_reskin[pick][RESKIN_SUPPORTS_VARIATIONS_FLAGS]
if(ishuman(M))
var/mob/living/carbon/human/wearer = M
wearer.regenerate_icons() // update that mf
to_chat(M, "[src] is now skinned as '[pick].'")
post_reskin(M)

/// Automatically called after a reskin, for any extra variable changes.
/obj/item/proc/post_reskin(mob/our_mob)
return
25 changes: 25 additions & 0 deletions modular_doppler/advanced_reskin/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Title: Advanced Reskin

MODULE ID: ADVANCED_RESKIN

### Description:

This module adds more customization to the reskin function, as well as serving as a place to add more to it.

### TG Proc Changes:

N/A

### Defines:

- `code\__DEFINES\~doppler_defines\reskin_defines.dm` module's defines

### Master file additions

N/A

### Included files that are not contained in this module:

N/A

### Credits:
Binary file added modular_doppler/clutter objects/icons/janitor.dmi
Binary file not shown.
27 changes: 27 additions & 0 deletions modular_doppler/cryosleep/code/admin.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/// Send player in not-quiet cryopod. If with_paper = TRUE, place a paper with notification under player.
/mob/proc/send_to_cryo(with_paper = FALSE)
//effect
playsound(loc, 'sound/magic/Repulse.ogg', 100, 1)
var/datum/effect_system/spark_spread/quantum/sparks = new
sparks.set_up(10, 1, loc)
sparks.attach(loc)
sparks.start()

//make a paper if need
if(with_paper)
var/obj/item/paper/cryo_paper = new /obj/item/paper(loc)
cryo_paper.name = "Notification - [name]"
cryo_paper.add_raw_text("Our sincerest apologies, [name][job ? ", [job]," : ""] had to be sent back in Cryogenic Storage for reasons that cannot be elaborated on at the moment.<br><br>Sincerely,<br><i>Nanotrasen Anti-Sudden Sleep Disorder Agency</i>")
cryo_paper.update_appearance()
//find cryopod
for(var/obj/machinery/cryopod/cryo in GLOB.valid_cryopods)
if(!cryo.occupant && cryo.state_open && !cryo.panel_open) //free, opened, and panel closed?
if(buckled)
buckled.unbuckle_mob(src, TRUE)
if(buckled_mobs)
for(var/mob/buckled_mob in buckled_mobs)
unbuckle_mob(buckled_mob)
cryo.close_machine(src) //put player
break


Loading

0 comments on commit 89710c2

Please sign in to comment.