Skip to content

Commit

Permalink
Nanotrasen Internal Affairs agent
Browse files Browse the repository at this point in the history
  • Loading branch information
MrCastmer committed Aug 29, 2024
1 parent 4dbea93 commit 1c2b564
Show file tree
Hide file tree
Showing 17 changed files with 1,234 additions and 6 deletions.
19 changes: 19 additions & 0 deletions code/datums/components/uplink.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ GLOBAL_LIST_EMPTY(uplinks)
#define NT_ERT_TROOPER 1
#define NT_ERT_MEDIC 2
#define NT_ERT_ENGINEER 3
#define NT_ERT_COMMANDER 4 //dripstation edit
#define NT_ERT_SECURITY_SPECIALIST 5 //dripstation edit
#define NT_SPY 6 //dripstation edit
/**
* Uplinks
*
Expand Down Expand Up @@ -184,8 +187,18 @@ GLOBAL_LIST_EMPTY(uplinks)
continue
if(istype(I, /datum/uplink_item/nt))
var/datum/uplink_item/nt/M = I
/*
if(nt_uplink_type != null && M.required_ert_uplink != null && nt_uplink_type != M.required_ert_uplink) //Different roles in ERT uplinks have different equipment avaliable
continue
*/
if(nt_uplink_type != null && M.required_ert_uplink != null)
var/is_inaccessible = TRUE
for(var/uptype in M.required_ert_uplink)
if(uptype == nt_uplink_type || debug)
is_inaccessible = FALSE
break
if(is_inaccessible)
continue
cat["items"] += list(list(
"name" = I.name,
"cost" = I.manufacturer && user.mind.is_employee(I.manufacturer) ? CEILING(I.cost * 0.8, 1) : I.cost,
Expand Down Expand Up @@ -376,3 +389,9 @@ GLOBAL_LIST_EMPTY(uplinks)
nt_uplink_type = NT_ERT_MEDIC
/datum/component/uplink/nanotrasen/engineer
nt_uplink_type = NT_ERT_ENGINEER
/datum/component/uplink/nanotrasen/commander
nt_uplink_type = NT_ERT_COMMANDER
/datum/component/uplink/nanotrasen/security
nt_uplink_type = NT_ERT_SECURITY_SPECIALIST
/datum/component/uplink/nanotrasen/security
nt_uplink_type = NT_SPY
7 changes: 7 additions & 0 deletions code/modules/uplink/uplink_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
continue
if(I.include_uplinks.len && !(uplink_type in I.include_uplinks))
continue
if(I.exclude_uplinks.len && (uplink_type in I.exclude_uplinks)) //dripstation edit
continue //dripstation edit
if(I.include_modes.len)
if(!gamemode && SSticker.mode && !(SSticker.mode.type in I.include_modes))
continue
Expand Down Expand Up @@ -97,6 +99,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
var/cant_discount = FALSE
var/limited_stock = -1 //Setting this above zero limits how many times this item can be bought by the same traitor in a round, -1 is unlimited
var/list/include_uplinks = list("Uplink") // Uplink types this is in
var/list/exclude_uplinks = list() // Uplink types disallow this item from
var/list/include_modes = list() // Game modes to allow this item in.
var/list/exclude_modes = list() // Game modes to disallow this item from.
var/list/restricted_roles = list() //If this uplink item is only available to certain roles. Roles are dependent on the frequency chip or stored ID.
Expand Down Expand Up @@ -651,6 +654,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/stealthy_weapons
category = "Stealthy Weapons"

/* Dripstation edit
/datum/uplink_item/stealthy_weapons/combatglovesplus
name = "Combat Gloves Plus"
desc = "A pair of gloves that are fireproof and shock resistant, however unlike the regular Combat Gloves this one uses nanotechnology \
Expand All @@ -659,6 +663,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 5
include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops)
surplus = 0
*/

/datum/uplink_item/stealthy_weapons/cqc
name = "CQC Manual"
Expand Down Expand Up @@ -2891,6 +2896,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cant_discount = TRUE //no i dont want amber erts with tasers thanks
var/required_ert_uplink = null //Do we need a specific uplink? Defaults to universal.

/* Dripstation edit
/datum/uplink_item/nt/energy_weps
category = "Energy Weapons"
Expand Down Expand Up @@ -3540,3 +3546,4 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
desc = "Omnizine infused gummy bears. Grape flavor. Chew throughly!"
item = /obj/item/storage/pill_bottle/gummies/omnizine
cost = 1
*/
42 changes: 42 additions & 0 deletions modular_dripstation/code/game/objects/items/weaponry.dm
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,48 @@
new /obj/item/melee/sabre/syndie(src)
update_appearance(UPDATE_ICON)

/obj/item/storage/belt/sabre/cane
name = "cane"
desc = "A cane used by a true gentleman. Or a clown."
icon = 'icons/obj/weapons/misc.dmi'
icon_state = "canesheath"
item_state = "stick"
lefthand_file = 'modular_dripstation/icons/mob/inhands/melee_lefthand.dmi'
righthand_file = 'modular_dripstation/icons/mob/inhands/melee_righthand.dmi'
icon = 'modular_dripstation/icons/obj/weapons/blades.dmi'
force = 5
throwforce = 5
w_class = WEIGHT_CLASS_SMALL
attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed")

/obj/item/storage/belt/sabre/cane/Initialize(mapload)
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_items = 1
STR.rustle_sound = FALSE
STR.max_w_class = WEIGHT_CLASS_BULKY
STR.set_holdable(list(
/obj/item/melee/sabre/cane
))


/obj/item/storage/belt/sabre/cane/PopulateContents()
new /obj/item/melee/sabre/cane(src)
update_appearance(UPDATE_ICON)

/obj/item/melee/sabre/cane
name = "\improper stealth blade"
desc = "An elegant plastitanium combat ready stealth blade, its edge isn`t that robust, but capable of hurting badly."
icon = 'modular_dripstation/icons/obj/weapons/blades.dmi'
lefthand_file = 'modular_dripstation/icons/mob/inhands/melee_lefthand.dmi'
righthand_file = 'modular_dripstation/icons/mob/inhands/melee_righthand.dmi'
icon_state = "sabre"
force = 20
block_chance = 50
armour_penetration = 20
wound_bonus = -20
bare_wound_bonus = 30

/obj/item/melee/ntrep_cane
name = "\improper NanoTrasen Representative`s cane"
desc = "A compact yet robust personal defense weapon."
Expand Down
27 changes: 27 additions & 0 deletions modular_dripstation/code/modules/clothing/combatrig.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1244,6 +1244,33 @@
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/sbo/commsoff


//////Merc suit designes//////
//////Standart merk rig//////
/obj/item/clothing/head/helmet/space/hardsuit/syndi/merk
name = "merk RIG helmet"
desc = "An austere tactical helmet used by paramilitary groups across human space."
icon_state = "freemerk_helm"
hardsuit_type = "freemerk"
light_range = 6
armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 25, BOMB = 50, BIO = 100, RAD = 50, FIRE = 75, ACID = 90, WOUND = 25, ELECTRIC = 100)
heat_protection = HEAD
toggled_for_heat_protecting = FALSE
light_color = LIGHT_COLOR_DEFAULT

/obj/item/clothing/suit/space/hardsuit/syndi/merk
name = "merk RIG"
desc = "An austere RIG used by paramilitary groups across human space."
icon_state = "freemerk_rig"
hardsuit_type = "freemerk"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/merk
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/tank/jetpack/oxygen/harness)
armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 25, BOMB = 50, BIO = 100, RAD = 50, FIRE = 75, ACID = 90, WOUND = 25, ELECTRIC = 100)
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
lightweight = 0
toggled_for_heat_protecting = FALSE
combat_slowdown = 0


//////Military suit designes//////
/obj/item/clothing/head/helmet/space/hardsuit/syndi/military
name = "military RIG helmet"
Expand Down
19 changes: 19 additions & 0 deletions modular_dripstation/code/modules/paperwork/pen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,3 +136,22 @@
item_state = initial(item_state)
lefthand_file = initial(lefthand_file)
righthand_file = initial(righthand_file)

/obj/item/pen/red/edagger/nt
desc = "It's a normal black ink pen."
icon_state = "pen"
item_state = "pen"
colour = "black"

/obj/item/pen/red/edagger/nt/update_icon()
. = ..()
if(on)
icon_state = "eknife"
item_state = "eknife"
lefthand_file = 'modular_dripstation/icons/mob/inhands/melee_lefthand.dmi'
righthand_file = 'modular_dripstation/icons/mob/inhands/melee_righthand.dmi'
else
icon_state = initial(icon_state) //looks like a normal pen when off.
item_state = initial(item_state)
lefthand_file = initial(lefthand_file)
righthand_file = initial(righthand_file)
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
ammo_x_offset = 2
charge_sections = 2

/obj/item/gun/energy/ionrifle/pistol/stealth
desc = "Ion Projector is a compact ion pistol, built for personal defense."

/obj/item/gun/energy/ionrifle/cybersun
name = "compact ion rifle"
desc = "The CS-I7 Prototype Ion Projector is a compact ion rifle, built to be very ergonomic and deadly efficient."
Expand Down
Loading

0 comments on commit 1c2b564

Please sign in to comment.