File tree 7 files changed +22
-5
lines changed
monkestation/code/controllers/subsystem 7 files changed +22
-5
lines changed Original file line number Diff line number Diff line change 12
12
#define STATUS_EFFECT_FAST_PROCESS 0
13
13
// /This is slower and better for more intensive status effects - 1s between ticks
14
14
#define STATUS_EFFECT_NORMAL_PROCESS 1
15
+ // / (monkestation addition) Similar speed to STATUS_EFFECT_FAST_PROCESS, but uses a high priority subsystem (SSpriority_effects).
16
+ #define STATUS_EFFECT_PRIORITY 2
15
17
16
18
// several flags for the Necropolis curse status effect
17
19
// /makes the edges of the target's screen obscured
Original file line number Diff line number Diff line change 65
65
START_PROCESSING (SSfastprocess, src )
66
66
if (STATUS_EFFECT_NORMAL_PROCESS )
67
67
START_PROCESSING (SSprocessing, src )
68
+ // monkestation start: SSpriority_effects
69
+ if (STATUS_EFFECT_PRIORITY )
70
+ START_PROCESSING (SSpriority_effects, src )
71
+ // monkestation end
68
72
69
73
update_particles ()
70
74
76
80
STOP_PROCESSING (SSfastprocess, src )
77
81
if (STATUS_EFFECT_NORMAL_PROCESS )
78
82
STOP_PROCESSING (SSprocessing, src )
83
+ // monkestation start: SSpriority_effects
84
+ if (STATUS_EFFECT_PRIORITY )
85
+ STOP_PROCESSING (SSpriority_effects, src )
86
+ // monkestation end
79
87
if (owner)
80
88
linked_alert = null
81
89
owner. clear_alert(id)
Original file line number Diff line number Diff line change 1
1
/ datum / status_effect/ stop_drop_roll
2
2
id = " stop_drop_roll"
3
3
alert_type = null
4
-
5
4
tick_interval = 0.8 SECONDS
5
+ processing_speed = STATUS_EFFECT_PRIORITY // monkestation edit: high-priority status effect processing
6
6
7
7
/ datum / status_effect/ stop_drop_roll/ on_apply()
8
8
if (! iscarbon(owner))
Original file line number Diff line number Diff line change 6
6
alert_type = null
7
7
remove_on_fullheal = TRUE
8
8
heal_flag_necessary = HEAL_CC_STATUS
9
+ processing_speed = STATUS_EFFECT_PRIORITY // monkestation edit: high-priority status effect processing
9
10
var /needs_update_stat = FALSE
10
11
11
12
/ datum / status_effect/ incapacitating/ on_creation( mob / living/ new_owner, set_duration)
Original file line number Diff line number Diff line change
1
+ PROCESSING_SUBSYSTEM_DEF (priority_effects)
2
+ name = " Priority Status Effects"
3
+ flags = SS_TICKER | SS_KEEP_TIMING | SS_NO_INIT
4
+ wait = 2 // Not seconds - we're running on SS_TICKER, so this is ticks.
5
+ stat_tag = " PEFF"
Original file line number Diff line number Diff line change @@ -2,8 +2,8 @@ SUBSYSTEM_DEF(stamina)
2
2
name = " Stamina"
3
3
4
4
priority = FIRE_PRIORITY_STAMINA
5
- flags = SS_BACKGROUND | SS_POST_FIRE_TIMING | SS_NO_INIT
6
- wait = 1 SECONDS
5
+ flags = SS_TICKER | SS_KEEP_TIMING | SS_NO_INIT
6
+ wait = 10 // Not seconds - we're running on SS_TICKER, so this is ticks.
7
7
8
8
var /list /processing = list ()
9
9
var /list /currentrun = list ()
@@ -21,6 +21,6 @@ SUBSYSTEM_DEF(stamina)
21
21
while (current_run. len)
22
22
var /datum /stamina_container/thing = current_run[current_run. len]
23
23
current_run. len--
24
- thing. update(wait * 0.1 )
24
+ thing. update(world . tick_lag * wait * 0.1 )
25
25
if (MC_TICK_CHECK )
26
26
return
Original file line number Diff line number Diff line change 826
826
#include "code\controllers\subsystem\processing\quirks.dm"
827
827
#include "code\controllers\subsystem\processing\reagents.dm"
828
828
#include "code\controllers\subsystem\processing\singulo.dm"
829
- #include "code\controllers\subsystem\processing\stamina.dm"
830
829
#include "code\controllers\subsystem\processing\station.dm"
831
830
#include "code\controllers\subsystem\processing\supermatter_cascade.dm"
832
831
#include "code\controllers\subsystem\processing\tramprocess.dm"
5819
5818
#include "monkestation\code\controllers\subsystem\init_profiler.dm"
5820
5819
#include "monkestation\code\controllers\subsystem\job.dm"
5821
5820
#include "monkestation\code\controllers\subsystem\profiler.dm"
5821
+ #include "monkestation\code\controllers\subsystem\z_priority_effects.dm"
5822
+ #include "monkestation\code\controllers\subsystem\z_stamina.dm"
5822
5823
#include "monkestation\code\datums\action.dm"
5823
5824
#include "monkestation\code\datums\dna.dm"
5824
5825
#include "monkestation\code\datums\emotes.dm"
You can’t perform that action at this time.
0 commit comments