From 8ef8d34dcc89f200da42218256c71f47cd8c74b8 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Mon, 30 Dec 2019 13:31:35 +0800 Subject: [PATCH 1/4] supermatter power+integrity changes --- code/modules/power/supermatter/supermatter.dm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 68ffcb909a..07c7c0cf89 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -66,6 +66,8 @@ #define SUPERMATTER_COUNTDOWN_TIME 30 SECONDS +#define SUPERMATTER_INTEGRITY_MULT 1.3 //(loss of integrity / 10) ^ 1.3 + GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) /obj/machinery/power/supermatter_crystal @@ -158,6 +160,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/datum/looping_sound/supermatter/soundloop var/moveable = FALSE + var/min_damage = 0 /obj/machinery/power/supermatter_crystal/Initialize() . = ..() @@ -359,6 +362,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) //capping damage damage = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage) + damage = max(min_damage, damage) //max integrity if(damage > damage_archived && prob(10)) playsound(get_turf(src), 'sound/effects/empulse.ogg', 50, 1) @@ -451,7 +455,10 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) l.rad_act(rads) power -= ((power/500)**3) * powerloss_inhibitor - + if (damage < 75) + power = (power * ((100 - (0.15*damage - 5)**2) / 100)) + power*0.25 + else + power = power * (((damage**1.3)-(2*damage))/100) if(power > POWER_PENALTY_THRESHOLD || damage > damage_penalty_point) if(power > POWER_PENALTY_THRESHOLD) @@ -474,7 +481,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) supermatter_anomaly_gen(src, GRAVITATIONAL_ANOMALY, rand(5, 10)) if(power > SEVERE_POWER_PENALTY_THRESHOLD && prob(2) || prob(0.3) && power > POWER_PENALTY_THRESHOLD) supermatter_anomaly_gen(src, PYRO_ANOMALY, rand(5, 10)) - + if (damage - damage_archived > 0) + min_damage += ((damage - damage_archived) / 10) ** SUPERMATTER_INTEGRITY_MULT if(damage > warning_point) // while the core is still damaged and it's still worth noting its status if((REALTIMEOFDAY - lastwarning) / 10 >= WARNING_DELAY) alarm() From 714f76c8aa3c5ac3432e81d3587d01183f2c5697 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Mon, 30 Dec 2019 18:48:29 +0800 Subject: [PATCH 2/4] more changes --- code/game/objects/items/miscellaneous.dm | 8 +++++ code/modules/cargo/packs/engine.dm | 8 +++++ code/modules/power/supermatter/supermatter.dm | 31 +++++++++++++----- icons/obj/supermatter.dmi | Bin 22424 -> 22754 bytes 4 files changed, 38 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 9837936e5f..ee169cc661 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -19,3 +19,11 @@ icon_state = "skub" w_class = WEIGHT_CLASS_BULKY attack_verb = list("skubbed") + +/obj/item/supermatterspray + name = "supermatter spray" + desc = "A spray bottle containing some kind of magical spray to fix the SM. \"Do not inhale.\" is written on the side. Unless aimed at the supermatter, it does nothing." + icon = 'icons/obj/supermatter.dmi' + icon_state = "supermatterspray" + w_class = WEIGHT_CLASS_SMALL + var/usesleft = 2 \ No newline at end of file diff --git a/code/modules/cargo/packs/engine.dm b/code/modules/cargo/packs/engine.dm index 499881a110..7bc2ae42ed 100644 --- a/code/modules/cargo/packs/engine.dm +++ b/code/modules/cargo/packs/engine.dm @@ -149,6 +149,14 @@ crate_type = /obj/structure/closet/crate/secure/engineering dangerous = TRUE +/datum/supply_pack/engine/supermatter_shard + name = "Supermatter Spray Crate" + desc = "The single thing that can truly heal the supermatter." + cost = 2000 + contains = list(/obj/item/supermatterspray) + crate_name = "supermatter shard crate" + crate_type = /obj/structure/closet/crate/engineering/electrical + /datum/supply_pack/engine/tesla_coils name = "Tesla Coil Crate" desc = "Whether it's high-voltage executions, creating research points, or just plain old power generation: This pack of four Tesla coils can do it all!" diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 07c7c0cf89..fcb5d6df56 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -161,6 +161,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/moveable = FALSE var/min_damage = 0 + var/power_calc = 0 /obj/machinery/power/supermatter_crystal/Initialize() . = ..() @@ -402,7 +403,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(matter_power) var/removed_matter = max(matter_power/MATTER_POWER_CONVERSION, 40) - power = max(power + removed_matter, 0) + power_calc = max(power_calc + removed_matter, 0) matter_power = max(matter_power - removed_matter, 0) var/temp_factor = 50 @@ -415,7 +416,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) temp_factor = 30 icon_state = base_icon_state - power = max( (removed.temperature * temp_factor / T0C) * gasmix_power_ratio + power, 0) //Total laser power plus an overload + power_calc = max( (removed.temperature * temp_factor / T0C) * gasmix_power_ratio + power_calc, 0) //Total laser power plus an overload if(prob(50)) radiation_pulse(src, power * (1 + (tritiumcomp * TRITIUM_RADIOACTIVITY_MODIFIER) + ((pluoxiumcomp * PLUOXIUM_RADIOACTIVITY_MODIFIER) * pluoxiumbonus) * (power_transmission_bonus/(10-(bzcomp * BZ_RADIOACTIVITY_MODIFIER))))) // Rad Modifiers BZ(500%), Tritium(300%), and Pluoxium(-200%) @@ -447,18 +448,19 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) for(var/mob/living/carbon/human/l in view(src, HALLUCINATION_RANGE(power))) // If they can see it without mesons on. Bad on them. if(!istype(l.glasses, /obj/item/clothing/glasses/meson)) var/D = sqrt(1 / max(1, get_dist(l, src))) - l.hallucination += power * config_hallucination_power * D + l.hallucination += power_calc * config_hallucination_power * D l.hallucination = CLAMP(0, 200, l.hallucination) for(var/mob/living/l in range(src, round((power / 100) ** 0.25))) var/rads = (power / 10) * sqrt( 1 / max(get_dist(l, src),1) ) l.rad_act(rads) - power -= ((power/500)**3) * powerloss_inhibitor - if (damage < 75) - power = (power * ((100 - (0.15*damage - 5)**2) / 100)) + power*0.25 + power_calc -= ((power_calc/500)**3) * powerloss_inhibitor + if ((100-get_integrity()) < 75) + power = (power_calc * ((100 - (0.15*(100-get_integrity()) - 5)**2) / 100)) + power_calc*0.1 else - power = power * (((damage**1.3)-(2*damage))/100) + power = power_calc * (((100-get_integrity())^((3*(100-get_integrity()))/1000) + 2*(100-get_integrity()))/100) //new and improved, more linear + //power = power_calc * ((((100-get_integrity())**1.3)-(2*(100-get_integrity())))/100) if(power > POWER_PENALTY_THRESHOLD || damage > damage_penalty_point) if(power > POWER_PENALTY_THRESHOLD) @@ -482,7 +484,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(power > SEVERE_POWER_PENALTY_THRESHOLD && prob(2) || prob(0.3) && power > POWER_PENALTY_THRESHOLD) supermatter_anomaly_gen(src, PYRO_ANOMALY, rand(5, 10)) if (damage - damage_archived > 0) - min_damage += ((damage - damage_archived) / 10) ** SUPERMATTER_INTEGRITY_MULT + min_damage += ((damage - damage_archived) / 9) * SUPERMATTER_INTEGRITY_MULT if(damage > warning_point) // while the core is still damaged and it's still worth noting its status if((REALTIMEOFDAY - lastwarning) / 10 >= WARNING_DELAY) alarm() @@ -522,7 +524,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(!istype(Proj.firer, /obj/machinery/power/emitter)) investigate_log("has been hit by [Proj] fired by [key_name(Proj.firer)]", INVESTIGATE_SUPERMATTER) if(Proj.flag != "bullet") - power += Proj.damage * config_bullet_energy + power_calc += Proj.damage * config_bullet_energy if(!has_been_powered) investigate_log("has been powered for the first time.", INVESTIGATE_SUPERMATTER) message_admins("[src] has been powered for the first time [ADMIN_JMP(src)].") @@ -623,6 +625,17 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) to_chat(user, "You extract a sliver from \the [src]. \The [src] begins to react violently!") new /obj/item/nuke_core/supermatter_sliver(drop_location()) matter_power += 200 + if (istype(W, /obj/item/supermatterspray)) + var/obj/item/supermatterspray/S = W + if (S.usesleft > 0 && do_after(user, 60, target=src)) + min_damage = max(0,min_damage - 10) + to_chat(user, "You spray \the [src] with [S].") + playsound(user.loc,'sound/effects/spray2.ogg',50,1,-6) + S.usesleft-- + if (prob(10)) + to_chat(user, "Your hands slip and you drop [S] into \the [src]!") + Consume(S) + return else if(user.dropItemToGround(W)) user.visible_message("As [user] touches \the [src] with \a [W], silence fills the room...",\ "You touch \the [src] with \the [W], and everything suddenly goes silent.\n\The [W] flashes into dust as you flinch away from \the [src].",\ diff --git a/icons/obj/supermatter.dmi b/icons/obj/supermatter.dmi index 92a9dfe270ba11cf8e18a9ec54d66cc029544fb7..fb058088092112eb07b84e56a7c0afd4e5d10ec0 100644 GIT binary patch delta 8884 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 delta 8531 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 H8TNkwu6`W& From 2ca4c2e66a4e8808d06f97da7af85a739478dbe3 Mon Sep 17 00:00:00 2001 From: Seris02 Date: Mon, 30 Dec 2019 18:53:00 +0800 Subject: [PATCH 3/4] tiny fixes --- code/modules/cargo/packs/engine.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cargo/packs/engine.dm b/code/modules/cargo/packs/engine.dm index 7bc2ae42ed..27891f3ab6 100644 --- a/code/modules/cargo/packs/engine.dm +++ b/code/modules/cargo/packs/engine.dm @@ -149,7 +149,7 @@ crate_type = /obj/structure/closet/crate/secure/engineering dangerous = TRUE -/datum/supply_pack/engine/supermatter_shard +/datum/supply_pack/engine/supermatter_spray name = "Supermatter Spray Crate" desc = "The single thing that can truly heal the supermatter." cost = 2000 From feca294f4883a5c5f627dc8d69b3913c2bd539bb Mon Sep 17 00:00:00 2001 From: Seris02 Date: Tue, 28 Jan 2020 13:56:37 +0800 Subject: [PATCH 4/4] tada --- code/modules/power/supermatter/supermatter.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index fcb5d6df56..51529f8d99 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -485,7 +485,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) supermatter_anomaly_gen(src, PYRO_ANOMALY, rand(5, 10)) if (damage - damage_archived > 0) min_damage += ((damage - damage_archived) / 9) * SUPERMATTER_INTEGRITY_MULT - if(damage > warning_point) // while the core is still damaged and it's still worth noting its status + if(damage > (min_damage < 200 ? min_damage : 0) + warning_point) // while the core is still damaged and it's still worth noting its status if((REALTIMEOFDAY - lastwarning) / 10 >= WARNING_DELAY) alarm()