Stealth and Steel: The Space Ninja (#31497)

* Space Ninja Antag Datum

* Small fixes

* Ninja outfit, ekatana, actions

* Ninja scanner and spans

* Ninja uplink implant

* Ninja bombs

* Ninja bomb flare grants

* Ninja modsuit, objective payouts

* Fixes objectives

* Ninja stealth fix, modsuit sprites and final implementations

* Lints

* Ninja scanner sprites

* Ninja Suit and Energy Shuriken Sprites

* Fixes config, Adjusts stim ability, adds shuriken printer and e-shurikens, uplink stuff

* Fixes a duplicate icon

* Attack chain

* Energy katana item sprite

* Ninja net gun

* Brazil

* Spawning ninjas, ninja on traitor panel, ninja spawn sound

* Linter

* Objective stuff

* Fixes n grey suits

* Objectives

* Trim intro sound

* Event, spawn point

* Ninja Outfits, Vox Check, Bug Fixes, Mirror at ninja spawn

* Address code review

* Oops

* Uncomments an important thingy

* Update: Gave space ninjas access to maints and an agent ID card. Updated net description.

* Update scanner examine

* Removes excess file

* Makes ninja scanner fit in belts and ninja suits. Gives them NV goggles

* Fixes modsuit sprite issue

* Energy shuriken fixes

* Scanner fix

* Printer fix

* Fixes some runtimes

* Fixes capture teleport

* Clothes rename

* Buffs energy katana, adds soft no-drop to ekatana, buffs ninja modsuit, fixes equip bug

* Adds research levels to ninja gear

* Fixes ninja capture issue

* Remaps ninja dojo

* Better cuff removal

* Forgor

* Fixes action availability

* Updates walls at dojo

* Improves ninja modsuit

* Windoors can now be opened with the katana

* Adds advanced pinpointer to ninja uplink

* Fixed energy nets sticking

* Fixes slime people ninjas

* Adds reroll to ninja capture if target is DNR. Prevents off Z-level targets

* Oop

* Adds reactor sabotage objective.

* Fixes ninja cuffs

* Removes Carp scroll from uplink. Adds Krav Implant to uplink
This commit is contained in:
PollardTheDragon
2026-03-25 23:11:10 +00:00
committed by GitHub
parent 3e8f140498
commit 394c3b0108
120 changed files with 2616 additions and 1184 deletions
+32
View File
@@ -408,6 +408,18 @@
else
. += "thrall|<b>NO</b>"
/datum/mind/proc/memory_edit_space_ninja(mob/living/carbon/human/H)
. = _memory_edit_header("space_ninja")
var/datum/antagonist/space_ninja/ninja = has_antag_datum(/datum/antagonist/space_ninja)
if(ninja)
. += "<b><font color='red'>SPACE NINJA</font></b>|<a href='byond://?src=[UID()];space_ninja=clear'>no</a>"
if(!ninja.has_antag_objectives())
. += "<br>Objectives are empty! <a href='byond://?src=[UID()];space_ninja=autoobjectives'>Randomize!</a>"
else
. += "<a href='byond://?src=[UID()];space_ninja=space_ninja'>space_ninja</a>|<b>NO</b>"
. += _memory_edit_role_enabled(ROLE_NINJA)
/datum/mind/proc/memory_edit_mind_flayer(mob/living/carbon/human/H)
. = _memory_edit_header("mind_flayer")
var/datum/antagonist/mindflayer/flayer = has_antag_datum(/datum/antagonist/mindflayer)
@@ -605,6 +617,8 @@
sections["changeling"] = memory_edit_changeling(H)
/** VAMPIRE ***/
sections["vampire"] = memory_edit_vampire(H)
/** SPACE NINJA */
sections["space_ninja"] = memory_edit_space_ninja(H)
/** MINDFLAYER ***/
sections["mind_flayer"] = memory_edit_mind_flayer(H)
/** HERETIC ***/
@@ -1169,6 +1183,19 @@
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
else if(href_list["space_ninja"])
switch(href_list["space_ninja"])
if("clear")
if(has_antag_datum(/datum/antagonist/space_ninja))
remove_antag_datum(/datum/antagonist/space_ninja)
log_admin("[key_name(usr)] has de-ninja'd [key_name(current)].")
message_admins("[key_name(usr)] has de-ninja'd [key_name(current)].")
if("space_ninja")
make_space_ninja()
log_admin("[key_name(usr)] has ninja'd [key_name(current)].")
to_chat(current, "<b><font color='red'>Your training awakens, and a myserious set of gear teleports in around you... You are a Space Ninja!</font></b>")
message_admins("[key_name(usr)] has ninja'd [key_name(current)].")
else if(href_list["vampthrall"])
switch(href_list["vampthrall"])
if("clear")
@@ -1826,6 +1853,11 @@
add_antag_datum(/datum/antagonist/mindflayer)
SSticker.mode.mindflayers |= src
/datum/mind/proc/make_space_ninja()
if(!has_antag_datum(/datum/antagonist/space_ninja))
add_antag_datum(/datum/antagonist/space_ninja)
SSticker.mode.ninjas |= src
/datum/mind/proc/make_heretic()
if(!has_antag_datum(/datum/antagonist/heretic))
add_antag_datum(/datum/antagonist/heretic)