mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 16:38:22 +01:00
Merge pull request #11949 from PsiOmegaDelta/160109-AI
Creates a new process for handling AI code.
This commit is contained in:
@@ -123,6 +123,7 @@
|
||||
#include "code\controllers\subsystems.dm"
|
||||
#include "code\controllers\verbs.dm"
|
||||
#include "code\controllers\voting.dm"
|
||||
#include "code\controllers\Processes\ai.dm"
|
||||
#include "code\controllers\Processes\air.dm"
|
||||
#include "code\controllers\Processes\alarm.dm"
|
||||
#include "code\controllers\Processes\chemistry.dm"
|
||||
@@ -160,6 +161,7 @@
|
||||
#include "code\datums\recipe.dm"
|
||||
#include "code\datums\sun.dm"
|
||||
#include "code\datums\supplypacks.dm"
|
||||
#include "code\datums\ai\ai.dm"
|
||||
#include "code\datums\diseases\appendicitis.dm"
|
||||
#include "code\datums\diseases\beesease.dm"
|
||||
#include "code\datums\diseases\brainrot.dm"
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
var/list/datum/list_of_ais = list()
|
||||
|
||||
/datum/controller/process/ai/setup()
|
||||
name = "ai"
|
||||
schedule_interval = 2 SECONDS
|
||||
start_delay = 17
|
||||
|
||||
/datum/controller/process/ai/doWork()
|
||||
for(last_object in list_of_ais)
|
||||
var/datum/ai/AI = last_object
|
||||
if(isnull(AI.gcDestroyed) && istype(AI))
|
||||
try
|
||||
if(AI.process() == PROCESS_KILL)
|
||||
list_of_ais -= AI
|
||||
catch(var/exception/e)
|
||||
catchException(e, AI)
|
||||
SCHECK
|
||||
else
|
||||
catchBadType(AI)
|
||||
list_of_ais -= AI
|
||||
|
||||
/datum/controller/process/ai/statProcess()
|
||||
..()
|
||||
stat(null, "[list_of_ais.len] AI\s")
|
||||
@@ -0,0 +1,5 @@
|
||||
/datum/ai
|
||||
var/name
|
||||
|
||||
/datum/ai/proc/process()
|
||||
return PROCESS_KILL
|
||||
@@ -1,7 +1,7 @@
|
||||
/datum/expansion
|
||||
var/datum/holder = null // The holder
|
||||
|
||||
/datum/expansion/New(var/atom/holder)
|
||||
/datum/expansion/New(var/datum/holder)
|
||||
if(!istype(holder))
|
||||
CRASH("Invalid holder.")
|
||||
src.holder = holder
|
||||
|
||||
Reference in New Issue
Block a user