From b23c92b056e77f6a7f53ab47e3b9cfbb537b4f5d Mon Sep 17 00:00:00 2001 From: Cruix Date: Tue, 28 Nov 2017 02:13:57 -0600 Subject: [PATCH 1/2] Added bot path data huds --- code/__DEFINES/atom_hud.dm | 46 ++++--- code/_globalvars/lists/mobs.dm | 1 + code/datums/hud.dm | 18 ++- code/game/alternate_appearance.dm | 4 - code/game/data_huds.dm | 8 ++ .../gamemodes/miniantags/bot_swarm/swarmer.dm | 4 +- code/game/machinery/doors/airlock.dm | 8 +- code/game/mecha/mecha.dm | 4 +- code/modules/clothing/glasses/hud.dm | 4 + .../modules/clothing/spacesuits/flightsuit.dm | 2 +- code/modules/clothing/spacesuits/hardsuit.dm | 4 +- code/modules/mob/dead/observer/observer.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 1 + code/modules/mob/living/silicon/silicon.dm | 6 +- .../mob/living/simple_animal/bot/bot.dm | 129 ++++++++++++++---- .../mob/living/simple_animal/bot/cleanbot.dm | 1 + .../mob/living/simple_animal/bot/ed209bot.dm | 1 + .../mob/living/simple_animal/bot/floorbot.dm | 1 + .../mob/living/simple_animal/bot/honkbot.dm | 1 + .../mob/living/simple_animal/bot/medbot.dm | 3 +- .../mob/living/simple_animal/bot/mulebot.dm | 2 + .../mob/living/simple_animal/bot/secbot.dm | 1 + .../simple_animal/friendly/drone/_drone.dm | 4 +- code/modules/mob/mob.dm | 11 +- icons/mob/aibots.dmi | Bin 52510 -> 49803 bytes 25 files changed, 189 insertions(+), 77 deletions(-) diff --git a/code/__DEFINES/atom_hud.dm b/code/__DEFINES/atom_hud.dm index 3c3350d6ab..2decc918f2 100644 --- a/code/__DEFINES/atom_hud.dm +++ b/code/__DEFINES/atom_hud.dm @@ -16,31 +16,37 @@ #define DIAG_BOT_HUD "12"// Bot HUDs #define DIAG_TRACK_HUD "13"// Mech tracking beacon #define DIAG_AIRLOCK_HUD "14"//Airlock shock overlay +#define DIAG_PATH_HUD "15"//Bot path indicators //for antag huds. these are used at the /mob level -#define ANTAG_HUD "15" +#define ANTAG_HUD "16" + +//by default everything in the hud_list of an atom is an image +//a value in hud_list with one of these will change that behavior +#define HUD_LIST_LIST 1 //data HUD (medhud, sechud) defines //Don't forget to update human/New() if you change these! -#define DATA_HUD_SECURITY_BASIC 1 -#define DATA_HUD_SECURITY_ADVANCED 2 -#define DATA_HUD_MEDICAL_BASIC 3 -#define DATA_HUD_MEDICAL_ADVANCED 4 -#define DATA_HUD_DIAGNOSTIC 5 +#define DATA_HUD_SECURITY_BASIC 1 +#define DATA_HUD_SECURITY_ADVANCED 2 +#define DATA_HUD_MEDICAL_BASIC 3 +#define DATA_HUD_MEDICAL_ADVANCED 4 +#define DATA_HUD_DIAGNOSTIC_BASIC 5 +#define DATA_HUD_DIAGNOSTIC_ADVANCED 6 //antag HUD defines -#define ANTAG_HUD_CULT 6 -#define ANTAG_HUD_REV 7 -#define ANTAG_HUD_OPS 8 -#define ANTAG_HUD_WIZ 9 -#define ANTAG_HUD_SHADOW 10 -#define ANTAG_HUD_TRAITOR 11 -#define ANTAG_HUD_NINJA 12 -#define ANTAG_HUD_CHANGELING 13 -#define ANTAG_HUD_ABDUCTOR 14 -#define ANTAG_HUD_DEVIL 15 -#define ANTAG_HUD_SINTOUCHED 16 -#define ANTAG_HUD_SOULLESS 17 -#define ANTAG_HUD_CLOCKWORK 18 -#define ANTAG_HUD_BROTHER 19 +#define ANTAG_HUD_CULT 7 +#define ANTAG_HUD_REV 8 +#define ANTAG_HUD_OPS 9 +#define ANTAG_HUD_WIZ 10 +#define ANTAG_HUD_SHADOW 11 +#define ANTAG_HUD_TRAITOR 12 +#define ANTAG_HUD_NINJA 13 +#define ANTAG_HUD_CHANGELING 14 +#define ANTAG_HUD_ABDUCTOR 15 +#define ANTAG_HUD_DEVIL 16 +#define ANTAG_HUD_SINTOUCHED 17 +#define ANTAG_HUD_SOULLESS 18 +#define ANTAG_HUD_CLOCKWORK 19 +#define ANTAG_HUD_BROTHER 20 // Notification action types #define NOTIFY_JUMP "jump" diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index a9ffde59e3..89e4481284 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -24,6 +24,7 @@ GLOBAL_LIST_EMPTY(pai_list) GLOBAL_LIST_EMPTY(available_ai_shells) GLOBAL_LIST_INIT(simple_animals, list(list(),list(),list())) // One for each AI_* status define GLOBAL_LIST_EMPTY(spidermobs) //all sentient spider mobs +GLOBAL_LIST_EMPTY(bots_list) GLOBAL_LIST_EMPTY(language_datum_instances) GLOBAL_LIST_EMPTY(all_languages) diff --git a/code/datums/hud.dm b/code/datums/hud.dm index be2b5c620c..837e7a6a95 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -1,12 +1,15 @@ /* HUD DATUMS */ +GLOBAL_LIST_EMPTY(all_huds) + //GLOBAL HUD LIST GLOBAL_LIST_INIT(huds, list( DATA_HUD_SECURITY_BASIC = new/datum/atom_hud/data/human/security/basic(), DATA_HUD_SECURITY_ADVANCED = new/datum/atom_hud/data/human/security/advanced(), DATA_HUD_MEDICAL_BASIC = new/datum/atom_hud/data/human/medical/basic(), DATA_HUD_MEDICAL_ADVANCED = new/datum/atom_hud/data/human/medical/advanced(), - DATA_HUD_DIAGNOSTIC = new/datum/atom_hud/data/diagnostic(), + DATA_HUD_DIAGNOSTIC_BASIC = new/datum/atom_hud/data/diagnostic/basic(), + DATA_HUD_DIAGNOSTIC_ADVANCED = new/datum/atom_hud/data/diagnostic/advanced(), ANTAG_HUD_CULT = new/datum/atom_hud/antag(), ANTAG_HUD_REV = new/datum/atom_hud/antag(), ANTAG_HUD_OPS = new/datum/atom_hud/antag(), @@ -28,6 +31,17 @@ GLOBAL_LIST_INIT(huds, list( var/list/mob/hudusers = list() //list with all mobs who can see the hud var/list/hud_icons = list() //these will be the indexes for the atom's hud_list +/datum/atom_hud/New() + GLOB.all_huds += src + +/datum/atom_hud/Destroy() + for(var/v in hudusers) + remove_hud_from(v) + for(var/v in hudatoms) + remove_from_hud(v) + GLOB.all_huds -= src + return ..() + /datum/atom_hud/proc/remove_hud_from(mob/M) if(!M || !hudusers[M]) return @@ -77,7 +91,7 @@ GLOBAL_LIST_INIT(huds, list( //MOB PROCS /mob/proc/reload_huds() - for(var/datum/atom_hud/hud in (GLOB.huds|GLOB.active_alternate_appearances)) + for(var/datum/atom_hud/hud in GLOB.all_huds) if(hud && hud.hudusers[src]) for(var/atom/A in hud.hudatoms) hud.add_to_single_hud(src, A) diff --git a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm index 9b74020488..b83204119d 100644 --- a/code/game/alternate_appearance.dm +++ b/code/game/alternate_appearance.dm @@ -30,10 +30,6 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances) appearance_key = key /datum/atom_hud/alternate_appearance/Destroy() - for(var/v in hudusers) - remove_hud_from(v) - for(var/v in hudatoms) - remove_from_hud(v) GLOB.active_alternate_appearances -= src return ..() diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 10ff185fd6..1afd2953a0 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -50,8 +50,16 @@ hud_icons = list(ID_HUD, IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD, WANTED_HUD) /datum/atom_hud/data/diagnostic + +/datum/atom_hud/data/diagnostic/basic hud_icons = list (DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD) +/datum/atom_hud/data/diagnostic/advanced + hud_icons = list (DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD, DIAG_PATH_HUD) + +/datum/atom_hud/data/bot_path + hud_icons = list(DIAG_PATH_HUD) + /* MED/SEC/DIAG HUD HOOKS */ /* diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index e4e4205db8..7005b26b12 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -101,8 +101,8 @@ /mob/living/simple_animal/hostile/swarmer/Initialize() . = ..() verbs -= /mob/living/verb/pulled - var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) + diag_hud.add_to_hud(src) /mob/living/simple_animal/hostile/swarmer/med_hud_set_health() var/image/holder = hud_list[DIAG_HUD] diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 449b9ea8a4..58f37e5945 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -119,8 +119,8 @@ if(damage_deflection == AIRLOCK_DAMAGE_DEFLECTION_N && security_level > AIRLOCK_SECURITY_METAL) damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_R prepare_huds() - var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) + diag_hud.add_to_hud(src) diag_hud_set_electrified() return INITIALIZE_HINT_LATELOAD @@ -242,8 +242,8 @@ for(var/obj/machinery/doorButtons/D in GLOB.machines) D.removeMe(src) qdel(note) - var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] - diag_hud.remove_from_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) + diag_hud.remove_from_hud(src) return ..() /obj/machinery/door/airlock/handle_atom_del(atom/A) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 2f98b2cc4c..34b1eed312 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -137,8 +137,8 @@ log_message("[src.name] created.") GLOB.mechas_list += src //global mech list prepare_huds() - var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) + diag_hud.add_to_hud(src) diag_hud_set_mechhealth() diag_hud_set_mechcell() diag_hud_set_mechstat() diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 0fac1eff79..93e2fa5254 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -62,8 +62,12 @@ name = "diagnostic HUD" desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits." icon_state = "diagnostichud" +<<<<<<< HEAD origin_tech = "magnets=2;engineering=2" hud_type = DATA_HUD_DIAGNOSTIC +======= + hud_type = DATA_HUD_DIAGNOSTIC_BASIC +>>>>>>> 069f909... Added bot path data huds (#32967) glass_colour_type = /datum/client_colour/glass_colour/lightorange /obj/item/clothing/glasses/hud/diagnostic/night diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm index 30afa31f60..79886b1446 100644 --- a/code/modules/clothing/spacesuits/flightsuit.dm +++ b/code/modules/clothing/spacesuits/flightsuit.dm @@ -1079,7 +1079,7 @@ light_color = "#30ffff" armor = list(melee = 20, bullet = 20, laser = 20, energy = 10, bomb = 30, bio = 100, rad = 75, fire = 100, acid = 100) max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT - var/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC) + var/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_BASIC) var/zoom_range = 12 var/zoom = FALSE actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/flightpack/zoom) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index c371973506..202e2db5eb 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -457,13 +457,13 @@ /obj/item/clothing/head/helmet/space/hardsuit/rd/equipped(mob/living/carbon/human/user, slot) ..() if (slot == slot_head) - var/datum/atom_hud/DHUD = GLOB.huds[DATA_HUD_DIAGNOSTIC] + var/datum/atom_hud/DHUD = GLOB.huds[DATA_HUD_DIAGNOSTIC_BASIC] DHUD.add_hud_to(user) /obj/item/clothing/head/helmet/space/hardsuit/rd/dropped(mob/living/carbon/human/user) ..() if (user.head == src) - var/datum/atom_hud/DHUD = GLOB.huds[DATA_HUD_DIAGNOSTIC] + var/datum/atom_hud/DHUD = GLOB.huds[DATA_HUD_DIAGNOSTIC_BASIC] DHUD.remove_hud_from(user) /obj/item/clothing/suit/space/hardsuit/rd diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index ca6b504294..bb4c0f559b 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -32,7 +32,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) var/ghost_hud_enabled = 1 //did this ghost disable the on-screen HUD? var/data_huds_on = 0 //Are data HUDs currently enabled? var/health_scan = FALSE //Are health scans currently enabled? - var/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC) //list of data HUDs shown to ghosts. + var/list/datahuds = list(DATA_HUD_SECURITY_ADVANCED, DATA_HUD_MEDICAL_ADVANCED, DATA_HUD_DIAGNOSTIC_ADVANCED) //list of data HUDs shown to ghosts. var/ghost_orbit = GHOST_ORBIT_CIRCLE //These variables store hair data if the ghost originates from a species with head and/or facial hair. diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 0fb044429c..ed36e62492 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -25,6 +25,7 @@ see_in_dark = 8 med_hud = DATA_HUD_MEDICAL_BASIC sec_hud = DATA_HUD_SECURITY_BASIC + d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED mob_size = MOB_SIZE_LARGE var/list/network = list("SS13") var/obj/machinery/camera/current = null diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index fa8447885d..5de09011ea 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -33,7 +33,7 @@ var/med_hud = DATA_HUD_MEDICAL_ADVANCED //Determines the med hud to use var/sec_hud = DATA_HUD_SECURITY_ADVANCED //Determines the sec hud to use - var/d_hud = DATA_HUD_DIAGNOSTIC //There is only one kind of diag hud + var/d_hud = DATA_HUD_DIAGNOSTIC_BASIC //Determines the diag hud to use var/law_change_counter = 0 var/obj/machinery/camera/builtInCamera = null @@ -42,8 +42,8 @@ /mob/living/silicon/Initialize() . = ..() GLOB.silicon_mobs += src - var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) + diag_hud.add_to_hud(src) diag_hud_set_status() diag_hud_set_health() diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index d5c839ffe6..b19bc401e3 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -48,7 +48,7 @@ var/frustration = 0 //Used by some bots for tracking failures to reach their target. var/base_speed = 2 //The speed at which the bot moves, or the number of times it moves per process() tick. var/turf/ai_waypoint //The end point of a bot's path, or the target location. - var/list/path = list() //List of turfs through which a bot 'steps' to reach the waypoint. + var/list/path = list() //List of turfs through which a bot 'steps' to reach the waypoint, associated with the path image, if there is one. var/pathset = 0 var/list/ignore_list = list() //List of unreachable targets for an ignore-list enabled bot to ignore. var/mode = BOT_IDLE //Standardizes the vars that indicate the bot is busy with its function. @@ -75,17 +75,21 @@ var/beacon_freq = 1445 // navigation beacon frequency var/model = "" //The type of bot it is. var/bot_type = 0 //The type of bot it is, for radio control. - var/data_hud_type = DATA_HUD_DIAGNOSTIC //The type of data HUD the bot uses. Diagnostic by default. + var/data_hud_type = DATA_HUD_DIAGNOSTIC_BASIC //The type of data HUD the bot uses. Diagnostic by default. + //This holds text for what the bot is mode doing, reported on the remote bot control interface. var/list/mode_name = list("In Pursuit","Preparing to Arrest", "Arresting", \ "Beginning Patrol", "Patrolling", "Summoned by PDA", \ "Cleaning", "Repairing", "Proceeding to work site", "Healing", \ "Proceeding to AI waypoint", "Navigating to Delivery Location", "Navigating to Home", \ "Waiting for clear path", "Calculating navigation path", "Pinging beacon network", "Unable to reach destination") - //This holds text for what the bot is mode doing, reported on the remote bot control interface. - + var/datum/atom_hud/data/bot_path/path_hud = new /datum/atom_hud/data/bot_path() + var/path_image_icon = 'icons/mob/aibots.dmi' + var/path_image_icon_state = "path_indicator" + var/path_image_color = "#FFFFFF" + var/reset_access_timer_id var/ignorelistcleanuptimer = 1 // This ticks up every automated action, at 300 we clean the ignore list - hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD) //Diagnostic HUD views + hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD, DIAG_PATH_HUD = HUD_LIST_LIST) //Diagnostic HUD views /mob/living/simple_animal/bot/proc/get_mode() if(client) //Player bots do not have modes, thus the override. Also an easy way for PDA users/AI to know when a bot is a player. @@ -117,6 +121,7 @@ /mob/living/simple_animal/bot/Initialize() . = ..() + GLOB.bots_list += src access_card = new /obj/item/card/id(src) //This access is so bots can be immediately set to patrol and leave Robotics, instead of having to be let out first. access_card.access += ACCESS_ROBOTICS @@ -132,15 +137,19 @@ //Adds bot to the diagnostic HUD system prepare_huds() - var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) + diag_hud.add_to_hud(src) diag_hud_set_bothealth() diag_hud_set_botstat() diag_hud_set_botmode() - //Gives a HUD view to player bots that use a HUD. - activate_data_hud() - + //If a bot has its own HUD (for player bots), provide it. + if(data_hud_type) + var/datum/atom_hud/datahud = GLOB.huds[data_hud_type] + datahud.add_hud_to(src) + if(path_hud) + path_hud.add_to_hud(src) + path_hud.add_hud_to(src) /mob/living/simple_animal/bot/update_canmove() . = ..() @@ -149,6 +158,10 @@ canmove = . /mob/living/simple_animal/bot/Destroy() + if(path_hud) + QDEL_NULL(path_hud) + path_hud = null + GLOB.bots_list -= src if(paicard) ejectpai() qdel(Radio) @@ -430,14 +443,14 @@ Pass a positive integer as an argument to override a bot's default speed. */ /mob/living/simple_animal/bot/proc/bot_move(dest, move_speed) if(!dest || !path || path.len == 0) //A-star failed or a path/destination was not set. - path = list() + set_path(null) return FALSE dest = get_turf(dest) //We must always compare turfs, so get the turf of the dest var if dest was originally something else. var/turf/last_node = get_turf(path[path.len]) //This is the turf at the end of the path, it should be equal to dest. if(get_turf(src) == dest) //We have arrived, no need to move again. return TRUE else if(dest != last_node) //The path should lead us to our given destination. If this is not true, we must stop. - path = list() + set_path(null) return FALSE var/step_count = move_speed ? move_speed : base_speed //If a value is passed into move_speed, use that instead of the default speed var. @@ -456,14 +469,14 @@ Pass a positive integer as an argument to override a bot's default speed. if(path.len > 1) step_towards(src, path[1]) if(get_turf(src) == path[1]) //Successful move - path.Cut(1,2) + increment_path() tries = 0 else tries++ return FALSE else if(path.len == 1) step_to(src, dest) - path = list() + set_path(null) return TRUE @@ -475,15 +488,12 @@ Pass a positive integer as an argument to override a bot's default speed. bot_reset() //Reset a bot before setting it to call mode. var/area/end_area = get_area(waypoint) - if(client) //Player bots instead get a location command from the AI - to_chat(src, "Priority waypoint set by [icon2html(caller, src)] [caller]. Proceed to [end_area.name]<\b>.") - //For giving the bot temporary all-access. var/obj/item/card/id/all_access = new /obj/item/card/id var/datum/job/captain/All = new/datum/job/captain all_access.access = All.get_access() - path = get_path_to(src, waypoint, /turf/proc/Distance_cardinal, 0, 200, id=all_access) + set_path(get_path_to(src, waypoint, /turf/proc/Distance_cardinal, 0, 200, id=all_access)) calling_ai = caller //Link the AI to the bot! ai_waypoint = waypoint @@ -491,6 +501,9 @@ Pass a positive integer as an argument to override a bot's default speed. if(!on) turn_on() //Saves the AI the hassle of having to activate a bot manually. access_card = all_access //Give the bot all-access while under the AI's command. + if(client) + reset_access_timer_id = addtimer(CALLBACK (src, .proc/bot_reset), 600, TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time + to_chat(src, "Priority waypoint set by [icon2html(calling_ai, src)] [caller]. Proceed to [end_area.name].
[path.len-1] meters to destination. You have been granted additional door access for 60 seconds.
") if(message) to_chat(calling_ai, "[icon2html(src, calling_ai)] [name] called to [end_area.name]. [path.len-1] meters to destination.") pathset = 1 @@ -500,7 +513,7 @@ Pass a positive integer as an argument to override a bot's default speed. if(message) to_chat(calling_ai, "Failed to calculate a valid route. Ensure destination is clear of obstructions and within range.") calling_ai = null - path = list() + set_path(null) /mob/living/simple_animal/bot/proc/call_mode() //Handles preparing a bot for a call, as well as calling the move proc. //Handles the bot's movement during a call. @@ -515,7 +528,10 @@ Pass a positive integer as an argument to override a bot's default speed. if(calling_ai) //Simple notification to the AI if it called a bot. It will not know the cause or identity of the bot. to_chat(calling_ai, "Call command to a bot has been reset.") calling_ai = null - path = list() + if(reset_access_timer_id) + deltimer(reset_access_timer_id) + reset_access_timer_id = null + set_path(null) summon_target = null pathset = 0 access_card.access = prev_access @@ -579,7 +595,7 @@ Pass a positive integer as an argument to override a bot's default speed. else if(path.len > 0 && patrol_target) // valid path if(path[1] == loc) - path.Cut(1,2) + increment_path() return @@ -691,12 +707,12 @@ Pass a positive integer as an argument to override a bot's default speed. // given an optional turf to avoid /mob/living/simple_animal/bot/proc/calc_path(turf/avoid) check_bot_access() - path = get_path_to(src, patrol_target, /turf/proc/Distance_cardinal, 0, 120, id=access_card, exclude=avoid) + set_path(get_path_to(src, patrol_target, /turf/proc/Distance_cardinal, 0, 120, id=access_card, exclude=avoid)) /mob/living/simple_animal/bot/proc/calc_summon_path(turf/avoid) check_bot_access() spawn() - path = get_path_to(src, summon_target, /turf/proc/Distance_cardinal, 0, 150, id=access_card, exclude=avoid) + set_path(get_path_to(src, summon_target, /turf/proc/Distance_cardinal, 0, 150, id=access_card, exclude=avoid)) if(!path.len) //Cannot reach target. Give up and announce the issue. speak("Summon command failed, destination unreachable.",radio_channel) bot_reset() @@ -712,7 +728,7 @@ Pass a positive integer as an argument to override a bot's default speed. else if(path.len > 0 && summon_target) //Proper path acquired! if(path[1] == loc) - path.Cut(1,2) + increment_path() return var/moved = bot_move(summon_target, 3) // Move attempt @@ -899,7 +915,6 @@ Pass a positive integer as an argument to override a bot's default speed. . = ..() access_card.access += player_access diag_hud_set_botmode() - activate_data_hud() /mob/living/simple_animal/bot/Logout() . = ..() @@ -919,9 +934,63 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/sentience_act() faction -= "silicon" -/mob/living/simple_animal/bot/proc/activate_data_hud() -//If a bot has its own HUD (for player bots), provide it. - if(!data_hud_type) +/mob/living/simple_animal/bot/proc/set_path(list/newpath) + path = newpath ? newpath : list() + if(!path_hud) return - var/datum/atom_hud/datahud = GLOB.huds[data_hud_type] - datahud.add_hud_to(src) + var/list/path_huds_watching_me = list(GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED]) + if(path_hud) + path_huds_watching_me += path_hud + for(var/V in path_huds_watching_me) + var/datum/atom_hud/H = V + H.remove_from_hud(src) + + var/list/path_images = hud_list[DIAG_PATH_HUD] + QDEL_LIST(path_images) + if(newpath) + for(var/i in 1 to newpath.len) + var/turf/T = newpath[i] + var/direction = NORTH + if(i > 1) + var/turf/prevT = path[i - 1] + var/image/prevI = path[prevT] + direction = get_dir(prevT, T) + if(i > 2) + var/turf/prevprevT = path[i - 2] + var/prevDir = get_dir(prevprevT, prevT) + var/mixDir = direction|prevDir + if(mixDir in GLOB.diagonals) + prevI.dir = mixDir + if(prevDir & (NORTH|SOUTH)) + var/matrix/ntransform = matrix() + ntransform.Turn(90) + if((mixDir == NORTHWEST) || (mixDir == SOUTHEAST)) + ntransform.Scale(-1, 1) + else + ntransform.Scale(1, -1) + prevI.transform = ntransform + var/mutable_appearance/MA = new /mutable_appearance() + MA.icon = path_image_icon + MA.icon_state = path_image_icon_state + MA.layer = ABOVE_OPEN_TURF_LAYER + MA.plane = 0 + MA.appearance_flags = RESET_COLOR|RESET_TRANSFORM + MA.color = path_image_color + MA.dir = direction + var/image/I = image(loc = T) + I.appearance = MA + path[T] = I + path_images += I + + for(var/V in path_huds_watching_me) + var/datum/atom_hud/H = V + H.add_to_hud(src) + + +/mob/living/simple_animal/bot/proc/increment_path() + if(!path || !path.len) + return + var/image/I = path[path[1]] + if(I) + I.icon = null + path.Cut(1, 2) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 4eb225360a..efe289b222 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -16,6 +16,7 @@ window_id = "autoclean" window_name = "Automatic Station Cleaner v1.2" pass_flags = PASSMOB + path_image_color = "#993299" var/blood = 1 var/trash = 0 diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 62fb2e772c..463082adda 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -21,6 +21,7 @@ window_name = "Automatic Security Unit v2.6" allow_pai = 0 data_hud_type = DATA_HUD_SECURITY_ADVANCED + path_image_color = "#FF0000" var/lastfired = 0 var/shot_delay = 15 diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 28a64838f7..707d77e2ac 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -17,6 +17,7 @@ bot_core = /obj/machinery/bot_core/floorbot window_id = "autofloor" window_name = "Automatic Station Floor Repairer v1.1" + path_image_color = "#FFA500" var/process_type //Determines what to do when process_scan() recieves a target. See process_scan() for details. var/targetdirection diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm index 3e15adbfe0..1052542f5a 100644 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm @@ -18,6 +18,7 @@ window_id = "autohonk" window_name = "Honkomatic Bike Horn Unit v1.0.7" data_hud_type = DATA_HUD_SECURITY_BASIC // show jobs + path_image_color = "#FF69B4" var/honksound = 'sound/items/bikehorn.ogg' //customizable sound var/spam_flag = FALSE diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 57cad4570f..03dbc240ec 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -25,6 +25,7 @@ window_id = "automed" window_name = "Automatic Medical Unit v1.1" data_hud_type = DATA_HUD_MEDICAL_ADVANCED + path_image_color = "#DDDDFF" var/obj/item/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents. var/skin = null //Set to "tox", "ointment" or "o2" for the other two firstaid kits. @@ -342,7 +343,7 @@ //Time to see if they need medical help! if(C.stat == DEAD || (C.status_flags & FAKEDEATH)) return FALSE //welp too late for them! - + if(!(loc == C.loc) && !(isturf(C.loc) && isturf(loc))) return FALSE diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 170659ef29..0cba76edf5 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -31,6 +31,8 @@ suffix = "" + path_image_color = "#7F5200" + var/atom/movable/load = null var/mob/living/passenger = null var/turf/target // this is turf to navigate to (location of beacon) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 82eae37f82..b8b2621875 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -20,6 +20,7 @@ window_name = "Automatic Security Unit v1.6" allow_pai = 0 data_hud_type = DATA_HUD_SECURITY_ADVANCED + path_image_color = "#FF0000" var/mob/living/carbon/target var/oldtarget_name diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index f7ee4ac29a..e4de4387be 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -102,8 +102,8 @@ else verbs -= /mob/living/simple_animal/drone/verb/toggle_statics - var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC] - diag_hud.add_to_hud(src) + for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) + diag_hud.add_to_hud(src) /mob/living/simple_animal/drone/med_hud_set_health() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 9a9b161e51..dd32042849 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -42,9 +42,14 @@ /atom/proc/prepare_huds() hud_list = list() for(var/hud in hud_possible) - var/image/I = image('icons/mob/hud.dmi', src, "") - I.appearance_flags = RESET_COLOR|RESET_TRANSFORM - hud_list[hud] = I + var/hint = hud_possible[hud] + switch(hint) + if(HUD_LIST_LIST) + hud_list[hud] = list() + else + var/image/I = image('icons/mob/hud.dmi', src, "") + I.appearance_flags = RESET_COLOR|RESET_TRANSFORM + hud_list[hud] = I /mob/proc/Cell() set category = "Admin" diff --git a/icons/mob/aibots.dmi b/icons/mob/aibots.dmi index c6ee57391304754056d911db409c7884afee3d9f..873147c91c556aa49bfd549051f133beb2e1c6ee 100644 GIT binary patch literal 49803 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%0A+_X{PYU8n<{BwAWy`YJztH;?%{NVb4#G`K$~GJv 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�M*`qO4*(GW%@Ql9v31Q?6aXcCDY!*lrV|D3 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%0A0% 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 Vg52A89K`^>l;l)p%caeN{}+-%q-X#D From 507c862c7cb801b0925903753d7c7097aa0ae125 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Tue, 28 Nov 2017 22:24:00 -0500 Subject: [PATCH 2/2] Update hud.dm --- code/modules/clothing/glasses/hud.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 93e2fa5254..762f1e53b0 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -62,12 +62,8 @@ name = "diagnostic HUD" desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits." icon_state = "diagnostichud" -<<<<<<< HEAD origin_tech = "magnets=2;engineering=2" - hud_type = DATA_HUD_DIAGNOSTIC -======= hud_type = DATA_HUD_DIAGNOSTIC_BASIC ->>>>>>> 069f909... Added bot path data huds (#32967) glass_colour_type = /datum/client_colour/glass_colour/lightorange /obj/item/clothing/glasses/hud/diagnostic/night