[READY] Creates Datumized AI and applies it to monkeys (#55238)

New AI system, implemented for monkeys.
This commit is contained in:
Qustinnus
2020-12-13 13:19:54 +01:00
committed by GitHub
parent e06a1035ac
commit 12c1464bc3
39 changed files with 855 additions and 502 deletions
@@ -0,0 +1,22 @@
/// The subsystem used to tick [/datum/ai_controllers] instances. Handling the re-checking of plans.
PROCESSING_SUBSYSTEM_DEF(ai_controllers)
name = "AI behavior"
flags = SS_POST_FIRE_TIMING|SS_BACKGROUND
priority = FIRE_PRIORITY_NPC
runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME
wait = 8 //Uses the value of CLICK_CD_MELEE because that seemed like a nice standard for the speed of AI behavior
///an assoc list of all ai_behaviors by type, to
var/list/ai_behaviors
/datum/controller/subsystem/processing/ai_controllers/Initialize(timeofday)
SetupAIBehaviors()
return ..()
/datum/controller/subsystem/processing/ai_controllers/proc/SetupAIBehaviors()
ai_behaviors = list()
for(var/i in subtypesof(/datum/ai_behavior))
var/datum/ai_behavior/ai_behavior = new i
ai_behaviors[i] = ai_behavior