Files
vgstation13/code/game/objects/structures.dm
west3436 434ac40c7a Fire Rework (#35988)
* initial commit

* switcheroo

* include the rest

* fire triangle

* a

* update 2-20

* turfs and reagents and more

* zburn first draft

* remove fire_old

* initial compat

* stable compile

* remove pressure factor

* total autoignition death

* thermal material datums

* a

* more autoignition

* temporary fix for testing

* everything is FUCK

* burning now

* stacks burning

* recursive functionality

* restore burnitselfup

* specific burn case

* everything is shit and fuck

* refactor

* nit

* color & light performance increase

* fix

* smoke cap + changes

* updates

* final (for now)

* remove double count, unit issues, and more tweaks

* logspam and grammar

* prevents worn or held items from burning

* minimum burn time

* fix runtime

* The Cardboard Update

* vis_contents

* cigs burn lol

* lmao

* refactor fire protection

* final fix

* some more held/worn item fixes

* maybe fix foods burning forever

* compile

* restore plasma burning lmao

* review changes

* copypasta error

* copypasta errors 2: this time it's personal

* declare

* extensive fixes

* fix liquid burning behavior

* wtf

* undo smoke cap

* mutable appearances + removal of debug messages

* DMDOC compat

* review changes

* return

* misleading comment
2024-05-14 07:43:39 -05:00

69 lines
1.9 KiB
Plaintext

/obj/structure
icon = 'icons/obj/structures.dmi'
penetration_dampening = 5
var/hasbolts = FALSE
/obj/structure/examine(mob/user)
..()
if(hasbolts)
to_chat(user,"<span class='info'>This one is bolted into place.</span>")
/obj/structure/blob_act(var/destroy = 0)
..()
if(destroy || (prob(50)))
qdel(src)
/obj/structure/ex_act(severity)
switch(severity)
if(1.0)
qdel(src)
return
if(2.0)
if(prob(50))
qdel(src)
return
if(3.0)
return
/obj/structure/projectile_check()
return PROJREACT_OBJS
/obj/structure/kick_act(mob/living/carbon/human/H)
if(H.locked_to && isobj(H.locked_to) && H.locked_to != src)
var/obj/O = H.locked_to
if(O.onBuckledUserKick(H, src))
return //don't return 1! we will do the normal "touch" action if so!
playsound(src, 'sound/effects/grillehit.ogg', 50, 1) //Zth: I couldn't find a proper sound, please replace it
H.visible_message("<span class='danger'>[H] kicks \the [src].</span>", "<span class='danger'>You kick \the [src].</span>")
if(prob(70))
H.foot_impact(src, rand(2,4))
if(!anchored && !locked_to)
var/strength = H.get_strength()
var/kick_dir = get_dir(H, src)
if(!Move(get_step(loc, kick_dir))) //The structure that we kicked is up against a wall - this hurts our foot
H.foot_impact(src, rand(2,4))
if(strength > 1) //Strong - kick further
spawn()
sleep(3)
for(var/i = 2 to strength)
if(!Move(get_step(loc, kick_dir)))
break
sleep(3)
if(material_type)
material_type.on_use(H,src,null)
if(arcanetampered && density && anchored)
to_chat(H,"<span class='sinister'>[src] kicks YOU!</span>")
playsound(src, 'sound/effects/grillehit.ogg', 50, 1) //Zth: I couldn't find a proper sound, please replace it
H.Knockdown(10)
H.Stun(10)
/obj/structure/animationBolt(var/mob/firer)
new /mob/living/simple_animal/hostile/mimic/copy(loc, src, firer, duration=SPELL_ANIMATION_TTL)