Skip to content

Commit

Permalink
Merge branch 'SkyRatMaster' into upstreammaint
Browse files Browse the repository at this point in the history
  • Loading branch information
RogueStationAI committed Sep 1, 2024
2 parents 979bdc2 + 581a50e commit deb65a4
Show file tree
Hide file tree
Showing 18 changed files with 76 additions and 171 deletions.
15 changes: 3 additions & 12 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
# Ignore compiled linux libs in the root folder, e.g. librust_g.so
/*.so

#

#Ignore compiled files and other files generated during compilation.
*.mdme
*.mdme.*
Expand All @@ -37,16 +35,6 @@
*.lk
*.int
*.backup

# Ignore tools ported over from SpacemanDMM for personal use
.fingerprint
build/
deps/
incremental/
dmm-tools.exe
dmm-tools.d
git-diagnostics-2024-08-11-1513.zip

### https://raw.github.com/github/gitignore/cc542de017c606138a87ee4880e5f06b3a306def/Global/Linux.gitignore

*~
Expand Down Expand Up @@ -264,5 +252,8 @@ define_sanity_output.txt

# Running OpenDream locally
tgstation.json
<<<<<<< HEAD
.cargo-lock
>>>>>>> 5d81843b3302 (Raptor faction fix (#85792))
=======
>>>>>>> 8fa9db8869f0 (Reverts accidental .gitignore changes (#86114))
29 changes: 13 additions & 16 deletions _maps/map_files/NSVBlueshift/Blueshift.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2271,7 +2271,6 @@
c_tag = "Cargo Bay - Starboard";
name = "cargo camera"
},
/obj/machinery/light/directional/east,
/turf/open/floor/plating,
/area/station/cargo/storage)
"axk" = (
Expand Down Expand Up @@ -4830,11 +4829,11 @@
/turf/open/floor/wood,
/area/station/security/courtroom)
"aYi" = (
/obj/machinery/door/airlock/external{
/obj/machinery/door/airlock/external/glass{
name = "Supply Dock Airlock"
},
/obj/effect/mapping_helpers/airlock/access/all/supply/general,
/turf/open/floor/iron,
/turf/open/floor/iron/smooth,
/area/station/cargo/storage)
"aYj" = (
/obj/structure/cable,
Expand Down Expand Up @@ -23568,11 +23567,7 @@
/obj/structure/disposalpipe/trunk{
dir = 8
},
/obj/machinery/conveyor{
dir = 1;
id = "cargoload"
},
/turf/open/floor/plating,
/turf/open/floor/iron/smooth,
/area/station/cargo/storage)
"eyt" = (
/obj/machinery/light/small/directional/south,
Expand Down Expand Up @@ -38938,7 +38933,7 @@
/obj/effect/turf_decal/caution/stand_clear{
dir = 8
},
/turf/open/floor/iron,
/turf/open/floor/iron/smooth_large,
/area/station/cargo/storage)
"hvV" = (
/obj/structure/table/reinforced,
Expand Down Expand Up @@ -59140,7 +59135,8 @@
/turf/open/floor/carpet/royalblack,
/area/station/command/heads_quarters/qm)
"lov" = (
/obj/machinery/conveyor{
/obj/machinery/conveyor/inverted{
dir = 5;
id = "cargoload"
},
/obj/machinery/airalarm/directional/north,
Expand Down Expand Up @@ -86065,8 +86061,8 @@
/turf/open/floor/glass/reinforced,
/area/station/security/prison/safe)
"qvW" = (
/obj/machinery/conveyor/inverted{
dir = 6;
/obj/machinery/conveyor{
dir = 8;
id = "cargoload"
},
/turf/open/floor/plating,
Expand Down Expand Up @@ -101984,6 +101980,7 @@
id = "cargounload"
},
/obj/structure/window/reinforced/spawner/directional/south,
/obj/machinery/light/directional/east,
/turf/open/floor/plating,
/area/station/cargo/storage)
"txP" = (
Expand Down Expand Up @@ -168523,11 +168520,11 @@ eym
kGC
gaG
aYi
kGC
ilS
aYi
bka
kGC
kGC
pWU
sej
kGC
ilS
Expand Down Expand Up @@ -168780,7 +168777,7 @@ kGC
kGC
mAN
hvU
pWU
kGC
hvU
sEm
kGC
Expand Down Expand Up @@ -169037,7 +169034,7 @@ eeU
kGC
gaG
aYi
kGC
pWU
aYi
bka
kGC
Expand Down
4 changes: 2 additions & 2 deletions _maps/shuttles/skyrat/cargo_skyrat.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
"uk" = (
/obj/machinery/conveyor{
dir = 8;
id = "QMLoad"
id = "cargoload"
},
/obj/machinery/door/poddoor{
id = "QMLoaddoor";
Expand Down Expand Up @@ -194,7 +194,7 @@
"Xz" = (
/obj/machinery/conveyor{
dir = 4;
id = "QMLoad2"
id = "cargounload"
},
/obj/machinery/door/poddoor{
id = "QMLoaddoor2";
Expand Down
6 changes: 0 additions & 6 deletions code/__DEFINES/~skyrat_defines/DNA.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,19 +70,13 @@
//In inches
#define PENIS_MIN_GIRTH PENIS_MIN_LENGTH
#define PENIS_MAX_GIRTH 20
/// for non oversized mobs with a 'normal' body size
#define PENIS_MAX_GIRTH_NORMAL_SIZED 15
#define PENIS_DEFAULT_GIRTH 5 // a lil big but not by much
#define PENIS_MIN_LENGTH 1
#define PENIS_MAX_LENGTH 36
/// for non oversized mobs with a 'normal' body size
#define PENIS_MAX_LENGTH_NORMAL_SIZED 20
#define PENIS_DEFAULT_LENGTH 6 //still a lil long but not insane

#define TESTICLES_MIN_SIZE 0
#define TESTICLES_MAX_SIZE 6
/// for non oversized mobs with a 'normal' body size
#define TESTICLES_MAX_NORMAL_SIZED 3

#define SHEATH_NONE "None"
#define SHEATH_NORMAL "Sheath"
Expand Down
13 changes: 8 additions & 5 deletions code/datums/status_effects/debuffs/staggered.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
/// Staggered can occur most often via shoving, but can also occur in other places too.
/datum/status_effect/staggered
id = "staggered"
tick_interval = 0.5 SECONDS
tick_interval = 0.8 SECONDS
alert_type = null
remove_on_fullheal = TRUE

Expand All @@ -25,7 +25,7 @@
UnregisterSignal(owner, COMSIG_LIVING_DEATH)
owner.remove_movespeed_modifier(/datum/movespeed_modifier/staggered)
// Resetting both X on remove so we're back to normal
owner.pixel_x = owner.base_pixel_x
animate(owner, pixel_x = owner.base_pixel_x, time = 0.2 SECONDS, flags = ANIMATION_PARALLEL)

/// Signal proc that self deletes our staggered effect
/datum/status_effect/staggered/proc/clear_staggered(datum/source)
Expand All @@ -40,13 +40,16 @@
return
if(HAS_TRAIT(owner, TRAIT_FAKEDEATH))
return
owner.do_stagger_animation()
INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob/living, do_stagger_animation))

/// Helper proc that causes the mob to do a stagger animation.
/// Doesn't change significantly, just meant to represent swaying back and forth
/mob/living/proc/do_stagger_animation()
animate(src, pixel_x = 4, time = 0.2 SECONDS, loop = 6, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL)
animate(pixel_x = -4, time = 0.2 SECONDS, flags = ANIMATION_RELATIVE)
animate(src, pixel_x = 4, time = 0.2 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL)
sleep(0.2 SECONDS)
animate(src, pixel_x = -8, time = 0.2 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL)
sleep(0.2 SECONDS)
animate(src, pixel_x = 4, time = 0.2 SECONDS, flags = ANIMATION_RELATIVE|ANIMATION_PARALLEL)

/// Status effect specifically for instances where someone is vulnerable to being stunned when shoved.
/datum/status_effect/next_shove_stuns
Expand Down
15 changes: 6 additions & 9 deletions code/game/objects/items/theft_tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -247,13 +247,6 @@
if(ismob(loc))
to_chat(loc, span_warning("[src] is permanently sealed, [sliver] is safely contained."))

/obj/item/nuke_core_container/supermatter/attackby(obj/item/hemostat/supermatter/tongs, mob/user)
if(istype(tongs))
//try to load shard into core
load(tongs, user)
else
return ..()

/obj/item/scalpel/supermatter
name = "supermatter scalpel"
desc = "A scalpel with a fragile tip of condensed hyper-noblium gas, searingly cold to the touch, that can safely shave a sliver off a supermatter crystal."
Expand Down Expand Up @@ -295,11 +288,15 @@

/obj/item/hemostat/supermatter/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
if(!sliver)
return NONE
return ..()
if (istype(interacting_with, /obj/item/nuke_core_container/supermatter))
var/obj/item/nuke_core_container/supermatter/container = interacting_with
container.load(src, user)
return ITEM_INTERACT_SUCCESS
if(ismovable(interacting_with) && interacting_with != sliver)
Consume(interacting_with, user)
return ITEM_INTERACT_SUCCESS
return NONE
return ..()

/obj/item/hemostat/supermatter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) // no instakill supermatter javelins
if(sliver)
Expand Down
9 changes: 0 additions & 9 deletions code/modules/fishing/fish/_fish.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,6 @@
var/list/compatible_types
/// A list of possible evolutions. If set, offsprings may be of a different, new fish type if conditions are met.
var/list/evolution_types
/// The species' name(s) of the parents of the fish. Shown by the fish analyzer.
var/progenitors

// Fishing related properties

Expand Down Expand Up @@ -160,7 +158,6 @@
if(apply_qualities)
apply_traits() //Make sure traits are applied before size and weight.
update_size_and_weight()
progenitors = full_capitalize(name) //default value

register_evolutions()

Expand Down Expand Up @@ -556,12 +553,6 @@
partner.breeding_wait = world.time + breeding_timeout
else //Make a close of this fish.
new_fish.update_size_and_weight(size, weight, TRUE)
new_fish.progenitors = initial(name)
if(partner && type != partner.type)
var/string = "[initial(name)] - [initial(partner.name)]"
new_fish.progenitors = full_capitalize(string)
else
new_fish.progenitors = full_capitalize(initial(name))

breeding_wait = world.time + breeding_timeout

Expand Down
1 change: 0 additions & 1 deletion code/modules/fishing/sources/source_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@
new_traits |= pick_weight(weighted_traits)
caught_fish.inherit_traits(new_traits)
caught_fish.randomize_size_and_weight(deviation = 0.3)
caught_fish.progenitors = full_capitalize(caught_fish.name)
return caught_fish


Expand Down
11 changes: 11 additions & 0 deletions html/changelogs/archive/2024-08.yml
Original file line number Diff line number Diff line change
Expand Up @@ -833,3 +833,14 @@
- bugfix: Fixed an inconsistency in the naming for QM Office access.
grungussuss:
- bugfix: after 4 years, computer sound loop now works properly
2024-08-31:
LT3:
- bugfix: Blueshift's cargo shuttle buttons are no longer trapped under glass windows
- bugfix: Blueshift's cargo shuttle conveyors are properly linked
Majkl-J:
- balance: You can now use larger dick sizes no matter the character size
- bugfix: You no longer get dusted upon trying to store your supermatter sliver.
SkyratBot:
- bugfix: Stagger animation is no longer horrilbly jittery
thegrb93:
- bugfix: Fixes not being able to disassemble the lewd machines
Original file line number Diff line number Diff line change
Expand Up @@ -199,24 +199,9 @@
var/part_enabled = is_factual_sprite_accessory(relevant_mutant_bodypart, preferences.read_preference(/datum/preference/choiced/genital/penis))
return erp_allowed && part_enabled && (passed_initial_check || allowed)

/// The difference between the absolute max length and the length for normal sized mobs
#define PENIS_LENGTH_ABOVE_NORMAL PENIS_MAX_LENGTH - PENIS_MAX_LENGTH_NORMAL_SIZED

/datum/preference/numeric/penis_length/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
// Adjust allowed size based on character size
var/body_size = preferences?.read_preference(/datum/preference/numeric/body_size) || BODY_SIZE_NORMAL
var/has_oversized_quirk = preferences?.all_quirks.Find(/datum/quirk/oversized::name)
// Clamp this for normal sized characters. Max allowed size is proportional to the mob's body_size, rounded up.
if(!has_oversized_quirk)
var/adjusted_size = PENIS_MAX_LENGTH_NORMAL_SIZED
if(body_size > 1)
adjusted_size = ceil(round(PENIS_MAX_LENGTH_NORMAL_SIZED, step) + ((((body_size - round(1, step)) * round(2, step))) * round(PENIS_LENGTH_ABOVE_NORMAL, step))) // floating point inaccuracy fun
if(value > adjusted_size)
value = adjusted_size
target.dna.features["penis_size"] = value

#undef PENIS_LENGTH_ABOVE_NORMAL

/datum/preference/numeric/penis_length/create_default_value() // if you change from this to PENIS_MAX_LENGTH the game should laugh at you
return round(max(PENIS_MIN_LENGTH, PENIS_DEFAULT_LENGTH))

Expand All @@ -235,24 +220,9 @@
var/part_enabled = is_factual_sprite_accessory(relevant_mutant_bodypart, preferences.read_preference(/datum/preference/choiced/genital/penis))
return erp_allowed && part_enabled && (passed_initial_check || allowed)

/// The difference between the absolute max girth and the girth for normal sized mobs
#define PENIS_GIRTH_ABOVE_NORMAL PENIS_MAX_GIRTH - PENIS_MAX_GIRTH_NORMAL_SIZED

/datum/preference/numeric/penis_girth/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
// Adjust allowed size based on character size
var/body_size = preferences?.read_preference(/datum/preference/numeric/body_size) || BODY_SIZE_NORMAL
var/has_oversized_quirk = preferences?.all_quirks.Find(/datum/quirk/oversized::name)
// Clamp this for normal sized characters. Max allowed size is proportional to the mob's body_size, rounded up.
if(!has_oversized_quirk)
var/adjusted_size = PENIS_MAX_GIRTH_NORMAL_SIZED
if(body_size > 1)
adjusted_size = ceil(round(PENIS_MAX_GIRTH_NORMAL_SIZED, step) + ((((body_size - round(1, step)) * round(2, step))) * round(PENIS_GIRTH_ABOVE_NORMAL, step))) // floating point inaccuracy fun
if(value > adjusted_size)
value = adjusted_size
target.dna.features["penis_girth"] = value

#undef PENIS_GIRTH_ABOVE_NORMAL

/datum/preference/numeric/penis_girth/create_default_value()
return round(max(PENIS_MIN_GIRTH, PENIS_DEFAULT_GIRTH))

Expand Down Expand Up @@ -352,8 +322,8 @@
savefile_identifier = PREFERENCE_CHARACTER
savefile_key = "balls_size"
relevant_mutant_bodypart = ORGAN_SLOT_TESTICLES
minimum = 0
maximum = 6
minimum = TESTICLES_MIN_SIZE
maximum = TESTICLES_MAX_SIZE

/datum/preference/numeric/balls_size/is_accessible(datum/preferences/preferences)
var/passed_initial_check = ..(preferences)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@
layers = EXTERNAL_ADJACENT | EXTERNAL_BEHIND

/obj/item/organ/external/genital/testicles/update_genital_icon_state()
var/measured_size = clamp(genital_size, 1, 6)
var/measured_size = clamp(genital_size, 1, TESTICLES_MAX_SIZE)
var/passed_string = "testicles_[genital_type]_[measured_size]"
if(uses_skintones)
passed_string += "_s"
Expand All @@ -283,7 +283,7 @@

/obj/item/organ/external/genital/testicles/get_sprite_size_string()
var/measured_size = FLOOR(genital_size,1)
measured_size = clamp(measured_size, 0, 6)
measured_size = clamp(measured_size, 0, TESTICLES_MAX_SIZE)
var/passed_string = "[genital_type]_[measured_size]"
if(uses_skintones)
passed_string += "_s"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -408,18 +408,13 @@
current_mob.adjust_pain(pain_amounts[current_mode] * seconds_per_tick)

/obj/structure/chair/milking_machine/click_ctrl_shift(mob/user)
. = ..()
if(. == FALSE)
return FALSE

to_chat(user, span_notice("You begin to disassemble [src]..."))
if(!do_after(user, 8 SECONDS, src))
to_chat(user, span_warning("You fail to disassemble [src]!"))
return FALSE
return

deconstruct(TRUE)
to_chat(user, span_notice("You disassemble [src]."))
return TRUE

// Machine deconstruction process handler
/obj/structure/chair/milking_machine/atom_deconstruct(disassembled)
Expand Down
Loading

0 comments on commit deb65a4

Please sign in to comment.