mirror of
https://github.com/KabKebab/GS13.git
synced 2026-02-09 07:07:42 +00:00
GRUG SMASH RUNTIME
This commit is contained in:
@@ -61,7 +61,8 @@
|
||||
/datum/beam/proc/recalculate_in(time)
|
||||
if(timing_id)
|
||||
deltimer(timing_id)
|
||||
timing_id = addtimer(CALLBACK(src, .proc/recalculate), time, TIMER_STOPPABLE)
|
||||
if(!finished)
|
||||
timing_id = addtimer(CALLBACK(src, .proc/recalculate), time, TIMER_STOPPABLE)
|
||||
|
||||
/datum/beam/proc/after_calculate()
|
||||
if((sleep_time == null) || finished) //Does not automatically recalculate.
|
||||
|
||||
@@ -109,4 +109,4 @@
|
||||
|
||||
/obj/effect/abstract/proximity_checker/Crossed(atom/movable/AM)
|
||||
set waitfor = FALSE
|
||||
monitor.hasprox_receiver.HasProximity(AM)
|
||||
monitor?.hasprox_receiver.HasProximity(AM)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
var/list/gibamounts = list() //amount to spawn for each gib decal type we'll spawn.
|
||||
var/list/gibdirections = list() //of lists of possible directions to spread each gib decal type towards.
|
||||
|
||||
/obj/effect/gibspawner/Initialize(mapload, mob/living/source_mob, list/datum/disease/diseases)
|
||||
/obj/effect/gibspawner/Initialize(mapload, mob/living/source_mob, list/datum/disease/diseases, list/blood_dna)
|
||||
. = ..()
|
||||
if(gibtypes.len != gibamounts.len)
|
||||
stack_trace("Gib list amount length mismatch!")
|
||||
@@ -33,7 +33,7 @@
|
||||
var/body_coloring = ""
|
||||
if(source_mob)
|
||||
if(!issilicon(source_mob))
|
||||
dna_to_add = source_mob.get_blood_dna_list() //ez pz
|
||||
dna_to_add = blood_dna || source_mob.get_blood_dna_list() //ez pz
|
||||
if(ishuman(source_mob))
|
||||
var/mob/living/carbon/human/H = source_mob
|
||||
if(H.dna.species.use_skintones)
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
if(!O.reagents)
|
||||
continue
|
||||
var/reagent_list = pretty_string_from_reagent_list(O.reagents)
|
||||
user.log_message("removed [O] ([reagent_list]) from [src]")
|
||||
user.log_message("removed [O] ([reagent_list]) from [src]", LOG_GAME)
|
||||
beakers = list()
|
||||
to_chat(user, "<span class='notice'>You open the [initial(name)] assembly and remove the payload.</span>")
|
||||
return // First use of the wrench remove beakers, then use the wrench to remove the activation mechanism.
|
||||
|
||||
@@ -311,7 +311,7 @@
|
||||
if(ishuman(cultist))
|
||||
var/mob/living/carbon/human/H = cultist
|
||||
H.eye_color = "f00"
|
||||
H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK)
|
||||
H.dna?.update_ui_block(DNA_EYE_COLOR_BLOCK)
|
||||
ADD_TRAIT(H, TRAIT_CULT_EYES, "valid_cultist")
|
||||
H.update_body()
|
||||
|
||||
|
||||
@@ -891,7 +891,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
if(new_human)
|
||||
new_human.visible_message("<span class='warning'>[new_human] suddenly dissolves into bones and ashes.</span>", \
|
||||
"<span class='cultlarge'>Your link to the world fades. Your form breaks apart.</span>")
|
||||
for(var/obj/I in new_human)
|
||||
for(var/obj/item/I in new_human)
|
||||
new_human.dropItemToGround(I, TRUE)
|
||||
new_human.dust()
|
||||
else if(choice == "Ascend as a Dark Spirit")
|
||||
|
||||
@@ -7,13 +7,14 @@
|
||||
/mob/living/carbon/human/spawn_gibs(with_bodyparts, atom/loc_override)
|
||||
var/location = loc_override ? loc_override.drop_location() : drop_location()
|
||||
if(dna?.species?.gib_types)
|
||||
var/blood_dna = get_blood_dna_list()
|
||||
var/datum/species/S = dna.species
|
||||
var/length = length(S.gib_types)
|
||||
if(length)
|
||||
var/path = (with_bodyparts && length > 1) ? S.gib_types[2] : S.gib_types[1]
|
||||
new path(location, src, get_static_viruses())
|
||||
else
|
||||
new S.gib_types(location, src, get_static_viruses())
|
||||
new S.gib_types(location, src, get_static_viruses(), blood_dna)
|
||||
else
|
||||
if(with_bodyparts)
|
||||
new /obj/effect/gibspawner/human(location, src, get_static_viruses())
|
||||
|
||||
@@ -184,8 +184,9 @@
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/bot/death(gibbed)
|
||||
explode()
|
||||
..()
|
||||
. = ..()
|
||||
if(!gibbed)
|
||||
explode()
|
||||
|
||||
/mob/living/simple_animal/bot/proc/explode()
|
||||
qdel(src)
|
||||
|
||||
@@ -332,8 +332,8 @@
|
||||
speak_chance *= 1.27 // 20 crackers to go from 1% to 100%
|
||||
speech_shuffle_rate += 10
|
||||
to_chat(user, "<span class='notice'>[src] eagerly devours the cracker.</span>")
|
||||
..()
|
||||
return
|
||||
return // the cracker was deleted
|
||||
return ..()
|
||||
|
||||
//Bullets
|
||||
/mob/living/simple_animal/parrot/bullet_act(obj/item/projectile/Proj)
|
||||
|
||||
@@ -59,7 +59,12 @@
|
||||
|
||||
/obj/effect/accelerated_particle/proc/move()
|
||||
if(!step(src,dir))
|
||||
forceMove(get_step(src,dir))
|
||||
var/turf/T = get_step(src,dir)
|
||||
if(T)
|
||||
forceMove(T)
|
||||
else
|
||||
qdel(src)
|
||||
return
|
||||
movement_range--
|
||||
if(movement_range == 0)
|
||||
qdel(src)
|
||||
|
||||
@@ -364,14 +364,17 @@
|
||||
desc = "Decreases the cooldown of a kinetic accelerator. Not rated for minebot use."
|
||||
modifier = 2.5
|
||||
minebot_upgrade = FALSE
|
||||
var/decreased
|
||||
|
||||
/obj/item/borg/upgrade/modkit/cooldown/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user)
|
||||
. = ..()
|
||||
if(.)
|
||||
KA.overheat_time -= modifier
|
||||
var/old = KA.overheat_time
|
||||
KA.overheat_time = max(0, KA.overheat_time - modifier)
|
||||
decreased = old - KA.overheat_time
|
||||
|
||||
/obj/item/borg/upgrade/modkit/cooldown/uninstall(obj/item/gun/energy/kinetic_accelerator/KA)
|
||||
KA.overheat_time += modifier
|
||||
KA.overheat_time += decreased
|
||||
..()
|
||||
|
||||
/obj/item/borg/upgrade/modkit/cooldown/minebot
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
if(clear_conversion == REACTION_CLEAR_IMPURE | REACTION_CLEAR_INVERSE)
|
||||
for(var/id in results)
|
||||
var/datum/reagent/R = my_atom.reagents.has_reagent("[id]")
|
||||
if(R.purity == 1)
|
||||
if(!R || R.purity == 1)
|
||||
continue
|
||||
|
||||
var/cached_volume = R.volume
|
||||
@@ -25,7 +25,6 @@
|
||||
my_atom.reagents.add_reagent(R.impure_chem, impureVol, FALSE, other_purity = 1)
|
||||
R.cached_purity = R.purity
|
||||
R.purity = 1
|
||||
return
|
||||
|
||||
//Called when temperature is above a certain threshold, or if purity is too low.
|
||||
/datum/chemical_reaction/proc/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH, Exploding = FALSE)
|
||||
|
||||
Reference in New Issue
Block a user