From d362dacfd0b9ddedc327cffd7f4545a4b3b58424 Mon Sep 17 00:00:00 2001 From: SandPoot <43283559+SandPoot@users.noreply.github.com> Date: Wed, 18 Jan 2023 08:13:27 -0300 Subject: [PATCH 1/5] Rebalances the equalizing atmos to be more like bee's (#287) --- code/__DEFINES/dcs/signals/signals_movable.dm | 4 ++ .../environmental/LINDA_turf_tile.dm | 47 +++++++++++------- icons/effects/atmospherics.dmi | Bin 17371 -> 22808 bytes tgstation.dme | 1 + 4 files changed, 34 insertions(+), 18 deletions(-) create mode 100644 code/__DEFINES/dcs/signals/signals_movable.dm diff --git a/code/__DEFINES/dcs/signals/signals_movable.dm b/code/__DEFINES/dcs/signals/signals_movable.dm new file mode 100644 index 0000000000..adb8a8029b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_movable.dm @@ -0,0 +1,4 @@ +///from base of atom/experience_pressure_difference(): (pressure_difference, direction, pressure_resistance_prob_delta) +#define COMSIG_MOVABLE_PRE_PRESSURE_PUSH "atom_pre_pressure_push" + ///prevents pressure movement + #define COMSIG_MOVABLE_BLOCKS_PRESSURE (1<<0) diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 2c1902d4cc..0be44958f2 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -237,34 +237,45 @@ SSair.high_pressure_delta[src] = TRUE /turf/open/proc/high_pressure_movements() - var/diff = pressure_difference + var/atom/movable/M + var/multiplier = 1 if(locate(/obj/structure/rack) in src) - diff *= 0.1 + multiplier *= 0.1 else if(locate(/obj/structure/table) in src) - diff *= 0.2 - for(var/obj/M in src) - if(!M.anchored && !M.pulledby && M.last_high_pressure_movement_air_cycle < SSair.times_fired) - M.experience_pressure_difference(diff, pressure_direction, 0, pressure_specific_target) - for(var/mob/M in src) - if(!M.anchored && !M.pulledby && M.last_high_pressure_movement_air_cycle < SSair.times_fired) - M.experience_pressure_difference(diff, pressure_direction, 0, pressure_specific_target) - /* + multiplier *= 0.2 + for(var/thing in src) + M = thing + if (!M.anchored && !M.pulledby && M.last_high_pressure_movement_air_cycle < SSair.times_fired) + M.experience_pressure_difference(pressure_difference * multiplier, pressure_direction, 0, pressure_specific_target) + if(pressure_difference > 100) new /obj/effect/temp_visual/dir_setting/space_wind(src, pressure_direction, clamp(round(sqrt(pressure_difference) * 2), 10, 255)) - */ + /atom/movable/var/pressure_resistance = 10 /atom/movable/var/last_high_pressure_movement_air_cycle = 0 /atom/movable/proc/experience_pressure_difference(pressure_difference, direction, pressure_resistance_prob_delta = 0, throw_target) - var/const/PROBABILITY_OFFSET = 25 - var/const/PROBABILITY_BASE_PRECENT = 75 + set waitfor = FALSE + if(SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_PRESSURE_PUSH) & COMSIG_MOVABLE_BLOCKS_PRESSURE) + return + + var/const/PROBABILITY_OFFSET = 40 + var/const/PROBABILITY_BASE_PRECENT = 10 var/max_force = sqrt(pressure_difference)*(MOVE_FORCE_DEFAULT / 5) - set waitfor = 0 var/move_prob = 100 - if (pressure_resistance > 0) + if(pressure_resistance > 0) move_prob = (pressure_difference/pressure_resistance*PROBABILITY_BASE_PRECENT)-PROBABILITY_OFFSET move_prob += pressure_resistance_prob_delta - if (move_prob > PROBABILITY_OFFSET && prob(move_prob) && (move_resist != INFINITY) && (!anchored && (max_force >= (move_resist * MOVE_FORCE_PUSH_RATIO))) || (anchored && (max_force >= (move_resist * MOVE_FORCE_FORCEPUSH_RATIO)))) - step(src, direction) - + if(move_prob > PROBABILITY_OFFSET && prob(move_prob) && (move_resist != INFINITY) && (!anchored && (max_force >= (move_resist * MOVE_FORCE_PUSH_RATIO))) || (anchored && (max_force >= (move_resist * MOVE_FORCE_FORCEPUSH_RATIO)))) + var/move_force = max_force * clamp(move_prob, 0, 100) / 100 + if(move_force > 6000) + // WALLSLAM HELL TIME OH BOY + var/turf/throw_turf = get_ranged_target_turf(get_turf(src), direction, round(move_force / 2000)) + if(throw_target && (get_dir(src, throw_target) & direction)) + throw_turf = get_turf(throw_target) + var/throw_speed = clamp(round(move_force / 3000), 1, 10) + throw_at(throw_turf, move_force / 3000, throw_speed) + else + step(src, direction) + last_high_pressure_movement_air_cycle = SSair.times_fired diff --git a/icons/effects/atmospherics.dmi b/icons/effects/atmospherics.dmi index 6c2412c04b813cc168f26d27c6fee622312e1744..8fce46c9c3a07f23fe6ee3d5c0b809ae318fd2ee 100644 GIT binary patch literal 22808 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 B17rXI literal 17371 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 J%Q~loCIF0I1G)eJ diff --git a/tgstation.dme b/tgstation.dme index 5922f1271a..1651efcf8f 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -156,6 +156,7 @@ #include "code\__DEFINES\dcs\flags.dm" #include "code\__DEFINES\dcs\helpers.dm" #include "code\__DEFINES\dcs\signals.dm" +#include "code\__DEFINES\dcs\signals\signals_movable.dm" #include "code\__DEFINES\dcs\signals\signals_subsystem.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_movement.dm" #include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_living.dm" From 9ddd495232bce063e4c3c5912d3d68cff63c915c Mon Sep 17 00:00:00 2001 From: Darius <5933805+LeDrascol@users.noreply.github.com> Date: Wed, 18 Jan 2023 11:14:03 +0000 Subject: [PATCH 2/5] Require bluespace core for BSMs (#288) Updates bluespace miners construction and techweb requirements. Made at the request of SandPoot. - Added construction requirement for activated bluespace core - Added techweb requirement for Anomaly Research - Removed construction requirement for bluespace crystals --- .../game/objects/items/circuitboards/machine_circuitboards.dm | 2 +- .../code/modules/research/techweb/nodes/bluespace_nodes.dm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modular_sand/code/game/objects/items/circuitboards/machine_circuitboards.dm b/modular_sand/code/game/objects/items/circuitboards/machine_circuitboards.dm index ab97d07d54..aec2c6f1ab 100644 --- a/modular_sand/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/modular_sand/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -40,7 +40,7 @@ /obj/item/stock_parts/micro_laser = 5, /obj/item/stock_parts/manipulator = 5, /obj/item/stock_parts/scanning_module = 5, - /obj/item/stack/ore/bluespace_crystal = 5) + ANOMALY_CORE_BLUESPACE = 1) needs_anchored = FALSE /obj/item/circuitboard/machine/telecomms/message_server diff --git a/modular_sand/code/modules/research/techweb/nodes/bluespace_nodes.dm b/modular_sand/code/modules/research/techweb/nodes/bluespace_nodes.dm index ce6986a8c0..e341a5c1ab 100644 --- a/modular_sand/code/modules/research/techweb/nodes/bluespace_nodes.dm +++ b/modular_sand/code/modules/research/techweb/nodes/bluespace_nodes.dm @@ -33,8 +33,8 @@ /datum/techweb_node/bs_mining id = "bluespace_mining" display_name = "Bluespace Mining Technology" - description = "Harness the power of bluespace to make materials out of nothing. Slowly." - prereq_ids = list("practical_bluespace", "adv_mining") + description = "Harness the power of bluespace to make materials out of nothing, slowly. Requires a bluespace core to function." + prereq_ids = list("practical_bluespace", "adv_mining", "anomaly_research") design_ids = list("bluespace_miner") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500) From 45ab806104b651d6ea6a6a2fc1980169d8af6424 Mon Sep 17 00:00:00 2001 From: Sandstorm Bot <85452301+Sandstorm-Bot@users.noreply.github.com> Date: Wed, 18 Jan 2023 11:14:25 +0000 Subject: [PATCH 3/5] Automatic changelog generation for PR #287 [ci skip] --- html/changelogs/AutoChangeLog-pr-287.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-287.yml diff --git a/html/changelogs/AutoChangeLog-pr-287.yml b/html/changelogs/AutoChangeLog-pr-287.yml new file mode 100644 index 0000000000..e1e55efedf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-287.yml @@ -0,0 +1,8 @@ +author: SandPoot +delete-after: true +changes: + - balance: Maybe very small amounts of air aren't as aggressive with pushing stuff + around. + - balance: Way too much air can send you FLYING, maybe think twice about opening + that airlock/firelock now. + - imageadd: Added space wind image for air pushing stuff. From 349a7f076201a6f47b6334cc2e244176edebd332 Mon Sep 17 00:00:00 2001 From: Sandstorm Bot <85452301+Sandstorm-Bot@users.noreply.github.com> Date: Wed, 18 Jan 2023 11:14:58 +0000 Subject: [PATCH 4/5] Automatic changelog generation for PR #288 [ci skip] --- html/changelogs/AutoChangeLog-pr-288.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-288.yml diff --git a/html/changelogs/AutoChangeLog-pr-288.yml b/html/changelogs/AutoChangeLog-pr-288.yml new file mode 100644 index 0000000000..34fe36bf25 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-288.yml @@ -0,0 +1,5 @@ +author: LeDrascol +delete-after: true +changes: + - tweak: Bluespace mining research is now behind Anomaly Research + - balance: Bluespace miners now require a bluespace anomaly core From 9b4bfcdc4ad4e8d99c2d288515d21e69a47269cf Mon Sep 17 00:00:00 2001 From: Sandstorm Bot <85452301+Sandstorm-Bot@users.noreply.github.com> Date: Wed, 18 Jan 2023 11:15:33 +0000 Subject: [PATCH 5/5] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-287.yml | 8 -------- html/changelogs/archive/2023-01.yml | 7 +++++++ 2 files changed, 7 insertions(+), 8 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-287.yml diff --git a/html/changelogs/AutoChangeLog-pr-287.yml b/html/changelogs/AutoChangeLog-pr-287.yml deleted file mode 100644 index e1e55efedf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-287.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: SandPoot -delete-after: true -changes: - - balance: Maybe very small amounts of air aren't as aggressive with pushing stuff - around. - - balance: Way too much air can send you FLYING, maybe think twice about opening - that airlock/firelock now. - - imageadd: Added space wind image for air pushing stuff. diff --git a/html/changelogs/archive/2023-01.yml b/html/changelogs/archive/2023-01.yml index f1d4d75a00..5b33ba5a66 100644 --- a/html/changelogs/archive/2023-01.yml +++ b/html/changelogs/archive/2023-01.yml @@ -25,3 +25,10 @@ - code_imp: optimizes some genital related code LeDrascol: - tweak: Moved Autodoc techweb entry from Advanced Surgery to Advanced Surgery Tools +2023-01-18: + SandPoot: + - balance: Maybe very small amounts of air aren't as aggressive with pushing stuff + around. + - balance: Way too much air can send you FLYING, maybe think twice about opening + that airlock/firelock now. + - imageadd: Added space wind image for air pushing stuff.