mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
action
This commit is contained in:
@@ -27,7 +27,6 @@
|
||||
COMPILE_OVERLAYS(mannequin)
|
||||
CHECK_TICK
|
||||
var/icon/capture = getFlatIcon(mannequin)
|
||||
capture.Shift(WEST,16,FALSE)
|
||||
CHECK_TICK
|
||||
combined.Insert(capture, dir = d)
|
||||
CHECK_TICK
|
||||
@@ -67,7 +66,6 @@
|
||||
var/chosen_name = input(C, "Which character do you wish to use as your appearance.") as anything in characters
|
||||
if(chosen_name)
|
||||
target_prefs = new(C)
|
||||
message_admins("reverse index is [characters[chosen_name]]")
|
||||
if(!target_prefs.load_character(characters[chosen_name], TRUE))
|
||||
target_prefs = C.prefs
|
||||
|
||||
|
||||
@@ -86,6 +86,7 @@
|
||||
var/mob/living/silicon/robot/deployed_shell = null //For shell control
|
||||
var/datum/action/innate/deploy_shell/deploy_action = new
|
||||
var/datum/action/innate/deploy_last_shell/redeploy_action = new
|
||||
var/datum/action/innate/custom_holoform/custom_holoform = new
|
||||
var/chnotify = 0
|
||||
|
||||
|
||||
@@ -152,6 +153,7 @@
|
||||
aicamera = new/obj/item/camera/siliconcam/ai_camera(src)
|
||||
|
||||
deploy_action.Grant(src)
|
||||
custom_holoform.Grant(src)
|
||||
|
||||
if(isturf(loc))
|
||||
add_verb(src, list(/mob/living/silicon/ai/proc/ai_network_change, \
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
/mob/living/silicon/verb/set_custom_holoform()
|
||||
set name = "Set Custom Holoform"
|
||||
set desc = "Set your custom holoform using your current preferences slot and a specified set of gear."
|
||||
set category = "OOC"
|
||||
|
||||
/mob/living/silicon/proc/attempt_set_custom_holoform()
|
||||
if(!client.prefs)
|
||||
to_chat(src, "<span class='boldwarning'>No preferences datum on your client, contact an admin/coder!</span>")
|
||||
return
|
||||
if(client.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY)
|
||||
to_chat(src, "<span class='warning'>You are attempting to change custom holoforms too fast!</span>")
|
||||
return
|
||||
client.prefs.last_custom_holoform = world.time
|
||||
var/icon/new_holoform = user_interface_custom_holoform(client)
|
||||
if(new_holoform)
|
||||
client.prefs.custom_holoform_icon = new_holoform
|
||||
client.prefs.cached_holoform_icons = null
|
||||
client.prefs.last_custom_holoform = world.time
|
||||
to_chat(src, "<span class='boldnotice'>Holoform set.</span>")
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -131,6 +131,7 @@
|
||||
var/datum/action/innate/pai/chassis/AC = new /datum/action/innate/pai/chassis
|
||||
var/datum/action/innate/pai/rest/AR = new /datum/action/innate/pai/rest
|
||||
var/datum/action/innate/pai/light/AL = new /datum/action/innate/pai/light
|
||||
var/datum/action/innate/custom_holoform/custom_holoform = new /datum/action/innate/custom_holoform
|
||||
|
||||
var/datum/action/language_menu/ALM = new
|
||||
SW.Grant(src)
|
||||
@@ -139,6 +140,7 @@
|
||||
AR.Grant(src)
|
||||
AL.Grant(src)
|
||||
ALM.Grant(src)
|
||||
custom_holoform.Grant(src)
|
||||
emitter_next_use = world.time + 10 SECONDS
|
||||
|
||||
/mob/living/silicon/pai/ComponentInitialize()
|
||||
|
||||
@@ -1022,6 +1022,32 @@
|
||||
R.undeploy()
|
||||
return TRUE
|
||||
|
||||
/datum/action/innate/custom_holoform
|
||||
name = "Select Custom Holoform"
|
||||
desc = "Select one of your existing avatars to use as a holoform."
|
||||
icon_icon = 'icons/mob/actions/actions_silicon.dmi'
|
||||
button_icon_state = "custom_holoform"
|
||||
required_mobility_flags = NONE
|
||||
|
||||
/datum/action/innate/custom_holoform/Trigger()
|
||||
if(!..())
|
||||
return FALSE
|
||||
var/mob/living/silicon/S = owner
|
||||
|
||||
//if setting the holoform succeeds, attempt to set it as the current holoform for the pAI or AI
|
||||
if(S.attempt_set_custom_holoform())
|
||||
if(istype(S, /mob/living/silicon/pai))
|
||||
var/mob/living/silicon/pai/P = S
|
||||
P.chassis = "custom"
|
||||
else if(istype(S, /mob/living/silicon/ai))
|
||||
var/mob/living/silicon/ai/A = S
|
||||
if(A.client?.prefs?.custom_holoform_icon)
|
||||
A.holo_icon = A.client.prefs.get_filtered_holoform(HOLOFORM_FILTER_AI)
|
||||
else
|
||||
A.holo_icon = getHologramIcon(icon('icons/mob/ai.dmi', "female"))
|
||||
|
||||
return TRUE
|
||||
|
||||
|
||||
/mob/living/silicon/robot/proc/undeploy()
|
||||
|
||||
@@ -1043,6 +1069,8 @@
|
||||
mainframe.laws.show_laws(mainframe) //Always remind the AI when switching
|
||||
mainframe = null
|
||||
|
||||
|
||||
|
||||
/mob/living/silicon/robot/attack_ai(mob/user)
|
||||
if(shell && (!connected_ai || connected_ai == user))
|
||||
var/mob/living/silicon/ai/AI = user
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 8.3 KiB |
Reference in New Issue
Block a user