Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -428,7 +428,7 @@
|
||||
/area/awaymission/cabin)
|
||||
"bm" = (
|
||||
/obj/machinery/door/airlock/wood{
|
||||
id_tag = "snowdinbutworse5";
|
||||
id_tag = "snowdorm5";
|
||||
name = "Cabin 5"
|
||||
},
|
||||
/obj/effect/mapping_helpers/network_builder/power_cable/yellow/auto,
|
||||
@@ -3318,7 +3318,7 @@
|
||||
/area/awaymission/cabin)
|
||||
"iV" = (
|
||||
/obj/machinery/door/airlock/wood{
|
||||
id_tag = "snowdinbutworse1";
|
||||
id_tag = "snowdorm1";
|
||||
name = "Cabin 1"
|
||||
},
|
||||
/obj/effect/mapping_helpers/network_builder/power_cable/yellow/auto,
|
||||
@@ -3326,7 +3326,7 @@
|
||||
/area/awaymission/cabin)
|
||||
"iW" = (
|
||||
/obj/machinery/door/airlock/wood{
|
||||
id_tag = "snowdinbutworse2";
|
||||
id_tag = "snowdorm2";
|
||||
name = "Cabin 2"
|
||||
},
|
||||
/obj/effect/mapping_helpers/network_builder/power_cable/yellow/auto,
|
||||
@@ -3334,7 +3334,7 @@
|
||||
/area/awaymission/cabin)
|
||||
"iX" = (
|
||||
/obj/machinery/door/airlock/wood{
|
||||
id_tag = "snowdinbutworse3";
|
||||
id_tag = "snowdorm3";
|
||||
name = "Cabin 3"
|
||||
},
|
||||
/obj/effect/mapping_helpers/network_builder/power_cable/yellow/auto,
|
||||
@@ -3342,7 +3342,7 @@
|
||||
/area/awaymission/cabin)
|
||||
"iY" = (
|
||||
/obj/machinery/door/airlock/wood{
|
||||
id_tag = "snowdinbutworse4";
|
||||
id_tag = "snowdorm4";
|
||||
name = "Cabin 4"
|
||||
},
|
||||
/obj/effect/mapping_helpers/network_builder/power_cable/yellow/auto,
|
||||
@@ -3419,31 +3419,37 @@
|
||||
/area/awaymission/cabin)
|
||||
"jg" = (
|
||||
/obj/machinery/button/door{
|
||||
id = "snowdinbutworse2";
|
||||
name = "airlock button";
|
||||
pixel_y = -27
|
||||
id = "snowdorm2";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/cabin)
|
||||
"jh" = (
|
||||
/obj/machinery/button/door{
|
||||
id = "snowdinbutworse1";
|
||||
name = "airlock button";
|
||||
pixel_y = -27
|
||||
id = "snowdorm1";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/cabin)
|
||||
"ji" = (
|
||||
/obj/machinery/button/door{
|
||||
id = "snowdinbutworse3";
|
||||
name = "airlock button";
|
||||
pixel_y = -27
|
||||
id = "snowdorm3";
|
||||
name = "Dorm Bolt Control";
|
||||
normaldoorcontrol = 1;
|
||||
pixel_y = -25;
|
||||
specialfunctions = 4
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/awaymission/cabin)
|
||||
"jj" = (
|
||||
/obj/machinery/button/door{
|
||||
id = "snowdinbutworse4";
|
||||
id = "snowdorm4";
|
||||
name = "airlock button";
|
||||
pixel_y = -27
|
||||
},
|
||||
@@ -3451,7 +3457,7 @@
|
||||
/area/awaymission/cabin)
|
||||
"jk" = (
|
||||
/obj/machinery/button/door{
|
||||
id = "snowdinbutworse5";
|
||||
id = "snowdorm5";
|
||||
name = "airlock button";
|
||||
pixel_y = -27
|
||||
},
|
||||
@@ -4024,8 +4030,8 @@
|
||||
pixel_y = -2
|
||||
},
|
||||
/obj/item/clothing/head/christmashatg{
|
||||
pixel_y = 12;
|
||||
pixel_x = 3
|
||||
pixel_x = 3;
|
||||
pixel_y = 12
|
||||
},
|
||||
/turf/open/floor/plating/asteroid/snow,
|
||||
/area/awaymission/cabin/caves)
|
||||
|
||||
@@ -105,3 +105,6 @@
|
||||
|
||||
//belly sound pref things
|
||||
#define NORMIE_HEARCHECK 4
|
||||
|
||||
//special species definitions
|
||||
#define MINIMUM_MUTANT_COLOR "#202020" //this is how dark players mutant parts and skin can be
|
||||
|
||||
@@ -284,3 +284,6 @@ GLOBAL_LIST_INIT(greyscale_limb_types, list("human","moth","lizard","pod","plant
|
||||
|
||||
//body ids that have prosthetic sprites
|
||||
GLOBAL_LIST_INIT(prosthetic_limb_types, list("xion","bishop","cybersolutions","grayson","hephaestus","nanotrasen","talon"))
|
||||
|
||||
//body ids that have non-gendered bodyparts
|
||||
GLOBAL_LIST_INIT(nongendered_limb_types, list("fly", "zombie" ,"synth", "shadow", "cultgolem", "agent", "plasmaman", "clockgolem", "clothgolem"))
|
||||
|
||||
@@ -64,6 +64,8 @@
|
||||
|
||||
/obj/mecha/combat/neovgre/process()
|
||||
..()
|
||||
if(!obj_integrity) //Integrity is zero but we would heal out of that state if we went into this before it recognises it being zero
|
||||
return
|
||||
if(GLOB.ratvar_awakens) // At this point only timley intervention by lord singulo could hope to stop the superweapon
|
||||
cell.charge = INFINITY
|
||||
max_integrity = INFINITY
|
||||
|
||||
@@ -150,6 +150,7 @@
|
||||
if(squeak_override)
|
||||
var/datum/component/squeak/S = GetComponent(/datum/component/squeak)
|
||||
S?.override_squeak_sounds = squeak_override
|
||||
snowflake_id = id
|
||||
|
||||
/obj/item/toy/plush/handle_atom_del(atom/A)
|
||||
if(A == grenade)
|
||||
@@ -827,12 +828,16 @@ GLOBAL_LIST_INIT(valid_plushie_paths, valid_plushie_paths())
|
||||
if(!victim)
|
||||
return
|
||||
visible_message("<span class='warning'>[src] gruesomely mutilliates [victim], leaving nothing more than dust!</span>")
|
||||
name = victim.name
|
||||
desc = victim.desc + " Wait, did it just move..?"
|
||||
icon_state = victim.icon_state
|
||||
item_state = victim.item_state
|
||||
squeak_override = victim.squeak_override
|
||||
attack_verb = victim.attack_verb
|
||||
if(victim.snowflake_id) //Snowflake code for snowflake plushies.
|
||||
set_snowflake_from_config(victim.snowflake_id)
|
||||
desc += " Wait, did it just move..?"
|
||||
else
|
||||
name = victim.name
|
||||
desc = victim.desc + " Wait, did it just move..?"
|
||||
icon_state = victim.icon_state
|
||||
item_state = victim.item_state
|
||||
squeak_override = victim.squeak_override
|
||||
attack_verb = victim.attack_verb
|
||||
new /obj/effect/decal/cleanable/ash(get_turf(victim))
|
||||
qdel(victim)
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
var/custom_tone = input(user, "Choose your custom skin tone:", "Race change", default) as color|null
|
||||
if(custom_tone)
|
||||
var/temp_hsv = RGBtoHSV(new_s_tone)
|
||||
if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
|
||||
if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3])
|
||||
to_chat(H,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
else
|
||||
H.skin_tone = custom_tone
|
||||
@@ -177,7 +177,7 @@
|
||||
if(new_mutantcolor)
|
||||
var/temp_hsv = RGBtoHSV(new_mutantcolor)
|
||||
|
||||
if(ReadHSV(temp_hsv)[3] >= ReadHSV("#7F7F7F")[3]) // mutantcolors must be bright
|
||||
if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3]) // mutantcolors must be bright
|
||||
H.dna.features["mcolor"] = sanitize_hexcolor(new_mutantcolor)
|
||||
|
||||
else
|
||||
|
||||
@@ -247,7 +247,8 @@
|
||||
if(LH.target && LH.target.stat == DEAD)
|
||||
to_chat(carbon_user,"<span class='danger'>Your patrons accepts your offer...</span>")
|
||||
var/mob/living/carbon/human/H = LH.target
|
||||
H.become_husk()
|
||||
H.become_husk("burn") //Husks the target with removable husking, but causes a bunch of additional burn damage to prevent it from being 'too easy' to do
|
||||
H.adjustFireLoss(200)
|
||||
LH.target = null
|
||||
var/datum/antagonist/heretic/EC = carbon_user.mind.has_antag_datum(/datum/antagonist/heretic)
|
||||
|
||||
|
||||
@@ -1630,7 +1630,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/temp_hsv = RGBtoHSV(new_mutantcolor)
|
||||
if(new_mutantcolor == "#000000")
|
||||
features["mcolor"] = pref_species.default_color
|
||||
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
|
||||
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3]) // mutantcolors must be bright, but only if they affect the skin
|
||||
features["mcolor"] = sanitize_hexcolor(new_mutantcolor, 6)
|
||||
else
|
||||
to_chat(user, "<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
@@ -1641,7 +1641,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/temp_hsv = RGBtoHSV(new_mutantcolor)
|
||||
if(new_mutantcolor == "#000000")
|
||||
features["mcolor2"] = pref_species.default_color
|
||||
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
|
||||
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3]) // mutantcolors must be bright, but only if they affect the skin
|
||||
features["mcolor2"] = sanitize_hexcolor(new_mutantcolor, 6)
|
||||
else
|
||||
to_chat(user, "<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
@@ -1652,7 +1652,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/temp_hsv = RGBtoHSV(new_mutantcolor)
|
||||
if(new_mutantcolor == "#000000")
|
||||
features["mcolor3"] = pref_species.default_color
|
||||
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3]) // mutantcolors must be bright, but only if they affect the skin
|
||||
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3]) // mutantcolors must be bright, but only if they affect the skin
|
||||
features["mcolor3"] = sanitize_hexcolor(new_mutantcolor, 6)
|
||||
else
|
||||
to_chat(user, "<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
@@ -1968,7 +1968,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/temp_hsv = RGBtoHSV(new_cockcolor)
|
||||
if(new_cockcolor == "#000000")
|
||||
features["cock_color"] = pref_species.default_color
|
||||
else if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
|
||||
else if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3])
|
||||
features["cock_color"] = sanitize_hexcolor(new_cockcolor, 6)
|
||||
else
|
||||
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
@@ -2008,7 +2008,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/temp_hsv = RGBtoHSV(new_ballscolor)
|
||||
if(new_ballscolor == "#000000")
|
||||
features["balls_color"] = pref_species.default_color
|
||||
else if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
|
||||
else if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3])
|
||||
features["balls_color"] = sanitize_hexcolor(new_ballscolor, 6)
|
||||
else
|
||||
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
@@ -2035,7 +2035,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/temp_hsv = RGBtoHSV(new_breasts_color)
|
||||
if(new_breasts_color == "#000000")
|
||||
features["breasts_color"] = pref_species.default_color
|
||||
else if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
|
||||
else if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3])
|
||||
features["breasts_color"] = sanitize_hexcolor(new_breasts_color, 6)
|
||||
else
|
||||
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
@@ -2057,7 +2057,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/temp_hsv = RGBtoHSV(new_vagcolor)
|
||||
if(new_vagcolor == "#000000")
|
||||
features["vag_color"] = pref_species.default_color
|
||||
else if(ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
|
||||
else if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3])
|
||||
features["vag_color"] = sanitize_hexcolor(new_vagcolor, 6)
|
||||
else
|
||||
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
|
||||
|
||||
@@ -274,7 +274,17 @@
|
||||
\"steps out\" of [H.p_them()].</span>",
|
||||
"<span class='notice'>...and after a moment of disorentation, \
|
||||
you're besides yourself!</span>")
|
||||
|
||||
if(H != spare && isslimeperson(spare) && isslimeperson(H))
|
||||
// transfer the swap-body ui if it's open
|
||||
var/datum/action/innate/swap_body/this_swap = origin_datum.swap_body
|
||||
var/datum/action/innate/swap_body/other_swap = spare_datum.swap_body
|
||||
var/datum/tgui/ui = SStgui.get_open_ui(H, this_swap, "main") || SStgui.get_open_ui(spare, this_swap, "main")
|
||||
if(ui)
|
||||
SStgui.on_close(ui) // basically removes it from lists is all this proc does.
|
||||
ui.user = spare
|
||||
ui.src_object = other_swap
|
||||
SStgui.on_open(ui) // stick it back on the lists
|
||||
ui.process(force = TRUE)
|
||||
|
||||
/datum/action/innate/swap_body
|
||||
name = "Swap Body"
|
||||
@@ -327,6 +337,8 @@
|
||||
stat = "Conscious"
|
||||
if(UNCONSCIOUS)
|
||||
stat = "Unconscious"
|
||||
if(SOFT_CRIT)
|
||||
stat = "Barely Conscious"
|
||||
if(DEAD)
|
||||
stat = "Dead"
|
||||
var/occupied
|
||||
@@ -373,7 +385,6 @@
|
||||
var/mob/living/carbon/human/selected = locate(params["ref"]) in SS.bodies
|
||||
if(!can_swap(selected))
|
||||
return
|
||||
SStgui.close_uis(src)
|
||||
swap_to_dupe(H.mind, selected)
|
||||
|
||||
/datum/action/innate/swap_body/proc/can_swap(mob/living/carbon/human/dupe)
|
||||
@@ -407,6 +418,7 @@
|
||||
/datum/action/innate/swap_body/proc/swap_to_dupe(datum/mind/M, mob/living/carbon/human/dupe)
|
||||
if(!can_swap(dupe)) //sanity check
|
||||
return
|
||||
var/mob/living/carbon/human/old = M.current
|
||||
if(M.current.stat == CONSCIOUS)
|
||||
M.current.visible_message("<span class='notice'>[M.current] \
|
||||
stops moving and starts staring vacantly into space.</span>",
|
||||
@@ -418,7 +430,20 @@
|
||||
dupe.visible_message("<span class='notice'>[dupe] blinks and looks \
|
||||
around.</span>",
|
||||
"<span class='notice'>...and move this one instead.</span>")
|
||||
|
||||
if(old != M.current && dupe == M.current && isslimeperson(dupe))
|
||||
var/datum/species/jelly/slime/other_spec = dupe.dna.species
|
||||
var/datum/action/innate/swap_body/other_swap = other_spec.swap_body
|
||||
// theoretically the transfer_to proc is supposed to transfer the ui from the mob.
|
||||
// so I try to get the UI from one of the two mobs and schlump it over to the new action button
|
||||
var/datum/tgui/ui = SStgui.get_open_ui(old, src, "main") || SStgui.get_open_ui(dupe, src, "main")
|
||||
if(ui)
|
||||
// transfer the UI over. This code is slightly hacky but it fixes the problem
|
||||
// I'd use SStgui.on_transfer but that doesn't let you transfer the src_object as well s
|
||||
SStgui.on_close(ui) // basically removes it from lists is all this proc does.
|
||||
ui.user = dupe
|
||||
ui.src_object = other_swap
|
||||
SStgui.on_open(ui) // stick it back on the lists
|
||||
ui.process(force = TRUE)
|
||||
|
||||
////////////////////////////////////////////////////////Round Start Slimes///////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -466,7 +491,7 @@
|
||||
var/new_color = input(owner, "Choose your skin color:", "Race change","#"+H.dna.features["mcolor"]) as color|null
|
||||
if(new_color)
|
||||
var/temp_hsv = RGBtoHSV(new_color)
|
||||
if(ReadHSV(temp_hsv)[3] >= ReadHSV("#7F7F7F")[3]) // mutantcolors must be bright
|
||||
if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3]) // mutantcolors must be bright
|
||||
H.dna.features["mcolor"] = sanitize_hexcolor(new_color, 6)
|
||||
H.update_body()
|
||||
H.update_hair()
|
||||
|
||||
@@ -244,7 +244,14 @@
|
||||
if((return_list[BLOCK_RETURN_MITIGATION_PERCENT] >= 100) || (damage <= 0))
|
||||
. |= BLOCK_SUCCESS
|
||||
var/list/effect_text
|
||||
if(efficiency >= data.parry_efficiency_to_counterattack)
|
||||
var/pacifist_counter_check = TRUE
|
||||
if(HAS_TRAIT(src, TRAIT_PACIFISM))
|
||||
switch(parrying)
|
||||
if(ITEM_PARRY)
|
||||
pacifist_counter_check = (!active_parry_item.force || active_parry_item.damtype == STAMINA)
|
||||
else
|
||||
pacifist_counter_check = FALSE //Both martial and unarmed counter attacks generally are harmful, so no need to have the same line twice.
|
||||
if(efficiency >= data.parry_efficiency_to_counterattack && pacifist_counter_check)
|
||||
effect_text = run_parry_countereffects(object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, efficiency)
|
||||
if(data.parry_flags & PARRY_DEFAULT_HANDLE_FEEDBACK)
|
||||
handle_parry_feedback(object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, efficiency, effect_text)
|
||||
|
||||
@@ -565,7 +565,7 @@
|
||||
var/diff_len = length(GLOB.skin_tones - GLOB.nonstandard_skin_tones)
|
||||
H.skin_tone = GLOB.skin_tones[min(diff_len, GLOB.skin_tones.Find(H.skin_tone) + 1)]
|
||||
else
|
||||
H.skin_tone = H.dna.skin_tone_override = tan_mutant_color(H.dna.skin_tone_override, "#202020")
|
||||
H.skin_tone = H.dna.skin_tone_override = tan_mutant_color(H.dna.skin_tone_override, MINIMUM_MUTANT_COLOR)
|
||||
if(MUTCOLORS in H.dna.species.species_traits) //take current alien color and darken it slightly
|
||||
H.dna.features["mcolor"] = tan_mutant_color(H.dna.features["mcolor"])
|
||||
H.update_body()
|
||||
@@ -576,7 +576,7 @@
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/reagent/spraytan/proc/tan_mutant_color(color, limit = "#7F7F7F")
|
||||
/datum/reagent/spraytan/proc/tan_mutant_color(color, limit = MINIMUM_MUTANT_COLOR)
|
||||
var/newcolor = ""
|
||||
var/len = length(color)
|
||||
var/char = ""
|
||||
|
||||
@@ -619,7 +619,10 @@
|
||||
skin_tone = ""
|
||||
|
||||
body_gender = H.dna.features["body_model"]
|
||||
should_draw_gender = S.sexes
|
||||
if(GLOB.nongendered_limb_types[species_id])
|
||||
should_draw_gender = FALSE
|
||||
else
|
||||
should_draw_gender = S.sexes
|
||||
|
||||
var/mut_colors = (MUTCOLORS in S.species_traits)
|
||||
if(mut_colors)
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Heretic sacrifices now husk with the reason of burn, and deal some additional damage."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Plushlings no longer break when absorbing snowflake plushies."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Neovgre can no longer become invincible on clock tiles."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Pacifists no longer counterattack on parries if that attack would be harmful."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "the minimum brightness of mutant parts is now a define"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "limb id entry in mutant bodyparts now supports switching to/from species with gendered body parts"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "monster860"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "The slimeperson swap-body UI stays open when you switch bodies"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Detective-Google"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "the snow cabin doors actually bolt now"
|
||||
Reference in New Issue
Block a user