mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-18 13:43:27 +00:00
Various spider fixes (#76528) ## About The Pull Request Fixes #76484 Then I noticed some weird stuff which slipped through the PR and poked at that too. - Spiderlings and Spiders once more have names ending in (###) - Removed an unused property on Spiderlings. - Rewrote the descriptions for a bunch of web-abilities and web-objects to be clearer and have better capitalisation. - Refactored the "Web Carcass" ability to not extend from "lay web" as it didn't need to perform most of that behaviour. - Also I renamed it and made the description give you a hint about why you would want to instantly spawn a statue. - The web effigy now despawns at the same rate as the ability cools down so you're not dumping spider statues all over the place. - I made spiderlings move at about the same speed as humans except if they're on webs in which case they're still pretty fast. To be honest I am not certain an instant statue spawning button is great to begin with and I didn't even know it was added to the game but I am not interested in messing much with the balance for now. This made me look at spiderlings enough that I'm going to try and make a new sprite for them that isn't awful. ## Why It's Good For The Game Lets you differentiate individual spiders a little bit. Makes usage of abilities clearer. ## Changelog 🆑 balance: Guard spider web statues despawn as the ability comes back off cooldown. balance: Spiderlings now only move at light speed if they're on webs, stay safe little guys. fix: Spiders once again have random numbers after their names. /🆑 Co-authored-by: Jacquerel <hnevard@gmail.com>
18 lines
757 B
Plaintext
18 lines
757 B
Plaintext
/// Deletes the atom with a little fading out animation after a specified time
|
|
/datum/element/temporary_atom
|
|
|
|
/datum/element/temporary_atom/Attach(datum/target, life_time = 5 SECONDS, fade_time = 3 SECONDS)
|
|
. = ..()
|
|
if (!isatom(target))
|
|
return ELEMENT_INCOMPATIBLE
|
|
|
|
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(qdel), WEAKREF(target)), life_time, TIMER_DELETE_ME)
|
|
if (life_time > fade_time && fade_time > 0)
|
|
addtimer(CALLBACK(src, PROC_REF(fade_out), WEAKREF(target), fade_time), life_time - fade_time, TIMER_DELETE_ME)
|
|
|
|
/datum/element/temporary_atom/proc/fade_out(datum/weakref/target_ref, fade_time)
|
|
var/atom/target = target_ref?.resolve()
|
|
if (isnull(target))
|
|
return
|
|
animate(target, alpha = 0, time = fade_time, flags = ANIMATION_PARALLEL)
|