diff --git a/code/datums/antagonists/ninja.dm b/code/datums/antagonists/ninja.dm index b08ad16665..f51b22dde2 100644 --- a/code/datums/antagonists/ninja.dm +++ b/code/datums/antagonists/ninja.dm @@ -18,36 +18,8 @@ ..(new_owner) helping_station = rand(0,1) -/datum/antagonist/ninja/proc/equip_space_ninja(mob/living/carbon/human/H = owner.current, safety=0)//Safety in case you need to unequip stuff for existing characters. - if(safety) - qdel(H.w_uniform) - qdel(H.wear_suit) - qdel(H.wear_mask) - qdel(H.head) - qdel(H.shoes) - qdel(H.gloves) - - var/obj/item/clothing/suit/space/space_ninja/theSuit = new(H) - var/obj/item/dash/energy_katana/EK = new(H) - theSuit.energyKatana = EK - - H.equip_to_slot_or_del(new /obj/item/device/radio/headset(H), slot_ears) - H.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/space_ninja(H), slot_shoes) - H.equip_to_slot_or_del(theSuit, slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/gloves/space_ninja(H), slot_gloves) - H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/space_ninja(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/space_ninja(H), slot_wear_mask) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(H), slot_glasses) - H.equip_to_slot_or_del(EK, slot_belt) - H.equip_to_slot_or_del(new /obj/item/grenade/plastic/x4(H), slot_l_store) - H.equip_to_slot_or_del(new /obj/item/tank/internals/emergency_oxygen(H), slot_s_store) - H.equip_to_slot_or_del(new /obj/item/tank/jetpack/carbondioxide(H), slot_back) - theSuit.randomize_param() - - var/obj/item/implant/explosive/E = new/obj/item/implant/explosive(H) - E.implant(H) - return 1 +/datum/antagonist/ninja/proc/equip_space_ninja(mob/living/carbon/human/H = owner.current) + return H.equipOutfit(/datum/outfit/ninja) /datum/antagonist/ninja/proc/addMemories() owner.store_memory("I am an elite mercenary assassin of the mighty Spider Clan. A SPACE NINJA!") diff --git a/code/datums/outfit.dm b/code/datums/outfit.dm index 8d4413171d..3c3ab905ea 100755 --- a/code/datums/outfit.dm +++ b/code/datums/outfit.dm @@ -102,10 +102,10 @@ if(implants) for(var/implant_type in implants) var/obj/item/implant/I = new implant_type(H) - I.implant(H, null, silent=TRUE) + I.implant(H, null, TRUE) H.update_body() - return 1 + return TRUE /datum/outfit/proc/apply_fingerprints(mob/living/carbon/human/H) if(!istype(H)) diff --git a/code/modules/ninja/ninja_event.dm b/code/modules/ninja/ninja_event.dm index 8ff3652367..a3184cbb20 100644 --- a/code/modules/ninja/ninja_event.dm +++ b/code/modules/ninja/ninja_event.dm @@ -71,13 +71,9 @@ Contents: var/datum/antagonist/ninja/ninjadatum = add_ninja(Ninja) ninjadatum.equip_space_ninja() - Ninja.internal = Ninja.s_store - Ninja.update_internals_hud_icon(1) - if(Ninja.mind != Mind) //something has gone wrong! throw EXCEPTION("Ninja created with incorrect mind") - SSticker.mode.update_ninja_icons_added(Ninja) spawned_mobs += Ninja message_admins("[key_name_admin(Ninja)] has been made into a ninja by an event.") diff --git a/code/modules/ninja/outfit.dm b/code/modules/ninja/outfit.dm new file mode 100644 index 0000000000..4ec9cde23c --- /dev/null +++ b/code/modules/ninja/outfit.dm @@ -0,0 +1,25 @@ +/datum/outfit/ninja + name = "Space Ninja" + uniform = /obj/item/clothing/under/color/black + suit = /obj/item/clothing/suit/space/space_ninja + glasses = /obj/item/clothing/glasses/night + mask = /obj/item/clothing/mask/gas/space_ninja + head = /obj/item/clothing/head/helmet/space/space_ninja + ears = /obj/item/device/radio/headset + shoes = /obj/item/clothing/shoes/space_ninja + gloves = /obj/item/clothing/gloves/space_ninja + back = /obj/item/tank/jetpack/carbondioxide + l_pocket = /obj/item/grenade/plastic/x4 + r_pocket = /obj/item/tank/internals/emergency_oxygen + internals_slot = slot_r_store + belt = /obj/item/dash/energy_katana + implants = list(/obj/item/implant/explosive) + + +/datum/outfit/ninja/post_equip(mob/living/carbon/human/H) + if(istype(H.wear_suit, suit)) + var/obj/item/clothing/suit/space/space_ninja/S = H.wear_suit + if(istype(H.belt, belt)) + S.energyKatana = H.belt + S.randomize_param() + diff --git a/tgstation.dme b/tgstation.dme index 986a748818..dbfeb68502 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1905,6 +1905,7 @@ #include "code\modules\ninja\energy_katana.dm" #include "code\modules\ninja\ninja_event.dm" #include "code\modules\ninja\Ninja_Readme.dm" +#include "code\modules\ninja\outfit.dm" #include "code\modules\ninja\suit\gloves.dm" #include "code\modules\ninja\suit\head.dm" #include "code\modules\ninja\suit\mask.dm"