mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Add mob/living stat setter and observer
This commit is contained in:
24
code/datums/observation/stat_set.dm
Normal file
24
code/datums/observation/stat_set.dm
Normal file
@@ -0,0 +1,24 @@
|
||||
// Observer Pattern Implementation: Stat Set
|
||||
// Registration type: /mob/living
|
||||
//
|
||||
// Raised when: A /mob/living changes stat, using the set_stat() proc
|
||||
//
|
||||
// Arguments that the called proc should expect:
|
||||
// /mob/living/stat_mob: The mob whose stat changed
|
||||
// /old_stat: Status before the change.
|
||||
// /new_stat: Status after the change.
|
||||
|
||||
GLOBAL_DATUM_INIT(stat_set_event, /decl/observ/stat_set, new)
|
||||
|
||||
/decl/observ/stat_set
|
||||
name = "Stat Set"
|
||||
expected_type = /mob/living
|
||||
|
||||
/****************
|
||||
* Stat Handling *
|
||||
****************/
|
||||
/mob/living/set_stat(var/new_stat)
|
||||
var/old_stat = stat
|
||||
. = ..()
|
||||
if(stat != old_stat)
|
||||
GLOB.stat_set_event.raise_event(src, old_stat, new_stat)
|
||||
Reference in New Issue
Block a user