diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index b72728e75f6..ccf8bb6d075 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -23,6 +23,7 @@ ________________________________________________________________________________ verbs += /obj/item/clothing/suit/space/space_ninja/proc/init//suit initialize verb verbs += /obj/item/clothing/suit/space/space_ninja/proc/ai_instruction//for AIs verbs += /obj/item/clothing/suit/space/space_ninja/proc/ai_holo + verbs += /obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja // Experemental //verbs += /obj/item/clothing/suit/space/space_ninja/proc/display_verb_procs//DEBUG. Doesn't work. spark_system = new()//spark initialize spark_system.set_up(5, 0, src) @@ -772,8 +773,8 @@ ________________________________________________________________________________ return /obj/item/clothing/suit/space/space_ninja/proc/ai_hack_ninja() - set name = "Hack SpiderOS" - set desc = "Hack directly into the Black Widow(tm) neuro-interface." + set name = "Display SpiderOS" + set desc = "Hack into SpiderOS and display a modified interface." set category = "AI Ninja Equip" set src = usr.loc @@ -790,9 +791,54 @@ ________________________________________________________________________________ AI << "You have seized your hacking attempt. [affecting.real_name] has regained control." affecting << "UPDATE: [AI.real_name] has ceased hacking attempt. All systems clear." + verbs += /obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja remove_AI_verbs() return +/obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja()// Experemental -- Dave + set name = "Hack Ninja Systems" + set desc = "Hack directly into the Black Widow(tm) neuro-interface." + set category = "AI Ninja Equip" + set src = usr.loc + + var/mob/living/carbon/human/U = affecting + var/mob/living/silicon/ai/A = AI + + if(A.laws.zeroth || A.laws != /datum/ai_laws/ninja_override)//Gives a few seconds to re-upload the AI somewhere before it takes full control. + s_busy = 1 + for(var/i,i<5,i++) + if(AI==A) + switch(i) + if(0) + A << "\red NOTICE:\n beginning hack attempt..." + U << "\red WARNING: HACKING AT��TEMP� IN PR0GRESs!" + spideros = 0 + k_unlock = 0 + U << browse(null, "window=spideros") + if(1) + A << "Disconnecting neural interface..." + U << "\red WAR�NING: �R�O0�Gr�--S 2&3%" + if(2) + A << "Shutting down external protocol..." + U << "\red WARNING: P����RֆGr�5S 677^%" + cancel_stealth() + if(3) + A << "Connecting to kernel..." + U << "\red WARNING: �R�r�R_404" + A.control_disabled = 0 + if(4) + A << "Connection established and secured. Menu updated." + U << "\red W�r#nING: #%@!!WȆ|_4�54@ \nUn�B88l3 T� L�-�o-L�CaT2 ##$!�RN�0..%.." + verbs -= /obj/item/clothing/suit/space/space_ninja/proc/ai_overrideninja + grant_AI_verbs() + return + sleep(s_delay) + else break + s_busy = 0 + else + A << "/red Unable to hack target with current lawset!" + + //=======//GENERAL SUIT PROCS//=======// /obj/item/clothing/suit/space/space_ninja/attackby(obj/item/I, mob/U) @@ -858,6 +904,7 @@ ________________________________________________________________________________ else U << "\red ERROR: \black Procedure interrupted. Process terminated." else + U.drop_item() I.loc = src t_disk = I U << "\blue You slot \the [I] into \the [src]." diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm index 76ddb176a65..f7381162987 100644 --- a/code/game/gamemodes/events/space_ninja.dm +++ b/code/game/gamemodes/events/space_ninja.dm @@ -482,27 +482,22 @@ As such, it's hard-coded for now. No reason for it not to be, really. if(alert("Are you sure you want to send in a space ninja?",,"Yes","No")=="No") return - if(alert("Would you like random or custom paramaters?",,"Random","Custom")=="Custom") - var/mission + var/mission + if(alert("Would you the Ninja to have a random or preset mission?",,"Random","Preset")=="Preset") while(!mission) mission = copytext(sanitize(input(src, "Please specify which mission the space ninja shall undertake.", "Specify Mission", "")),1,MAX_MESSAGE_LEN) if(!mission) if(alert("Error, no mission set. Do you want to exit the setup process?",,"Yes","No")=="Yes") return - - - var/input = ckey(input("Pick character to spawn as the Space Ninja", "Key", "")) + var/input + if(alert("Would you like the Ninja to be a random ghost or a preset ckey?",,"Random","Preset")=="Preset") + input = ckey(input("Pick character to spawn as the Space Ninja", "Key", "")) if(!input) return - space_ninja_arrival(input, mission) + space_ninja_arrival(input, mission) - message_admins("\blue [key_name_admin(key)] has spawned [input] as a Space Ninja.\nTheir mission is: [mission]") - - else - space_ninja_arrival() - message_admins("\blue [key_name_admin(key)] has spawned a random player as a Space Ninja.") - log_admin("[key] used Spawn Space Ninja.") + message_admins("\blue [key_name_admin(usr)] has spawned [(input) ? input : "a random ghost"] as a Space Ninja.\nTheir mission is [(mission) ? ":" + mission : "randomly generated"]") return diff --git a/code/modules/events/tgevents/ninja.dm b/code/modules/events/tgevents/ninja.dm index 080fab5d1ee..ef6f370ff5a 100644 --- a/code/modules/events/tgevents/ninja.dm +++ b/code/modules/events/tgevents/ninja.dm @@ -362,7 +362,7 @@ ________________________________________________________________________________ del(gloves) var/obj/item/device/radio/R = new /obj/item/device/radio/headset(src) - equip_to_slot_or_del(R, slot_ears) + equip_to_slot_or_del(R, slot_l_ear) if(gender==FEMALE) equip_to_slot_or_del(new /obj/item/clothing/under/color/blackf(src), slot_w_uniform) else @@ -1593,7 +1593,7 @@ ________________________________________________________________________________ dat += "

SpiderOS v.ERR-RR00123

" dat += "
" dat += " Current Time: [worldtime2text()]
" - dat += " Battery Life: [round(cell.charge/100)]%
" + dat += " Battery Life: [round(cell.charge)] ([round(cell.charge/100)]%)
" dat += " Smoke Bombs: \Roman [s_bombs]
" dat += " pai Device: " if(pai) @@ -1726,11 +1726,11 @@ ________________________________________________________________________________ Abilities: