mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-31 20:11:56 +00:00
* Save 0.13s (or more, it's hard to tell with Lavaland) by caching mineral spawn lists, and making effects not have integrity (#71089) Decals calling `getArmor` was 50ms, gives them `uses_integrity = FALSE` to counter this. I don't think this should have any visible effects. Makes mineral spawn chances a proc that caches its results rather than a brand new list initialized on every single mineral (80+ms). Also calls `check_holidays` only once instead of over 30,000 times (which was 43.76ms). Also caches `smoothing_groups` and `canSmoothWith`. Numbers aren't wholly inaccurate Lavaland do be random. * Save 0.13s (or more, it's hard to tell with Lavaland) by caching mineral spawn lists, and making effects not have integrity * update modular/ Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
63 lines
1.6 KiB
Plaintext
63 lines
1.6 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/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/T)
|
|
return FALSE
|
|
|
|
/obj/effect/dummy/singularity_pull()
|
|
return
|
|
|
|
/obj/effect/dummy/singularity_act()
|
|
return
|