mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
Adds RTS-like camera controls to AI (#21625)
* REMOVES sillycons (their keybinds) * adds the feature * comment fix * mech fix * lewcc review
This commit is contained in:
@@ -5,13 +5,10 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
|
||||
/mob/living/silicon/ai/proc/ai_call_shuttle,
|
||||
/mob/living/silicon/ai/proc/ai_camera_track,
|
||||
/mob/living/silicon/ai/proc/ai_camera_list,
|
||||
/mob/living/silicon/ai/proc/ai_goto_location,
|
||||
/mob/living/silicon/ai/proc/ai_remove_location,
|
||||
/mob/living/silicon/ai/proc/ai_hologram_change,
|
||||
/mob/living/silicon/ai/proc/ai_network_change,
|
||||
/mob/living/silicon/ai/proc/ai_roster,
|
||||
/mob/living/silicon/ai/proc/ai_statuschange,
|
||||
/mob/living/silicon/ai/proc/ai_store_location,
|
||||
/mob/living/silicon/ai/proc/control_integrated_radio,
|
||||
/mob/living/silicon/ai/proc/core,
|
||||
/mob/living/silicon/ai/proc/pick_icon,
|
||||
@@ -118,6 +115,9 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
|
||||
var/list/all_eyes = list()
|
||||
var/next_text_announcement
|
||||
|
||||
//Used with the hotkeys on 2-5 to store locations.
|
||||
var/list/stored_locations = list()
|
||||
|
||||
/mob/living/silicon/ai/proc/add_ai_verbs()
|
||||
verbs |= GLOB.ai_verbs_default
|
||||
verbs |= silicon_subsystems
|
||||
@@ -218,6 +218,10 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
|
||||
|
||||
GLOB.ai_list += src
|
||||
GLOB.shuttle_caller_list += src
|
||||
|
||||
for(var/I in 1 to 4)
|
||||
stored_locations += "unset" //This is checked in ai_keybinds.dm.
|
||||
|
||||
..()
|
||||
|
||||
/mob/living/silicon/ai/Destroy()
|
||||
@@ -1497,4 +1501,13 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
|
||||
to_chat(src, "<span class='notice'>The tiny in built fan finally removes the tape!</span>")
|
||||
ducttapecomponent.remove_tape(card, src)
|
||||
|
||||
//Stores the location of the AI to the value of stored_locations associated with location_number.
|
||||
/mob/living/silicon/ai/proc/store_location(location_number)
|
||||
if(!isturf(eyeobj.loc)) //i.e., inside a mech or other shenanigans
|
||||
to_chat(src, "<span class='warning'>You can't set a location here!</span>")
|
||||
return FALSE
|
||||
|
||||
stored_locations[location_number] = eyeobj.loc
|
||||
return TRUE
|
||||
|
||||
#undef TEXT_ANNOUNCEMENT_COOLDOWN
|
||||
|
||||
Reference in New Issue
Block a user