diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 858adc0d66..67cc371c3b 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -328,12 +328,6 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(power) soundloop.volume = min(40, (round(power/100)/50)+1) // 5 +1 volume per 20 power. 2500 power is max - if(isclosedturf(T)) - var/turf/did_it_melt = T.Melt() - if(!isclosedturf(did_it_melt)) //In case some joker finds way to place these on indestructible walls - visible_message("[src] melts through [T]!") - return - //Ok, get the air from the turf var/datum/gas_mixture/env = T.return_air() @@ -345,9 +339,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) else // Pass all the gas related code an empty gas container removed = new() - damage_archived = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage) - matter_power += damage - damage_archived - damage = damage_archived + damage = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage) + damage_archived = damage if(!removed || !removed.total_moles() || isspaceturf(T)) //we're in space or there is no gas to process if(takes_damage) damage += max((power / 1000) * DAMAGE_INCREASE_MULTIPLIER, 0.1) // always does at least some damage @@ -531,7 +524,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) message_admins("[src] has been powered for the first time [ADMIN_JMP(src)].") has_been_powered = TRUE else if(takes_damage) - damage += Proj.damage * config_bullet_energy + matter_power += Proj.damage * config_bullet_energy return BULLET_ACT_HIT /obj/machinery/power/supermatter_crystal/singularity_act()