Skip to content

Commit

Permalink
Adds medikit for synthetic (IPC) repairs to cargo and syndicate uplin…
Browse files Browse the repository at this point in the history
…k + misc. changes (#2598)
  • Loading branch information
Bokkiewokkie authored Mar 1, 2024
1 parent 2bf69e3 commit 2f57086
Show file tree
Hide file tree
Showing 13 changed files with 143 additions and 36 deletions.
Binary file modified icons/mob/aibots.dmi
Binary file not shown.
3 changes: 3 additions & 0 deletions nsv13/code/__DEFINES/robot_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@

/// Module is compatible with Cargo Cyborg Module
#define BORG_MODULE_CARGO (BORG_MODULE_ENGINEERING<<1)

// Medbot first aid kit skin
#define MEDBOT_SKIN_ROBOT "robot"
13 changes: 1 addition & 12 deletions nsv13/code/game/objects/items/munitions_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -140,20 +140,9 @@
icon_state = "muniband"


///////BOX////////
/obj/item/storage/box/radiokey/mun
name = "box of munitions radio keys"
desc = "Grants access to munitions and supply radio."
radio_key = /obj/item/encryptionkey/munitions_tech

/obj/item/storage/box/radiokey/pilot
name = "box of pilot radio keys"
desc = "Grants access to air traffic control and munitions radio."
radio_key = /obj/item/encryptionkey/pilot

///////ATC STICKS///////
/obj/item/flashlight/atc_wavy_sticks //I dont know what theyre actually called :)
name = "Aircraft sigalling sticks"
name = "Aircraft signalling sticks"
desc = "A large set of fluorescent sticks used to direct aircraft around the hangar bay."
icon = 'nsv13/icons/objects/lighting.dmi'
icon_state = "wavystick"
Expand Down
118 changes: 108 additions & 10 deletions nsv13/code/game/objects/items/storage_items.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
/*
This file contains various storage items in this order:
ammo boxes
normal boxes
syndie kit boxes
first aid/medikits
reagent containers
*/

//Ammo Boxes

/obj/item/storage/toolbox/ammo/shotgun
name = "ammo box (12ga buckshot)"
desc = "It contains a few buckshot rounds."
Expand All @@ -24,6 +37,8 @@
new /obj/item/ammo_casing/shotgun/beanbag(src)
new /obj/item/ammo_casing/shotgun/beanbag(src)

//Regular Boxes

/obj/item/storage/box/cookie
name = "box of cookies"
desc = "It contains a few cookies for good patients."
Expand All @@ -37,16 +52,6 @@
new /obj/item/reagent_containers/food/snacks/sugarcookie/spookyskull( src )
new /obj/item/reagent_containers/food/snacks/sugarcookie/spookyskull( src )

/obj/item/storage/box/syndie_kit/maid/PopulateContents()
new /obj/item/clothing/head/maidheadband/syndicate(src)
new /obj/item/clothing/under/syndicate/maid(src)
new /obj/item/clothing/gloves/combat/maid(src)
new /obj/item/clothing/accessory/maidapron/syndicate(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/soap/syndie(src)
new /obj/item/reagent_containers/glass/bucket(src)
new /obj/item/mop/sharp(src)

/obj/item/storage/box/beakers/large_mix/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/reagent_containers/glass/beaker/large( src )
Expand All @@ -63,6 +68,40 @@
new /obj/item/clothing/gloves/maid(src)
new /obj/item/clothing/under/costume/maid(src)

/obj/item/storage/box/radiokey/mun
name = "box of munitions radio keys"
desc = "Grants access to munitions and supply radio."
radio_key = /obj/item/encryptionkey/munitions_tech

/obj/item/storage/box/radiokey/pilot
name = "box of pilot radio keys"
desc = "Grants access to air traffic control and munitions radio."
radio_key = /obj/item/encryptionkey/pilot

/obj/item/storage/box/squad_lanyards
name = "Spare squad lanyards"
desc = "A box filled with lanyards for assigning personnel into squads. Repaint them using the squad management console and pass them out."
icon = 'nsv13/icons/obj/storage.dmi'
illustration = "lanyard"

/obj/item/storage/box/squad_lanyards/PopulateContents()
generate_items_inside(list(/obj/item/clothing/neck/squad = 10),src)

//Syndie Kit Boxes

/obj/item/storage/box/syndie_kit/maid
name = "emergency maid kit"

/obj/item/storage/box/syndie_kit/maid/PopulateContents()
new /obj/item/clothing/head/maidheadband/syndicate(src)
new /obj/item/clothing/under/syndicate/maid(src)
new /obj/item/clothing/gloves/combat/maid(src)
new /obj/item/clothing/accessory/maidapron/syndicate(src)
new /obj/item/clothing/shoes/jackboots(src)
new /obj/item/soap/syndie(src)
new /obj/item/reagent_containers/glass/bucket(src)
new /obj/item/mop/sharp(src)

/obj/item/storage/box/syndie_kit/plushie
name = "\improper DIY plushbomb kit"

Expand All @@ -71,3 +110,62 @@
new /obj/item/kitchen/knife/combat/survival(src)
new /obj/item/grenade/syndieminibomb(src)
new /obj/item/screwdriver(src)

//First aid kits

/obj/item/storage/firstaid/robot
name = "robotic treatment kit"
desc = "Used to treat wounds and afflictions of robotic lifeforms."
icon = 'nsv13/icons/obj/storage.dmi'
icon_state = "firstaid-robot"
item_state = "firstaid-robot"
lefthand_file = 'nsv13/icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'nsv13/icons/mob/inhands/equipment/medical_righthand.dmi'
skin_type = MEDBOT_SKIN_ROBOT

/obj/item/storage/firstaid/robot/Initialize(mapload)
. = ..()
icon_state = pick("firstaid-robot","firstaid-robotalt")

/obj/item/storage/firstaid/robot/PopulateContents()
if(empty)
return
var/static/items_inside = list(
/obj/item/weldingtool = 1,
/obj/item/clothing/glasses/welding = 1,
/obj/item/stack/cable_coil/random = 1,
/obj/item/reagent_containers/hypospray/medipen/system_cleaner = 2,
/obj/item/reagent_containers/glass/bottle/radioactive_disinfectant = 1,
/obj/item/reagent_containers/syringe = 1,
/obj/item/healthanalyzer = 1)
generate_items_inside(items_inside,src)

//Reagent containers

/obj/item/reagent_containers/glass/bottle/solder
name = "solder bottle"
label_name = "solder"
desc = "A small bottle. Contains liquid solder. Useful for repairing synthethic brain damage."
list_reagents = list(/datum/reagent/medicine/liquid_solder = 30)

/obj/item/reagent_containers/glass/bottle/radioactive_disinfectant
name = "radioactive disinfectant bottle"
label_name = "radioactive disinfectant"
desc = "A small bottle. Contains radioactive disinfectant. Useful for purging irradiation from synthethics."
list_reagents = list(/datum/reagent/medicine/radioactive_disinfectant = 30)

/obj/item/reagent_containers/glass/bottle/system_cleaner
name = "system cleaner bottle"
label_name = "system cleaner"
desc = "A small bottle. Contains system cleaner. Useful for purging toxic chemicals and toxins from synthetics."
list_reagents = list(/datum/reagent/medicine/system_cleaner = 30)

/obj/item/reagent_containers/hypospray/medipen/system_cleaner
name = "system cleaner medipen"
icon = 'nsv13/icons/obj/nsv13_syringe.dmi'
icon_state = "syscleanpen"
item_state = "syscleanpen"
lefthand_file = 'nsv13/icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'nsv13/icons/mob/inhands/equipment/medical_righthand.dmi'
desc = "A autoinjector containing system cleaner, used to purge toxins from synthetics quickly."
list_reagents = list(/datum/reagent/medicine/system_cleaner = 10)
10 changes: 10 additions & 0 deletions nsv13/code/modules/cargo/packs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -818,6 +818,16 @@
/obj/item/reagent_containers/glass/bottle/sacid)
crate_name = "Chemical Supply Crate - Chalcogens"

/datum/supply_pack/medical/robotic_firstaid
name = "Synthethic Treatment Kits Crate"
desc = "Contains three robotic first aid kits for all of your synthetic repairing needs. Tools, radioactive disinfectant and system cleaner medipens included."
contains = list(/obj/item/storage/firstaid/robot,
/obj/item/storage/firstaid/robot,
/obj/item/storage/firstaid/robot)
cost = 1400
small_item = TRUE
crate_name = "synthethic treatment kits crate"

/datum/supply_pack/materials/plasma_canister //Purely used for the Serendipity's plasma caster
name = "Phoron Canister"
desc = "A single can of phoron gas, for all your plasma needs!"
Expand Down
14 changes: 11 additions & 3 deletions nsv13/code/modules/reagents/chemistry/reagents/drug_reagents.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/datum/reagent/drug/highjack //NSV13
/datum/reagent/drug/highjack
name = "Highjack"
description = "Repairs brain damage in synthetics."
color = "#271509"
Expand All @@ -16,5 +16,13 @@
/datum/reagent/drug/highjack/overdose_process(mob/living/M)
var/obj/item/bodypart/head/head = M.get_bodypart("head")
if(prob(30))
to_chat(M, "<span class='userdanger'>You feel really lightheaded...</span>")
head.dismember()
if(head)
to_chat(M, "<span class='userdanger'>You feel really lightheaded...</span>")
head.dismember()
else
to_chat(M,"<span class='userdanger'>You can feel oil leaking from your headless neck.</span>")
//Because the Bleed() proc doesn't work for species without blood datums, just make oil like silicons
var/turf/T = get_turf(src)
var/obj/effect/decal/cleanable/oil/B = locate() in T.contents
if(!B)
B = new(T)
9 changes: 0 additions & 9 deletions nsv13/code/modules/squads/squad_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -229,15 +229,6 @@
. = ..()
apply_squad(squad)

/obj/item/storage/box/squad_lanyards
name = "Spare squad lanyards"
desc = "A box filled with lanyards for assigning personnel into squads. Repaint them using the squad management console and pass them out."

/obj/item/storage/box/squad_lanyards/PopulateContents()
for(var/I = 0; I < 10; I++){
new /obj/item/clothing/neck/squad(src)
}


//When initialized, if passed a squad already, apply its reskin.

Expand Down
12 changes: 10 additions & 2 deletions nsv13/code/modules/uplink/uplink_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,15 @@
/datum/uplink_item/explosives/fighterplushie
name = "Plushie Bomb Kit"
desc = "A kit with all of the tools and items required to assemble your very own plushie bomb! \
Take out the unsuspecting Nanotrasen scum with a gift they'll never expect. \
Contains a Syndicate light fighter plush, syndicate minibomb, screwdriver and a survival knife"
Take out the clueless Nanotrasen scum with a gift they'll never expect. \
Contains a Syndicate light fighter plush, syndicate minibomb, screwdriver and a survival knife."
item = /obj/item/storage/box/syndie_kit/plushie
cost = 8

/datum/uplink_item/race_restricted/robotic_firstaid
name = "Robotic First-Aid Kit"
desc = "A first-aid kit with all of the tools required to repair a positronic chassis.\
Also comes with a radioactive disinfectant bottle and system cleaner medipens."
item = /obj/item/storage/firstaid/robot
restricted_species = list(SPECIES_IPC)
cost = 3
Binary file modified nsv13/icons/mob/aibots.dmi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified nsv13/icons/obj/nsv13_syringe.dmi
Binary file not shown.
Binary file modified nsv13/icons/obj/storage.dmi
Binary file not shown.

0 comments on commit 2f57086

Please sign in to comment.