Files
Bubberstation/code/game/objects/effects/effects.dm
SkyratBot 529b8b4464 [MIRROR] Lighting object oddities [MDB IGNORE] (#21945)
* Lighting object oddities (#76009)

## About The Pull Request

Fire stacks status effect no longer uses a weakref for the mob light, I
am pretty sure there was no real reason to use a weakref there.
Deleted weird luminescent glow dummy, now it just uses the standard
moblight obj.
Put all /obj/effect/dummy/lighting_obj together in a single file and
added a comment explaining why they exist.

(I severely dislike the /obj/effect/dummy typepath, but I am very much
unsure if just replacing all of them with /obj/effect/abstract would
break shit)

## Why It's Good For The Game

Code organization good

* Lighting object oddities

* Update kindle.dm

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-06-20 14:06:48 -07:00

66 lines
1.7 KiB
Plaintext

//objects in /obj/effect should never be things that are attackable, use obj/structure instead.
//Effects are mostly temporary visual effects like sparks, smoke, as well as decals, etc...
/obj/effect
icon = 'icons/effects/effects.dmi'
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF
move_resist = INFINITY
obj_flags = NONE
blocks_emissive = EMISSIVE_BLOCK_GENERIC
uses_integrity = FALSE
/obj/effect/attackby(obj/item/weapon, mob/user, params)
if(SEND_SIGNAL(weapon, COMSIG_ITEM_ATTACK_EFFECT, src, user, params) & COMPONENT_NO_AFTERATTACK)
return TRUE
// I'm not sure why these are snowflaked to early return but they are
if(istype(weapon, /obj/item/mop) || istype(weapon, /obj/item/soap))
return
return ..()
/obj/effect/attack_generic(mob/user, damage_amount, damage_type, damage_flag, sound_effect, armor_penetration)
return
/obj/effect/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
return
/obj/effect/fire_act(exposed_temperature, exposed_volume)
return
/obj/effect/acid_act()
return FALSE
/obj/effect/blob_act(obj/structure/blob/B)
return
/obj/effect/attack_hulk(mob/living/carbon/human/user)
return FALSE
/obj/effect/experience_pressure_difference()
return
/obj/effect/ex_act(severity, target)
return FALSE
/obj/effect/singularity_act()
qdel(src)
///The abstract effect ignores even more effects and is often typechecked for atoms that should truly not be fucked with.
/obj/effect/abstract
/obj/effect/abstract/singularity_pull()
return
/obj/effect/abstract/singularity_act()
return
/obj/effect/abstract/has_gravity(turf/gravity_turf)
return FALSE
/obj/effect/dummy/singularity_pull()
return
/obj/effect/dummy/singularity_act()
return