Ninja changes (#3851)

This changes the ninja suit to start off with only essential modules. The Ninja now gets telecrystals and access to a restricted uplink category filled with hardsuit modules. Also adds the EMAG hand module, EMP dissipation module, and emergency power generation module. Other changes include a buff across the board for ninja including an increase in their armor values, a buff towards their ninja modules (which they now have to buy), and changing their suit to say "stealth" instead of ominous. This should make the Ninja have a better chance against security while also ensuring it maintains its stealth antag title.

 👍 5
This commit is contained in:
Ron
2017-12-17 11:36:18 +02:00
committed by Erki
parent 57e898d8e8
commit 81e8d371de
9 changed files with 248 additions and 44 deletions
+71
View File
@@ -0,0 +1,71 @@
/***************
* Special Ninja Modules *
***************/
/datum/uplink_item/item/ninja_modules
category = /datum/uplink_category/ninja_modules
/datum/uplink_item/item/ninja_modules/energency_generator
name = "Emergency Power Generator"
desc = "An emergency use power generator that gives 1000 power to the suits battery. Has a long cooldown."
item_cost = 4
path = /obj/item/rig_module/emergency_powergenerator
/datum/uplink_item/item/ninja_modules/energy_net
name = "Energy Net"
desc = "An unlimited use net, if the user has enough power, that can be thrown at others causing them to be trapped. The net can be broken with brute force.."
item_cost = 4
path = /obj/item/rig_module/fabricator/energy_net
/datum/uplink_item/item/ninja_modules/stealth_field
name = "Stealth Field"
desc = "A module that allows the user to go invisible. Consumes power when active."
item_cost = 6
path = /obj/item/rig_module/stealth_field
/datum/uplink_item/item/ninja_modules/normal_grenade_lancher
name = "Standard Grenade Launcher"
desc = "A shoulder mounted grenade launcher with 3 EMP, Smoke, and flashbang grenades.It can be refilled with more grenades."
item_cost = 6
path = /obj/item/rig_module/grenade_launcher
/datum/uplink_item/item/ninja_modules/enery_blade
name = "Energy Blade and dart launcher."
desc = "A module that can produce a powerful energy blade in the users hand. It can also shoot stun-darts."
item_cost = 8
path = /obj/item/rig_module/mounted/energy_blade
/datum/uplink_item/item/ninja_modules/matter_fab
name = "Matter Fabricator"
desc = "A hardsuit matter fabricator that can produce sharp ninja stars used for throwing."
item_cost = 5
path = /obj/item/rig_module/fabricator
/datum/uplink_item/item/ninja_modules/sink
name = "Power Sink"
desc = "A module that sucks power out of powered items and into the users suit."
item_cost = 4
path = /obj/item/rig_module/power_sink
/datum/uplink_item/item/ninja_modules/emag_hand
name = "EMAG Hand Module"
desc = "A module that allows the user to apply an EMAG effect to the targeted item."
item_cost = 5
path = /obj/item/rig_module/emag_hand
/datum/uplink_item/item/ninja_modules/chem_injector
name = "Chemical Injector"
desc = "A chemical injector that allows the user to inject themsleves with medical chemicals."
item_cost = 3
path = /obj/item/rig_module/chem_dispenser
/datum/uplink_item/item/ninja_modules/EMP_Shield
name = "Active EMP Shielding"
desc = "A very complicated module for a hardsuit that protects it to some degree from EMPs."
item_cost = 4
path = /obj/item/rig_module/emp_shielding
/datum/uplink_item/item/ninja_modules/combat_injector
name = "Combat Injector"
desc = "A chemical injector that allows the user to inject themsleves with combat chemicals."
item_cost = 4
path = /obj/item/rig_module/chem_dispenser/combat
+13
View File
@@ -1,15 +1,25 @@
/datum/uplink_category
var/name = ""
var/list/datum/uplink_item/items
var/list/datum/antagonist/antag_roles
/datum/uplink_category/New()
..()
items = list()
/datum/uplink_category/proc/can_view(obj/item/device/uplink/U)
for(var/antag_role in antag_roles)
var/datum/antagonist/antag = all_antag_types[antag_role]
if(antag.is_antagonist(U.uplink_owner))
return 1
for(var/datum/uplink_item/item in items)
if(item.can_view(U))
return 1
if(!antag_roles.len)
return 1
return 0
/datum/uplink_category/ammunition
@@ -51,4 +61,7 @@
/datum/uplink_category/specialty //snowflake antag items - a brave new frontier!
name = "Specialised Items"
/datum/uplink_category/ninja_modules
name = "Infiltration Items"
antag_roles = list(MODE_NINJA)