diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index 9d5110daf5..53fbd15651 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -415,7 +415,7 @@ Example config: while(recent_round) adjustment += repeated_mode_adjust[recent_round] recent_round = SSpersistence.saved_modes.Find(name,recent_round+1,0) - probability *= ((100-adjustment)/100) + probability *= max(0,((100-adjustment)/100)) runnable_storytellers[S] = probability return runnable_storytellers @@ -448,7 +448,7 @@ Example config: while(recent_round) adjustment += repeated_mode_adjust[recent_round] recent_round = SSpersistence.saved_modes.Find(M.config_tag,recent_round+1,0) - final_weight *= ((100-adjustment)/100) + final_weight *= max(0,((100-adjustment)/100)) runnable_modes[M] = final_weight return runnable_modes diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets.dm b/code/game/gamemodes/dynamic/dynamic_rulesets.dm index 3e7e504130..f1e48eb31c 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets.dm @@ -106,6 +106,7 @@ for(var/i in 1 to 3) if(config_tag in saved_dynamic_rules[i]) weight_mult -= (repeated_mode_adjust[i]/100) + weight_mult = max(0,weight_mult) if(config_tag in costs) cost = costs[config_tag] if(config_tag in requirementses) diff --git a/code/game/objects/structures/femur_breaker.dm b/code/game/objects/structures/femur_breaker.dm index 2ac56ec4fb..cb829006d0 100644 --- a/code/game/objects/structures/femur_breaker.dm +++ b/code/game/objects/structures/femur_breaker.dm @@ -73,9 +73,14 @@ icon_state = "breaker_drop" /obj/structure/femur_breaker/proc/damage_leg(mob/living/carbon/human/H) - H.emote("scream") - H.apply_damage(150, BRUTE, pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) - H.adjustBruteLoss(rand(5,20) + (max(0, H.health))) //Make absolutely sure they end up in crit, so that they can succumb if they wish. + var/where_we_snappin_boys = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) + H.emote("scream") + H.apply_damage(150, BRUTE, where_we_snappin_boys) + var/obj/item/bodypart/cracka = H.get_bodypart(where_we_snappin_boys) + if(cracka) + var/datum/wound/blunt/critical/cracka_lackin = new + cracka_lackin.apply_wound(cracka) + H.adjustBruteLoss(rand(5,20) + (max(0, H.health))) //Make absolutely sure they end up in crit, so that they can succumb if they wish. /obj/structure/femur_breaker/proc/raise_slat() slat_status = BREAKER_SLAT_RAISED diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 807251111a..6b8de787f0 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -492,7 +492,9 @@ playsound(user.loc,'sound/weapons/pierce.ogg', rand(10,50), 1) var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(user.loc) crushed_can.icon_state = icon_state - qdel(src) + M.dropItemToGround(src) + M.put_in_active_hand(crushed_can) + return qdel(src) ..() /obj/item/reagent_containers/food/drinks/soda_cans/attack_self(mob/user) diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index bc921b5b26..9213a5d2ba 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -66,7 +66,10 @@ var/energy_transfer = delta_temperature*hot_air_heat_capacity*cold_air_heat_capacity/(hot_air_heat_capacity+cold_air_heat_capacity) var/heat = energy_transfer*(1-efficiency) - lastgen += LOGISTIC_FUNCTION(500000,0.0009,delta_temperature,10000) + if(delta_temperature < 16800) // second point where derivative of below function = 1 + lastgen += LOGISTIC_FUNCTION(500000,0.0009,delta_temperature,10000) + else + lastgen += delta_temperature + 482102 // value of above function at 16800, or very nearly so hot_air.set_temperature(hot_air.return_temperature() - energy_transfer/hot_air_heat_capacity) cold_air.set_temperature(cold_air.return_temperature() + heat/cold_air_heat_capacity) diff --git a/html/changelogs/AutoChangeLog-pr-14351.yml b/html/changelogs/AutoChangeLog-pr-14351.yml new file mode 100644 index 0000000000..297f51503a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14351.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - balance: "uncapped TEG power, buffing high-temp TEGs" diff --git a/html/changelogs/AutoChangeLog-pr-14358.yml b/html/changelogs/AutoChangeLog-pr-14358.yml new file mode 100644 index 0000000000..3ab6ec654e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14358.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscadd: "The femur breaker now actually breaks legs by applying a compound fracture."