mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-10 15:36:56 +01:00
Merge pull request #487 from ArchieBeepBoop/runtimefixes
Let's play the game of experimental runtime fixes.
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
return
|
||||
|
||||
|
||||
/turf/open/hotspot_expose(exposed_temperature, exposed_volume, soh)
|
||||
/turf/open/hotspot_expose(exposed_temperature, exposed_volume, soh = FALSE, holo = FALSE)
|
||||
var/datum/gas_mixture/air_contents = return_air()
|
||||
if(!air_contents)
|
||||
return 0
|
||||
@@ -35,7 +35,7 @@
|
||||
if(oxy < 0.5)
|
||||
return 0
|
||||
|
||||
active_hotspot = new /obj/effect/hotspot(src)
|
||||
active_hotspot = new /obj/effect/hotspot(src, holo)
|
||||
active_hotspot.temperature = exposed_temperature*50
|
||||
active_hotspot.volume = exposed_volume*25
|
||||
|
||||
@@ -67,8 +67,10 @@
|
||||
var/bypassing = FALSE
|
||||
var/visual_update_tick = 0
|
||||
|
||||
/obj/effect/hotspot/Initialize()
|
||||
/obj/effect/hotspot/Initialize(mapload, holo = FALSE)
|
||||
. = ..()
|
||||
if(holo)
|
||||
flags_1 |= HOLOGRAM_1
|
||||
SSair.hotspots += src
|
||||
perform_exposure()
|
||||
setDir(pick(GLOB.cardinals))
|
||||
@@ -192,15 +194,15 @@
|
||||
|
||||
if(bypassing)
|
||||
icon_state = "3"
|
||||
location.burn_tile()
|
||||
|
||||
if(!(flags_1 & HOLOGRAM_1))
|
||||
location.burn_tile()
|
||||
//Possible spread due to radiated heat
|
||||
if(location.air.temperature > FIRE_MINIMUM_TEMPERATURE_TO_SPREAD)
|
||||
var/radiated_temperature = location.air.temperature*FIRE_SPREAD_RADIOSITY_SCALE
|
||||
for(var/t in location.atmos_adjacent_turfs)
|
||||
var/turf/open/T = t
|
||||
if(T.active_hotspot)
|
||||
T.hotspot_expose(radiated_temperature, CELL_VOLUME/4)
|
||||
T.hotspot_expose(radiated_temperature, CELL_VOLUME/4, flags_1 & HOLOGRAM_1)
|
||||
|
||||
else
|
||||
if(volume > CELL_VOLUME*0.4)
|
||||
@@ -224,7 +226,8 @@
|
||||
var/turf/open/T = loc
|
||||
if(istype(T) && T.active_hotspot == src)
|
||||
T.active_hotspot = null
|
||||
DestroyTurf()
|
||||
if(!(flags_1 & HOLOGRAM_1))
|
||||
DestroyTurf()
|
||||
return ..()
|
||||
|
||||
/obj/effect/hotspot/proc/DestroyTurf()
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/dropped(mob/user)
|
||||
..()
|
||||
if(suit)
|
||||
if(suit && !ismob(loc)) //equipped() will handle mob cases, so it doesn't disengage twice.
|
||||
suit.RemoveHelmet()
|
||||
soundloop.stop(user)
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
s.set_up(3, 1, T)
|
||||
s.start()
|
||||
T.temperature = 5000
|
||||
T.hotspot_expose(50000,50000,1)
|
||||
T.hotspot_expose(50000, 50000, TRUE, TRUE)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
for(var/i in 1 to length(harvest_output))
|
||||
harvest_output[i] = WEAKREF(harvest_output[i])
|
||||
|
||||
if(harvest_output.len)
|
||||
if(length(harvest_output))
|
||||
set_pin_data(IC_OUTPUT, 1, harvest_output)
|
||||
push_data()
|
||||
if(1)
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
. = ..()
|
||||
|
||||
/datum/species/plasmaman/before_equip_job(datum/job/J, mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
var/current_job = J.title
|
||||
var/current_job = J?.title
|
||||
var/datum/outfit/plasmaman/O = new /datum/outfit/plasmaman
|
||||
switch(current_job)
|
||||
if("Chaplain")
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
..(gibbed)
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/proc/spawn_crusher_loot()
|
||||
butcher_results[crusher_loot] = 1
|
||||
LAZYSET(butcher_results, crusher_loot, 1)
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/handle_temperature_damage()
|
||||
if(bodytemperature < minbodytemp)
|
||||
|
||||
@@ -187,6 +187,7 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related
|
||||
var/datum/chemical_reaction/recipe = get_chemical_reaction(recipe_id)
|
||||
if(!recipe)
|
||||
info = "This recipe is illegible."
|
||||
return
|
||||
var/list/dat = list("<ul>")
|
||||
for(var/rid in recipe.required_reagents)
|
||||
var/datum/reagent/R = GLOB.chemical_reagents_list[rid]
|
||||
@@ -209,4 +210,4 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related
|
||||
dat += " above [recipe.required_temp] degrees"
|
||||
dat += "."
|
||||
info = dat.Join("")
|
||||
update_icon()
|
||||
update_icon()
|
||||
|
||||
@@ -84,11 +84,14 @@
|
||||
SplashReagents(target, TRUE)
|
||||
|
||||
/obj/item/reagent_containers/proc/bartender_check(atom/target)
|
||||
if(target.CanPass(src, get_turf(src)) && thrownby && thrownby.actions)
|
||||
for(var/datum/action/innate/drink_fling/D in thrownby.actions)
|
||||
if(D.active)
|
||||
return TRUE
|
||||
return FALSE
|
||||
. = FALSE
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T || target.CanPass(src, T) || !thrownby || !thrownby.actions)
|
||||
return
|
||||
for(var/datum/action/innate/drink_fling/D in thrownby.actions)
|
||||
if(D.active)
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/item/reagent_containers/proc/ForceResetRotation()
|
||||
transform = initial(transform)
|
||||
@@ -217,4 +220,4 @@
|
||||
update_icon()
|
||||
if(prob(25))
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='notice'>[iconhtml] \The [src]'s is damaged by [cause] and begins to deform!</span>")
|
||||
to_chat(M, "<span class='notice'>[iconhtml] \The [src]'s is damaged by [cause] and begins to deform!</span>")
|
||||
|
||||
@@ -22,13 +22,9 @@
|
||||
|
||||
if(istype(M))
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
var/R
|
||||
M.visible_message("<span class='danger'>[user] splashes the contents of [src] onto [M]!</span>", \
|
||||
"<span class='userdanger'>[user] splashes the contents of [src] onto [M]!</span>")
|
||||
if(reagents)
|
||||
for(var/datum/reagent/A in reagents.reagent_list)
|
||||
R += A.id + " ("
|
||||
R += num2text(A.volume) + "),"
|
||||
var/R = reagents?.log_list()
|
||||
if(isturf(target) && reagents.reagent_list.len && thrownby)
|
||||
log_combat(thrownby, target, "splashed (thrown) [english_list(reagents.reagent_list)]")
|
||||
message_admins("[ADMIN_LOOKUPFLW(thrownby)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] at [ADMIN_VERBOSEJMP(target)].")
|
||||
|
||||
@@ -158,9 +158,9 @@ Stabilized extracts:
|
||||
|
||||
/obj/item/slimecross/stabilized/rainbow/attackby(obj/item/O, mob/user)
|
||||
var/obj/item/slimecross/regenerative/regen = O
|
||||
if(istype(O) && !regencore)
|
||||
if(istype(regen) && !regencore)
|
||||
to_chat(user, "<span class='notice'>You place the [O] in the [src], prepping the extract for automatic application!</span>")
|
||||
regencore = regen
|
||||
regen.forceMove(src)
|
||||
return
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
if(item_to_retrieve.loc)
|
||||
item_to_retrieve.loc.visible_message("<span class='warning'>The [item_to_retrieve.name] suddenly disappears!</span>")
|
||||
if(!L.put_in_hands(item_to_retrieve))
|
||||
if(!isitem(item_to_retrieve) || !L.put_in_hands(item_to_retrieve))
|
||||
item_to_retrieve.forceMove(L.drop_location())
|
||||
item_to_retrieve.loc.visible_message("<span class='caution'>The [item_to_retrieve.name] suddenly appears!</span>")
|
||||
playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, 1)
|
||||
|
||||
@@ -76,6 +76,8 @@
|
||||
to_chat(owner, "<span class='notice'>You feel a faint buzzing as your reviver implant starts patching your wounds...</span>")
|
||||
|
||||
/obj/item/organ/cyberimp/chest/reviver/proc/heal()
|
||||
if(!owner)
|
||||
return
|
||||
if(owner.getOxyLoss())
|
||||
owner.adjustOxyLoss(-5)
|
||||
revive_cost += 5
|
||||
|
||||
@@ -62,9 +62,10 @@
|
||||
//Just in case
|
||||
/obj/item/organ/liver/Remove(mob/living/carbon/M, special = 0)
|
||||
..()
|
||||
M.remove_movespeed_modifier(LIVER_SWELLING_MOVE_MODIFY)
|
||||
M.ResetBloodVol() //At the moment, this shouldn't allow application twice. You either have this OR a thirsty ferret.
|
||||
sizeMoveMod(1, M)
|
||||
if(!QDELETED(M))
|
||||
M.remove_movespeed_modifier(LIVER_SWELLING_MOVE_MODIFY)
|
||||
M.ResetBloodVol() //At the moment, this shouldn't allow application twice. You either have this OR a thirsty ferret.
|
||||
sizeMoveMod(1, M)
|
||||
|
||||
//Applies some of the effects to the patient.
|
||||
/obj/item/organ/liver/proc/pharmacokinesis()
|
||||
|
||||
Reference in New Issue
Block a user