mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-20 03:19:58 +01:00
* sdf * fsda * fuck * fuck2 * toolz * sdaf * sdfa * saf * sdfa * sdfa * sdf * sdfa * temp rename * temp rename * temp rename * sdaf * the pain is immensurable in the land of byond * the curse of rah * safd * sadf * sadf * gf * asf * fssdfa * sfd * sadf * sfda * brah * brah * it's easier for you to fix this * ffs * brah * brah
18 lines
702 B
Plaintext
18 lines
702 B
Plaintext
/*
|
|
* Cooldown system based on storing world.time on a variable, plus the cooldown time.
|
|
* Better performance over timer cooldowns, lower control. Same functionality.
|
|
*/
|
|
|
|
#define COOLDOWN_DECLARE(cd_index) var/##cd_index = 0
|
|
|
|
#define STATIC_COOLDOWN_DECLARE(cd_index) var/static/##cd_index = 0
|
|
|
|
#define COOLDOWN_START(cd_source, cd_index, cd_time) (cd_source.cd_index = world.time + (cd_time))
|
|
|
|
//Returns true if the cooldown has run its course, false otherwise
|
|
#define COOLDOWN_FINISHED(cd_source, cd_index) (cd_source.cd_index < world.time)
|
|
|
|
#define COOLDOWN_RESET(cd_source, cd_index) cd_source.cd_index = 0
|
|
|
|
#define COOLDOWN_TIMELEFT(cd_source, cd_index) (max(0, cd_source.cd_index - world.time))
|