mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
Fixing some runtimes with kevinz skills and holodeck hotspots.
This commit is contained in:
@@ -15,7 +15,7 @@
|
|||||||
CRASH("Invalid get_skill_value call. Use typepaths.") //until a time when we somehow need text ids for dynamic skills, I'm enforcing this.
|
CRASH("Invalid get_skill_value call. Use typepaths.") //until a time when we somehow need text ids for dynamic skills, I'm enforcing this.
|
||||||
if(!skills)
|
if(!skills)
|
||||||
return null
|
return null
|
||||||
return skills[skill]
|
return LAZYACCESS(skills, skill)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Grabs our affinity for a skill. !!This is a multiplier!!
|
* Grabs our affinity for a skill. !!This is a multiplier!!
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
CRASH("Invalid get_skill_affinity call. Use typepaths.") //until a time when we somehow need text ids for dynamic skills, I'm enforcing this.
|
CRASH("Invalid get_skill_affinity call. Use typepaths.") //until a time when we somehow need text ids for dynamic skills, I'm enforcing this.
|
||||||
if(!skills)
|
if(!skills)
|
||||||
return 1
|
return 1
|
||||||
var/affinity = skill_affinities[skill]
|
var/affinity = LAZYACCESS(skill_affinities, skill)
|
||||||
if(isnull(affinity))
|
if(isnull(affinity))
|
||||||
return 1
|
return 1
|
||||||
return affinity
|
return affinity
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
LAZYINITLIST(skills)
|
LAZYINITLIST(skills)
|
||||||
value = sanitize_skill_value(skill, value)
|
value = sanitize_skill_value(skill, value)
|
||||||
if(!isnull(value))
|
if(!isnull(value))
|
||||||
skills[skill] = value
|
LAZYSET(skills, skill, value)
|
||||||
return TRUE
|
return TRUE
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
return
|
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()
|
var/datum/gas_mixture/air_contents = return_air()
|
||||||
if(!air_contents)
|
if(!air_contents)
|
||||||
return 0
|
return 0
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
if(oxy < 0.5)
|
if(oxy < 0.5)
|
||||||
return 0
|
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.temperature = exposed_temperature*50
|
||||||
active_hotspot.volume = exposed_volume*25
|
active_hotspot.volume = exposed_volume*25
|
||||||
|
|
||||||
@@ -67,8 +67,10 @@
|
|||||||
var/bypassing = FALSE
|
var/bypassing = FALSE
|
||||||
var/visual_update_tick = 0
|
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
|
SSair.hotspots += src
|
||||||
perform_exposure()
|
perform_exposure()
|
||||||
setDir(pick(GLOB.cardinals))
|
setDir(pick(GLOB.cardinals))
|
||||||
@@ -192,7 +194,8 @@
|
|||||||
|
|
||||||
if(bypassing)
|
if(bypassing)
|
||||||
icon_state = "3"
|
icon_state = "3"
|
||||||
location.burn_tile()
|
if(!(flags_1 & HOLOGRAM_1))
|
||||||
|
location.burn_tile()
|
||||||
|
|
||||||
//Possible spread due to radiated heat
|
//Possible spread due to radiated heat
|
||||||
if(location.air.temperature > FIRE_MINIMUM_TEMPERATURE_TO_SPREAD)
|
if(location.air.temperature > FIRE_MINIMUM_TEMPERATURE_TO_SPREAD)
|
||||||
@@ -200,7 +203,7 @@
|
|||||||
for(var/t in location.atmos_adjacent_turfs)
|
for(var/t in location.atmos_adjacent_turfs)
|
||||||
var/turf/open/T = t
|
var/turf/open/T = t
|
||||||
if(!T.active_hotspot)
|
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
|
else
|
||||||
if(volume > CELL_VOLUME*0.4)
|
if(volume > CELL_VOLUME*0.4)
|
||||||
@@ -224,7 +227,8 @@
|
|||||||
var/turf/open/T = loc
|
var/turf/open/T = loc
|
||||||
if(istype(T) && T.active_hotspot == src)
|
if(istype(T) && T.active_hotspot == src)
|
||||||
T.active_hotspot = null
|
T.active_hotspot = null
|
||||||
DestroyTurf()
|
if(!(flags_1 & HOLOGRAM_1))
|
||||||
|
DestroyTurf()
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/effect/hotspot/proc/DestroyTurf()
|
/obj/effect/hotspot/proc/DestroyTurf()
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
s.set_up(3, 1, T)
|
s.set_up(3, 1, T)
|
||||||
s.start()
|
s.start()
|
||||||
T.temperature = 5000
|
T.temperature = 5000
|
||||||
T.hotspot_expose(50000,50000,1)
|
T.hotspot_expose(50000, 50000, TRUE, TRUE)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user