diff --git a/baystation12.dme b/baystation12.dme index 4a15cd3d301..d3fe8271b4e 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -5,6 +5,57 @@ // END_INTERNALS // BEGIN_FILE_DIR #define FILE_DIR . +#define FILE_DIR "code" +#define FILE_DIR "code/TriDimension" +#define FILE_DIR "code/WorkInProgress" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" +#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" +#define FILE_DIR "code/WorkInProgress/Susan" +#define FILE_DIR "html" +#define FILE_DIR "icons" +#define FILE_DIR "icons/48x48" +#define FILE_DIR "icons/effects" +#define FILE_DIR "icons/mecha" +#define FILE_DIR "icons/misc" +#define FILE_DIR "icons/mob" +#define FILE_DIR "icons/mob/human_races" +#define FILE_DIR "icons/obj" +#define FILE_DIR "icons/obj/assemblies" +#define FILE_DIR "icons/obj/atmospherics" +#define FILE_DIR "icons/obj/clothing" +#define FILE_DIR "icons/obj/doors" +#define FILE_DIR "icons/obj/flora" +#define FILE_DIR "icons/obj/machines" +#define FILE_DIR "icons/obj/pipes" +#define FILE_DIR "icons/pda_icons" +#define FILE_DIR "icons/spideros_icons" +#define FILE_DIR "icons/Testing" +#define FILE_DIR "icons/turf" +#define FILE_DIR "icons/vending_icons" +#define FILE_DIR "icons/xenoarch_icons" +#define FILE_DIR "nano" +#define FILE_DIR "nano/images" +#define FILE_DIR "sound" +#define FILE_DIR "sound/AI" +#define FILE_DIR "sound/ambience" +#define FILE_DIR "sound/effects" +#define FILE_DIR "sound/effects/turret" +#define FILE_DIR "sound/effects/wind" +#define FILE_DIR "sound/hallucinations" +#define FILE_DIR "sound/items" +#define FILE_DIR "sound/machines" +#define FILE_DIR "sound/mecha" +#define FILE_DIR "sound/misc" +#define FILE_DIR "sound/music" +#define FILE_DIR "sound/piano" +#define FILE_DIR "sound/violin" +#define FILE_DIR "sound/voice" +#define FILE_DIR "sound/voice/Serithi" +#define FILE_DIR "sound/vox" +#define FILE_DIR "sound/weapons" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG @@ -202,7 +253,10 @@ #include "code\game\gamemodes\events\black_hole.dm" #include "code\game\gamemodes\events\clang.dm" #include "code\game\gamemodes\events\dust.dm" +#include "code\game\gamemodes\events\ninja_abilities.dm" +#include "code\game\gamemodes\events\ninja_equipment.dm" #include "code\game\gamemodes\events\power_failure.dm" +#include "code\game\gamemodes\events\space_ninja.dm" #include "code\game\gamemodes\events\spacevines.dm" #include "code\game\gamemodes\events\wormholes.dm" #include "code\game\gamemodes\events\holidays\Christmas.dm" @@ -214,6 +268,7 @@ #include "code\game\gamemodes\malfunction\malfunction.dm" #include "code\game\gamemodes\meteor\meteor.dm" #include "code\game\gamemodes\meteor\meteors.dm" +#include "code\game\gamemodes\ninja\ninja.dm" #include "code\game\gamemodes\nuclear\nuclear.dm" #include "code\game\gamemodes\nuclear\nuclearbomb.dm" #include "code\game\gamemodes\nuclear\pinpointer.dm" @@ -733,6 +788,7 @@ #include "code\modules\clothing\spacesuits\captain.dm" #include "code\modules\clothing\spacesuits\ert.dm" #include "code\modules\clothing\spacesuits\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\ninja.dm" #include "code\modules\clothing\spacesuits\rig.dm" #include "code\modules\clothing\spacesuits\syndi.dm" #include "code\modules\clothing\spacesuits\void.dm" @@ -784,6 +840,7 @@ #include "code\modules\events\prison_break.dm" #include "code\modules\events\radiation_storm.dm" #include "code\modules\events\rogue_drones.dm" +#include "code\modules\events\space_ninja.dm" #include "code\modules\events\spacevine.dm" #include "code\modules\events\spider_infestation.dm" #include "code\modules\events\spontaneous_appendicitis.dm" diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 0d86d311695..dc3a3b36dbd 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -498,8 +498,8 @@ client usr << "This can only be used on instances of type /mob" return -// src.cmd_admin_ninjafy(M) -// href_list["datumrefresh"] = href_list["ninja"] + src.cmd_admin_ninjafy(M) + href_list["datumrefresh"] = href_list["ninja"] else if(href_list["godmode"]) if(!check_rights(R_REJUVINATE)) return diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 9148d4f0b82..79404b3f8a6 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -571,10 +571,10 @@ datum/objective/steal if(istype(M, /mob/living/silicon/ai) && M.stat != 2) //See if any AI's are alive inside that card. return 1 -/* for(var/obj/item/clothing/suit/space/space_ninja/S in all_items) //Let an AI downloaded into a space ninja suit count + for(var/obj/item/clothing/suit/space/space_ninja/S in all_items) //Let an AI downloaded into a space ninja suit count if(S.AI && S.AI.stat != 2) return 1 -*/ + for(var/mob/living/silicon/ai/ai in world) if(istype(ai.loc, /turf)) var/area/check_area = get_area(ai) @@ -609,7 +609,7 @@ datum/objective/download return 0 if(!owner.current || owner.current.stat == 2) return 0 -/* if(!(istype(owner.current:wear_suit, /obj/item/clothing/suit/space/space_ninja)&&owner.current:wear_suit:s_initialized)) + if(!(istype(owner.current:wear_suit, /obj/item/clothing/suit/space/space_ninja)&&owner.current:wear_suit:s_initialized)) return 0 var/current_amount var/obj/item/clothing/suit/space/space_ninja/S = owner.current:wear_suit @@ -619,7 +619,7 @@ datum/objective/download for(var/datum/tech/current_data in S.stored_research) if(current_data.level>1) current_amount+=(current_data.level-1) if(current_amountERROR: \black Remote access channel disabled." return -*/ + /* This is a good place for AI-related object verbs so I'm sticking it here. If adding stuff to this, don't forget that an AI need to cancel_camera() whenever it physically moves to a different location. @@ -223,7 +223,7 @@ That prevents a few funky behaviors. T.cancel_camera() T << "You have been downloaded to a mobile storage device. Remote device connection severed." U << "\blue Transfer successful: \black [T.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory." -/* if("NINJASUIT") + if("NINJASUIT") var/obj/item/clothing/suit/space/space_ninja/C = src if(C.AI)//If there is an AI on card. U << "\red Transfer failed: \black Existing AI found on this terminal. Remove existing AI to install a new one." @@ -245,7 +245,7 @@ That prevents a few funky behaviors. T.cancel_camera() T << "You have been downloaded to a mobile storage device. Remote device connection severed." U << "\blue Transfer successful: \black [T.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory." -*/ + if("INACTIVE")//Inactive AI object. var/obj/structure/AIcore/deactivated/T = target switch(interaction) @@ -262,7 +262,7 @@ That prevents a few funky behaviors. A << "You have been uploaded to a stationary terminal. Remote device connection restored." U << "\blue Transfer successful: \black [A.name] ([rand(1000,9999)].exe) installed and executed succesfully. Local copy has been removed." del(T) -/* if("NINJASUIT") + if("NINJASUIT") var/obj/item/clothing/suit/space/space_ninja/C = src var/mob/living/silicon/ai/A = C.AI if(A) @@ -272,7 +272,7 @@ That prevents a few funky behaviors. A.cancel_camera() A << "You have been uploaded to a stationary terminal. Remote device connection restored." U << "\blue Transfer succesful: \black [A.name] ([rand(1000,9999)].exe) installed and executed succesfully. Local copy has been removed." - del(T)*/ + del(T) if("AIFIXER")//AI Fixer terminal. var/obj/machinery/computer/aifixer/T = target switch(interaction) @@ -317,7 +317,7 @@ That prevents a few funky behaviors. U << "\red ERROR: \black Reconstruction in progress." else if (!T.occupant) U << "\red ERROR: \black Unable to locate artificial intelligence." -/* if("NINJASUIT") + if("NINJASUIT") var/obj/item/clothing/suit/space/space_ninja/C = src if(!T.contents.len) if (!C.AI) @@ -387,7 +387,7 @@ That prevents a few funky behaviors. U << "\blue SUCCESS: \black [A_T.name] ([rand(1000,9999)].exe) removed from local memory and installed to host." else if(A_T)//If the target AI is dead. Else just go to return since nothing would happen if both are empty. U << "\red ERROR: \black [A_T.name] data core is corrupted. Unable to install." - */ + else U << "\red ERROR: \black AI flush is in progress, cannot execute transfer protocol." return \ No newline at end of file diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 9bbf1e250e9..7e183ee39f3 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -59,7 +59,7 @@ /obj/machinery/computer/aifixer/attack_hand(var/mob/user as mob) if(..()) return -/* + if(ishuman(user))//Checks to see if they are ninja if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) if(user:wear_suit:s_control) @@ -67,7 +67,7 @@ else user << "\red ERROR: \black Remote access channel disabled." return -*/ + user.set_machine(src) var/dat = "

AI System Integrity Restorer



" diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 7661a7ea9aa..a7449137d4d 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -417,12 +417,12 @@ /obj/mecha/attack_hand(mob/user as mob) src.log_message("Attack by hand/paw. Attacker - [user].",1) -/* + if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) call(/obj/item/clothing/gloves/space_ninja/proc/drain)("MECHA",src,user:wear_suit) return -*/ + if ((HULK in user.mutations) && !prob(src.deflect_chance)) src.take_damage(15) src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 0e0603409ca..2b8c0bbc0ce 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -793,7 +793,7 @@ var/global/floorIsLava = 0 message_admins("[key_name_admin(usr)] toggled Aliens [aliens_allowed ? "on" : "off"].", 1) feedback_add_details("admin_verb","TA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -/* + /datum/admins/proc/toggle_space_ninja() set category = "Server" set desc="Toggle space ninjas spawning." @@ -802,7 +802,7 @@ var/global/floorIsLava = 0 log_admin("[key_name(usr)] toggled Space Ninjas to [toggle_space_ninja].") message_admins("[key_name_admin(usr)] toggled Space Ninjas [toggle_space_ninja ? "on" : "off"].", 1) feedback_add_details("admin_verb","TSN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -*/ + /datum/admins/proc/delay() set category = "Server" set desc="Delay the game start/end" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index cf8b125ef9a..acb5052b21f 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -90,8 +90,8 @@ var/list/admin_verbs_fun = list( /client/proc/cinematic, /client/proc/one_click_antag, /datum/admins/proc/toggle_aliens, -// /datum/admins/proc/toggle_space_ninja, -// /client/proc/send_space_ninja, + /datum/admins/proc/toggle_space_ninja, + /client/proc/send_space_ninja, /client/proc/cmd_admin_add_freeform_ai_law, /client/proc/cmd_admin_add_random_ai_law, /client/proc/make_sound, @@ -120,7 +120,7 @@ var/list/admin_verbs_server = list( /datum/admins/proc/adspawn, /datum/admins/proc/adjump, /datum/admins/proc/toggle_aliens, -// /datum/admins/proc/toggle_space_ninja, + /datum/admins/proc/toggle_space_ninja, /client/proc/toggle_random_events, /client/proc/check_customitem_activity, /client/proc/delbook @@ -186,8 +186,8 @@ var/list/admin_verbs_hideable = list( /client/proc/drop_bomb, /client/proc/cinematic, /datum/admins/proc/toggle_aliens, -// /datum/admins/proc/toggle_space_ninja, -// /client/proc/send_space_ninja, + /datum/admins/proc/toggle_space_ninja, + /client/proc/send_space_ninja, /client/proc/cmd_admin_add_freeform_ai_law, /client/proc/cmd_admin_add_random_ai_law, /client/proc/cmd_admin_create_centcom_report, diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index fc4a6fca721..3e243b82460 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -36,9 +36,9 @@ log_admin("[key_name(usr)] has spawned a nuke team.") if(!src.makeNukeTeam()) usr << "\red Unfortunately there weren't enough candidates available." -/* if("8") + if("8") log_admin("[key_name(usr)] has spawned a ninja.") - src.makeSpaceNinja()*/ + src.makeSpaceNinja() if("9") log_admin("[key_name(usr)] has spawned aliens.") src.makeAliens() diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 796a22e87fd..6f4ee9340c5 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -309,11 +309,11 @@ client/proc/one_click_antag() /datum/admins/proc/makeAliens() alien_infestation(3) return 1 -/* + /datum/admins/proc/makeSpaceNinja() space_ninja_arrival() return 1 -*/ + /datum/admins/proc/makeDeathsquad() var/list/mob/dead/observer/candidates = list() var/mob/dead/observer/theghost = null diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 66a5a6d36cd..65a0e0aa8cc 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -357,7 +357,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(synd_spawn) new_character.loc = get_turf(synd_spawn) call(/datum/game_mode/proc/equip_syndicate)(new_character) -/* if("Ninja") + if("Ninja") new_character.equip_space_ninja() new_character.internal = new_character.s_store new_character.internals.icon_state = "internal1" @@ -372,7 +372,7 @@ Traitors and the like can also be revived with the previous role mostly intact. new_character.loc = pick(latejoin) else if (ninjastart.len == 0) new_character << "\red Still no spawneable locations could be found. Aborting." -*/ + if("Death Commando")//Leaves them at late-join spawn. new_character.equip_death_commando() new_character.internal = new_character.s_store diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index 96337b2969b..7d74cc1f1e3 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -85,8 +85,8 @@ var/list/event_last_fired = list() possibleEvents[/datum/event/spider_infestation] = max(active_with_role["Security"], 5) + 5 if(aliens_allowed && !sent_aliens_to_station) possibleEvents[/datum/event/alien_infestation] = max(active_with_role["Security"], 5) + 2.5 -// if(!sent_ninja_to_station && toggle_space_ninja) -// possibleEvents[/datum/event/space_ninja] = max(active_with_role["Security"], 5) + if(!sent_ninja_to_station && toggle_space_ninja) + possibleEvents[/datum/event/space_ninja] = max(active_with_role["Security"], 5) for(var/event_type in event_last_fired) if(possibleEvents[event_type]) var/time_passed = world.time - event_last_fired[event_type] diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index e76a8e2dba2..95ebdf20117 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -86,10 +86,10 @@ emote("deathgasp") //let the world KNOW WE ARE DEAD //For ninjas exploding when they die. -/* if( istype(wear_suit, /obj/item/clothing/suit/space/space_ninja) && wear_suit:s_initialized ) + if( istype(wear_suit, /obj/item/clothing/suit/space/space_ninja) && wear_suit:s_initialized ) src << browse(null, "window=spideros")//Just in case. var/location = loc - explosion(location, 0, 0, 3, 4)*/ + explosion(location, 0, 0, 3, 4) update_canmove() if(client) blind.layer = 0 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 9534efe283c..c39a5adcce1 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -164,8 +164,8 @@ if(mind.changeling) stat("Chemical Storage", mind.changeling.chem_charges) stat("Genetic Damage Time", mind.changeling.geneticdamage) -// if (istype(wear_suit, /obj/item/clothing/suit/space/space_ninja)&&wear_suit:s_initialized) -// stat("Energy Charge", round(wear_suit:cell:charge/100)) + if (istype(wear_suit, /obj/item/clothing/suit/space/space_ninja)&&wear_suit:s_initialized) + stat("Energy Charge", round(wear_suit:cell:charge/100)) /mob/living/carbon/human/ex_act(severity) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index cfe179b52cc..77b6b7d92b4 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1188,7 +1188,7 @@ else see_invisible = SEE_INVISIBLE_LIVING seer = 0 -/* + if(istype(wear_mask, /obj/item/clothing/mask/gas/voice/space_ninja)) var/obj/item/clothing/mask/gas/voice/space_ninja/O = wear_mask switch(O.mode) @@ -1209,7 +1209,7 @@ if(3) sight |= SEE_TURFS if(!druggy) see_invisible = SEE_INVISIBLE_LIVING -*/ + if(glasses) if(istype(glasses, /obj/item/clothing/glasses/meson)) sight |= SEE_TURFS diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 7e7682a184d..fef0164d7d7 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -428,7 +428,7 @@ var/list/ai_list = list() if ((O.client && !( O.blinded ))) O.show_message(text("\red [] took a swipe at []!", M, src), 1) return -/* + /mob/living/silicon/ai/attack_hand(mob/living/carbon/M as mob) if(ishuman(M))//Checks to see if they are ninja if(istype(M:gloves, /obj/item/clothing/gloves/space_ninja)&&M:gloves:candrain&&!M:gloves:draining) @@ -438,7 +438,7 @@ var/list/ai_list = list() M << "\red ERROR: \black Remote access channel disabled." return -*/ + /mob/living/silicon/ai/attack_animal(mob/living/simple_animal/M as mob) if(M.melee_damage_upper == 0) M.emote("[M.friendly] [src]") diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index a487cde15a2..f1fe4b401c5 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -947,12 +947,12 @@ var/obj/item/broken_device = cell_component.wrapped user << "You remove \the [broken_device]." user.put_in_active_hand(broken_device) -/* + if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) call(/obj/item/clothing/gloves/space_ninja/proc/drain)("CYBORG",src,user:wear_suit) return -*/ + /mob/living/silicon/robot/proc/allowed(mob/M) //check if it doesn't require any access at all if(check_access(null)) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index e5afe5833a1..8d937f83170 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -467,12 +467,12 @@ return if(stat & (BROKEN|MAINT)) return -/* + if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) call(/obj/item/clothing/gloves/space_ninja/proc/drain)("APC",src,user:wear_suit) return -*/ + // do APC interaction user.set_machine(src) src.interact(user) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index f53b7b0822d..c671e4a8feb 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -68,12 +68,12 @@ return powernet /obj/structure/cable/attack_hand(mob/user) -/* + if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) call(/obj/item/clothing/gloves/space_ninja/proc/drain)("WIRE",src,user:wear_suit) return -*/ + /obj/structure/cable/attackby(obj/item/W, mob/user) var/turf/T = src.loc diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 5e302279021..0560f4882ca 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -62,12 +62,12 @@ /obj/item/weapon/cell/attack_self(mob/user as mob) src.add_fingerprint(user) -/* + if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) call(/obj/item/clothing/gloves/space_ninja/proc/drain)("CELL",src,user:wear_suit) return -*/ + /obj/item/weapon/cell/attackby(obj/item/W, mob/user) ..() if(istype(W, /obj/item/weapon/reagent_containers/syringe)) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index d861e54ac1c..287f6541925 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -168,12 +168,12 @@ /obj/machinery/power/smes/attack_hand(mob/user) add_fingerprint(user) if(stat & BROKEN) return -/* + if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) call(/obj/item/clothing/gloves/space_ninja/proc/drain)("SMES",src,user:wear_suit) return -*/ + interact(user) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 25d8c34e233..000a671e0d3 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -114,8 +114,8 @@ user << "\blue You transfer [trans] units of the solution to [target]." //Safety for dumping stuff into a ninja suit. It handles everything through attackby() and this is unnecessary. -// else if(istype(target, /obj/item/clothing/suit/space/space_ninja)) -// return + else if(istype(target, /obj/item/clothing/suit/space/space_ninja)) + return else if(istype(target, /obj/machinery/bunsen_burner)) return diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 7f4711bcb8a..5597c815091 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -549,12 +549,12 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole/attack_hand(mob/user as mob) if(stat & (BROKEN|NOPOWER)) return -/* + if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) call(/obj/item/clothing/gloves/space_ninja/proc/drain)("RESEARCH",src,user:wear_suit) return -*/ + user.set_machine(src) var/dat = "" files.RefreshResearch() diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 5ad44ca8375..e3fe5e7cde9 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -154,11 +154,11 @@ return if (shocked) shock(user,50) -/* + if(ishuman(user)) if(istype(user:gloves, /obj/item/clothing/gloves/space_ninja)&&user:gloves:candrain&&!user:gloves:draining) call(/obj/item/clothing/gloves/space_ninja/proc/drain)("RESEARCH",src,user:wear_suit) -*/ + return