Skip to content

Commit

Permalink
Merge remote-tracking branch 'cmss13-devs/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
ItsVyzo committed Aug 23, 2024
2 parents d68b1ab + dff39de commit 9efaf09
Show file tree
Hide file tree
Showing 80 changed files with 408 additions and 575 deletions.
2 changes: 2 additions & 0 deletions code/__DEFINES/colours.dm
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@
#define LIGHT_COLOR_HOLY_MAGIC "#FFF743"
/// deep crimson
#define LIGHT_COLOR_BLOOD_MAGIC "#D00000"
/// Warm red color rgb(250, 66, 66)
#define LIGHT_COLOR_RED "#ff3b3b"

/* These ones aren't a direct color like the ones above, because nothing would fit */
/// Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
Expand Down
58 changes: 30 additions & 28 deletions code/datums/research_upgrade_datum.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@
var/desc = "something is broken. yippee!!"
///which behavior should this type follow. Should this be completely excluded from the buy menu? should it be one of the dropdown options? or a normal item?
var/behavior = RESEARCH_UPGRADE_EXCLUDE_BUY // should this be on the list?
//This is what gets passed to the initizialize of an item, RESEARCH_UPGRADE_NOTHING_TO_PASS to not pass anything.
var/on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
/// the price of the upgrade, refer to this: 500 is a runner, 8k is queen. T3 is usually 3k, woyer is 2k.
var/value_upgrade = 1000
/// actual path to the item.(upgrade)
var/item_reference
///In which tab the upgrade should be.
var/upgrade_type
///Path to the item, upgrade, if any.
var/item_reference
///Clearance requirment to buy this upgrade. 5x is level 6. Why is it not that way? no one knows.
var/clearance_req = 5
///The change of price for item per purchase, recommended for mass producing stuff or limited upgrade.
Expand All @@ -22,53 +20,65 @@
///the maximum price which we cant go any more expensive, usually dont need to set this if change price is 0 or negative
var/maximum_price = INFINITY

///gets called once the product is purchased, override if you need to pass any special arguments or have special behavior on purchase.
/datum/research_upgrades/proc/on_purchase(turf/machine_loc)
if(isnull(item_reference))
return
new item_reference(machine_loc)

/datum/research_upgrades/machinery
name = "Machinery"
behavior = RESEARCH_UPGRADE_CATEGORY // one on the dropdown choices you get

/datum/research_upgrades/machinery/autodoc
name = "AutoDoc Upgrade"
behavior = RESEARCH_UPGRADE_EXCLUDE_BUY
item_reference = /obj/item/research_upgrades/autodoc
upgrade_type = ITEM_MACHINERY_UPGRADE

/datum/research_upgrades/machinery/autodoc/internal_bleed
name = "AutoDoc Internal Bleeding Repair"
desc = "A data and instruction set for the AutoDoc, making it capable of rapidly fixing internal bleeding."
on_init_argument = RESEARCH_UPGRADE_TIER_1
behavior = RESEARCH_UPGRADE_ITEM
value_upgrade = 200
clearance_req = 1

/datum/research_upgrades/machinery/autodoc/internal_bleed/on_purchase(turf/machine_loc)
new /obj/item/research_upgrades/autodoc(machine_loc, RESEARCH_UPGRADE_TIER_1)

/datum/research_upgrades/machinery/autodoc/broken_bone
name = "AutoDoc Bone Fracture Repair"
desc = "A data instruction set for the AutoDoc, making it capable of setting fractures and applying bonegel."
on_init_argument = RESEARCH_UPGRADE_TIER_2
behavior = RESEARCH_UPGRADE_ITEM
value_upgrade = 2000
clearance_req = 3

/datum/research_upgrades/machinery/autodoc/broken_bone/on_purchase(turf/machine_loc)
new /obj/item/research_upgrades/autodoc(machine_loc, RESEARCH_UPGRADE_TIER_2)

/datum/research_upgrades/machinery/autodoc/organ_damage
name = "AutoDoc Broken Organ Repair"
desc = "A data and instruction set for the AutoDoc, making it capable of fixing organ damage."
on_init_argument = RESEARCH_UPGRADE_TIER_3
behavior = RESEARCH_UPGRADE_ITEM
value_upgrade = 1500
clearance_req = 2

/datum/research_upgrades/machinery/autodoc/organ_damage/on_purchase(turf/machine_loc)
new /obj/item/research_upgrades/autodoc(machine_loc, RESEARCH_UPGRADE_TIER_3)

/datum/research_upgrades/machinery/autodoc/larva_removal
name = "AutoDoc Embryo Removal"
desc = "Data and instruction set for AutoDoc making it mildly proficient in removing parasites left by unknown organism."
on_init_argument = RESEARCH_UPGRADE_TIER_4
behavior = RESEARCH_UPGRADE_ITEM
value_upgrade = 4000
clearance_req = 6

/datum/research_upgrades/machinery/autodoc/larva_removal/on_purchase(turf/machine_loc)
new /obj/item/research_upgrades/autodoc(machine_loc, RESEARCH_UPGRADE_TIER_4)


/datum/research_upgrades/machinery/sleeper
name = "Sleeper Upgrade"
desc = "Research upgrade for Sleeper system, technology on this disk is used on a sleeper to allow wider spectrum of chemicals to be administered, as well as upgrading dialysis software."
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
value_upgrade = 500
item_reference = /obj/item/research_upgrades/sleeper
Expand All @@ -83,10 +93,9 @@
name = "Research Credits"
desc = "Sell the data acquired to the nearest Weyland-Yutani Science division team for 8 or 9 points."
value_upgrade = 2000
item_reference = /obj/item/research_upgrades/credits
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
upgrade_type = ITEM_ACCESSORY_UPGRADE
item_reference = /obj/item/research_upgrades/credits
change_purchase = 500
maximum_price = 5000
clearance_req = 5
Expand All @@ -95,21 +104,20 @@
name = "Laser Scalpel"
desc = "An advanced, robust version of the normal scalpel, allowing it to pierce through thick skin and chitin alike with extreme ease."
value_upgrade = 3000
item_reference = /obj/item/tool/surgery/scalpel/laser/advanced
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
upgrade_type = ITEM_ACCESSORY_UPGRADE
item_reference = /obj/item/tool/surgery/scalpel/laser/advanced
clearance_req = 3

/datum/research_upgrades/item/incision_management
name = "Incision Management System"
desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision, allowing for the immediate commencement of therapeutic steps."
value_upgrade = 3000
item_reference = /obj/item/tool/surgery/scalpel/manager
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
upgrade_type = ITEM_ACCESSORY_UPGRADE
clearance_req = 4
item_reference = /obj/item/tool/surgery/scalpel/manager


/datum/research_upgrades/item/nanosplints
name = "Reinforced Fiber Splints"
Expand All @@ -118,11 +126,12 @@
clearance_req = 3
change_purchase = -200
minimum_price = 200
item_reference = /obj/item/stack/medical/splint/nano/research
on_init_argument = RESEARCH_UPGRADE_TIER_5 //adjust this to change amount of nanosplints in a stack, cant be higher than five, go change max_amount in the nanosplint itself, then change it.
behavior = RESEARCH_UPGRADE_ITEM
upgrade_type = ITEM_ACCESSORY_UPGRADE

/datum/research_upgrades/item/nanosplints/on_purchase(turf/machine_loc)
new /obj/item/stack/medical/splint/nano/research(machine_loc, 5)//adjust this to change amount of nanosplints in a stack, cant be higher than five, go change max_amount in the nanosplint itself, then change it.

/datum/research_upgrades/item/flamer_tank
name = "Upgraded Incinerator Tank"
desc = "An upgraded incinerator tank, with larger capacity and able to handle stronger fuels."
Expand All @@ -131,20 +140,19 @@
change_purchase = 100
minimum_price = 100
maximum_price = 1000
item_reference = /obj/item/ammo_magazine/flamer_tank/custom/upgraded
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
upgrade_type = ITEM_ACCESSORY_UPGRADE
item_reference = /obj/item/ammo_magazine/flamer_tank/custom/upgraded

/datum/research_upgrades/item/flamer_tank/smoke
name = "Upgraded Incinerator Smoke Tank"
desc = "An upgraded incinerator smoke tank with a larger capacity."
value_upgrade = 100 //not useful enough to be expensive
clearance_req = 1
item_reference = /obj/item/ammo_magazine/flamer_tank/smoke/upgraded
change_purchase = 50
minimum_price = 100
maximum_price = 500
item_reference = /obj/item/ammo_magazine/flamer_tank/smoke/upgraded

/datum/research_upgrades/armor
name = "Armor"
Expand All @@ -154,31 +162,28 @@
name = "Universal Translator Plate"
desc = "A uniform-attachable plate capable of translating any unknown language heard by the wearer."
value_upgrade = 2000
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
clearance_req = 6
upgrade_type = ITEM_ARMOR_UPGRADE
item_reference = /obj/item/clothing/accessory/health/research_plate/translator


/datum/research_upgrades/armor/coagulator
name = "Active Blood Coagulator Plate"
desc = "A uniform-attachable plate capable of coagulating any bleeding wounds the user possesses."
value_upgrade = 1200
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
clearance_req = 2
change_purchase = -200
minimum_price = 200
upgrade_type = ITEM_ARMOR_UPGRADE
item_reference = /obj/item/clothing/accessory/health/research_plate/coagulator


/datum/research_upgrades/armor/emergency_injector
name = "Medical Emergency Injector"
desc = "A medical plate with two buttons on the sides and a hefty chemical tank. Attached to a uniform and on a simultaneous press, it injects an emergency dose of medical chemicals much larger than a normal emergency autoinjector. Single time use and is recycled in biomass printer. Features overdose protection."
value_upgrade = 250
clearance_req = 1
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
change_purchase = -100
minimum_price = 100
Expand All @@ -190,7 +195,6 @@
desc = "A strong trauma plate, able to protect the user from a large amount of bullets. Completely useless against sharp objects."
value_upgrade = 500
clearance_req = 4
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
upgrade_type = ITEM_ARMOR_UPGRADE
change_purchase = -50
Expand All @@ -202,10 +206,8 @@
desc = "Preservation plate which activates once the user is dead, uses variety of different substances and sensors to slow down the decay and increase the time before the user is permanently dead, due to small tank of preservatives, it needs to be replaced on each death. Extends time to permadeath by around four minutes."
value_upgrade = 500
clearance_req = 4
on_init_argument = RESEARCH_UPGRADE_NOTHING_TO_PASS
behavior = RESEARCH_UPGRADE_ITEM
upgrade_type = ITEM_ARMOR_UPGRADE
change_purchase = -100
minimum_price = 100
item_reference = /obj/item/clothing/accessory/health/research_plate/anti_decay

4 changes: 0 additions & 4 deletions code/datums/vehicles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@
name = "APC - No FPW"
interior_id = "apc_no_fpw"

/datum/map_template/interior/fancy_locker
name = "Fancy Locker"
interior_id = "fancylocker"

/datum/map_template/interior/tank
name = "Tank"
interior_id = "tank"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_smartgun, list(
list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR),
list("Roller Bed", 5, /obj/item/roller, null, VENDOR_ITEM_REGULAR),
list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR),
list("Smartgun DV9 Battery", 15, /obj/item/smartgun_battery, null, VENDOR_ITEM_REGULAR),
list("DV9 Smartgun Battery", 15, /obj/item/smartgun_battery, null, VENDOR_ITEM_REGULAR),

list("BINOCULARS", 0, null, null, null),
list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR),
Expand Down
3 changes: 3 additions & 0 deletions code/game/objects/effects/landmarks/landmarks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -421,6 +421,9 @@
name = "Nurse late join"
job = JOB_NURSE

/obj/effect/landmark/late_join/intel
name = "Intelligence Officer late join"
job = JOB_INTEL

/obj/effect/landmark/late_join/Initialize(mapload, ...)
. = ..()
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
mouse_drag_pointer = MOUSE_ACTIVE_POINTER
layer = ITEM_LAYER
light_system = MOVABLE_LIGHT
blocks_emissive = EMISSIVE_BLOCK_GENERIC
/// this saves our blood splatter overlay, which will be processed not to go over the edges of the sprite
var/image/blood_overlay = null
var/randpixel = 6
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/defibrillator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@

var/mob/dead/observer/G = H.get_ghost()
if(istype(G) && G.client)
playsound_client(G.client, 'sound/effects/adminhelp_new.ogg')
playsound_client(G.client, 'sound/effects/revive_notify.ogg')
to_chat(G, SPAN_BOLDNOTICE(FONT_SIZE_LARGE("Someone is trying to revive your body. Return to it if you want to be resurrected! \
(Verbs -> Ghost -> Re-enter corpse, or <a href='?src=\ref[G];reentercorpse=1'>click here!</a>)")))

Expand Down
4 changes: 0 additions & 4 deletions code/game/objects/items/reagent_containers/glass.dm
Original file line number Diff line number Diff line change
Expand Up @@ -552,10 +552,6 @@
return
. = ..()

/obj/item/reagent_container/glass/pressurized_canister/set_APTFT()
to_chat(usr, SPAN_WARNING("[src] has no transfer control valve! Use a dispenser to fill it!"))
return

/obj/item/reagent_container/glass/pressurized_canister/on_reagent_change()
update_icon()

Expand Down
4 changes: 4 additions & 0 deletions code/game/objects/items/reagent_containers/hypospray.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@
var/next_inject = 0
var/inject_cd = 0.75 SECONDS

/obj/item/reagent_container/hypospray/Destroy()
QDEL_NULL(mag)
. = ..()

/obj/item/reagent_container/hypospray/attack_self(mob/user)
..()

Expand Down
Loading

0 comments on commit 9efaf09

Please sign in to comment.