diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 7db417b8fa..e09d79a39d 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -769,6 +769,15 @@ Help the operatives secure the disk at all costs!" set_module = /obj/item/robot_module/saboteur +/mob/living/silicon/robot/modules/syndicate/spider// used for space ninja and their cyborg hacking special objective + set_module = /obj/item/robot_module/syndicate/spider + +/mob/living/silicon/robot/modules/syndicate_medica/spider// ditto + set_module = /obj/item/robot_module/syndicate_medical/spider + +/mob/living/silicon/robot/modules/saboteur/spider// ditto + set_module = /obj/item/robot_module/saboteur/spider + /mob/living/silicon/robot/proc/notify_ai(notifytype, oldname, newname) if(!connected_ai) return diff --git a/code/modules/ninja/ninja_explosive.dm b/code/modules/ninja/ninja_explosive.dm index 1e9fe344a4..e87ff2b6d6 100644 --- a/code/modules/ninja/ninja_explosive.dm +++ b/code/modules/ninja/ninja_explosive.dm @@ -17,7 +17,7 @@ /obj/item/grenade/plastic/c4/ninja/afterattack(atom/movable/AM, mob/user, flag) var/datum/antagonist/ninja/ninja_antag = user.mind.has_antag_datum(/datum/antagonist/ninja) if(!ninja_antag) - to_chat(user, "While it appears normal, you can't seem to detonate the charge.") + to_chat(user, "You fiddle with the charge, but nothing happens.") return var/datum/objective/plant_explosive/objective = locate() in ninja_antag.objectives if(!objective) @@ -37,4 +37,9 @@ return var/datum/antagonist/ninja/ninja_antag = detonator.mind.has_antag_datum(/datum/antagonist/ninja) var/datum/objective/plant_explosive/objective = locate() in ninja_antag.objectives - objective.completed = TRUE \ No newline at end of file + objective.completed = TRUE + +/obj/item/grenade/plastic/c4/ninja/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/screwdriver)) + to_chat(user, "The wire panel is locked in place, clearly you aren't supposed to be opening it!") + return diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_empulse.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_empulse.dm index f09661d23d..ea2341a132 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_empulse.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_empulse.dm @@ -18,4 +18,4 @@ var/mob/living/carbon/human/H = affecting playsound(H.loc, 'sound/effects/empulse.ogg', 60, 2) empulse(H, 4, 6) //Procs sure are nice. Slightly weaker than wizard's disable tch. - //s_coold = 4 commented out until someone figures out why the fuck cooldowns don't work after porting from tg + s_coold = 4 diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm index 22fdf86ccd..dd6ca61f88 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm @@ -45,3 +45,4 @@ else //Else just TP it to us. energyKatana.returnToOwner(ninja, 1) + s_coold = 4 diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 30f3be6f35..9288c076b4 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -81,6 +81,34 @@ cell.name = "black power cell" cell.icon_state = "bscell" +/obj/item/clothing/suit/space/space_ninja/Initialize(mapload) + START_PROCESSING(SSobj, src) + return ..() + +/obj/item/clothing/suit/space/space_ninja/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +// Power usage +/obj/item/clothing/suit/space/space_ninja/process(delta_time) + var/mob/living/carbon/human/user = src.loc + if(!user || !ishuman(user) || !(user.wear_suit == src)) + return + + // Check for energy usage + if(s_initialized) + if(!affecting) + terminate() // Kills the suit and attached objects. + else if(cell.charge > 0) + if(s_coold > 0) + s_coold = max(s_coold - delta_time, 0) // Checks for ability s_cooldown first. + cell.charge -= s_cost * delta_time // s_cost is the default energy cost each ntick, usually 5. + if(stealth) // If stealth is active. + cell.charge -= s_acost * delta_time + else + cell.charge = 0 + cancel_stealth() + /obj/item/clothing/suit/space/space_ninja/ui_action_click(mob/user, action) if(IS_NINJA_SUIT_INITIALIZATION(action)) toggle_on_off() @@ -118,7 +146,7 @@ . = ..() if(stealth) cancel_stealth() - //s_coold = 5 commented out until someone figures out why the fuck cooldowns don't work after porting from tg + s_coold = 5 /** * Proc called to lock the important gear pieces onto space ninja's body. diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index f1c64a2151..a4202a3841 100644 Binary files a/icons/mob/clothing/suit.dmi and b/icons/mob/clothing/suit.dmi differ