From 24ce98c89c997e75653b7e0ff1bd20364bda45d3 Mon Sep 17 00:00:00 2001 From: Leshana Date: Tue, 8 Nov 2016 14:25:46 -0500 Subject: [PATCH] Fix world/Topic()'s manifest to include synthetics like datacore.dm * The world/Topic() bot integration API's manifest output uses the same logic as datacore's get_manifest(), except it omits the part that includes synthetics. The `set_names` variable clearly shows bots are intended to be included, they are just arent. * Copying the logic from datacore.dm ensures a consistent view of bots and AI. --- code/world.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/code/world.dm b/code/world.dm index c2280c0dea..d82735ae59 100644 --- a/code/world.dm +++ b/code/world.dm @@ -224,6 +224,19 @@ var/world_topic_spam_protect_time = world.timeofday positions["misc"] = list() positions["misc"][name] = rank + // Synthetics don't have actual records, so we will pull them from here. + for(var/mob/living/silicon/ai/ai in mob_list) + if(!positions["bot"]) + positions["bot"] = list() + positions["bot"][ai.name] = "Artificial Intelligence" + for(var/mob/living/silicon/robot/robot in mob_list) + // No combat/syndicate cyborgs, no drones. + if(robot.module && robot.module.hide_on_manifest) + continue + if(!positions["bot"]) + positions["bot"] = list() + positions["bot"][robot.name] = "[robot.modtype] [robot.braintype]" + for(var/k in positions) positions[k] = list2params(positions[k]) // converts positions["heads"] = list("Bob"="Captain", "Bill"="CMO") into positions["heads"] = "Bob=Captain&Bill=CMO"