Skip to content

Commit

Permalink
Merge branch 'master' into ResearcherImplantUpgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
Helg2 authored Dec 21, 2024
2 parents 8181fa3 + ff79898 commit 7bd8e57
Show file tree
Hide file tree
Showing 28 changed files with 367 additions and 65 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/calibers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#define CALIBER_12X7 "12.7 Magnum"
#define CALIBER_44LS ".44 Long Special"
#define CALIBER_500 ".500 Nigro Express"
#define CALIBER_500_EMB ".500 Experimental Medical Bullets" // t312

// SMGs
#define CALIBER_46X30 "4.6x30mm"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/cooldowns.dm
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@
#define COOLDOWN_ARMORED_HORN "cooldown_armored_horn"
#define COOLDOWN_MOB_EX_ACT "mob_ex_act"
#define COOLDOWN_MOUNTED_GUN_ROTATE "mounted_gun_rotate"
#define COOLDOWN_STAMINA "adrenaline_add_stamina"
#define COOLDOWN_CRIT "adrenaline_heal_crit"

//Mecha cooldowns
#define COOLDOWN_MECHA "mecha"
Expand Down
12 changes: 12 additions & 0 deletions code/__DEFINES/loadout.dm
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,16 @@ GLOBAL_LIST_INIT(medic_gear_listed_products, list(
/obj/item/tweezers_advanced = list(CAT_MEDSUP, "Advanced Tweezers", 8, "yellow"),
/obj/effect/vendor_bundle/stretcher = list(CAT_MEDSUP, "Medivac Stretcher", 20, "yellow"),
/obj/item/deployable_optable = list(CAT_MEDSUP, "Deployable Operating Table", 12, "yellow"),
/obj/item/weapon/gun/revolver/t312 = list(CAT_MEDSUP, "R-312 'Albedo' Revolver", 10, "red"),
/obj/item/ammo_magazine/packet/t312/med/adrenaline = list(CAT_MEDSUP, "packet of .500 Adrenaline EMB", 7, "orange2"),
/obj/item/ammo_magazine/packet/t312/med/rr = list(CAT_MEDSUP, "packet of .500 Red Russian EMB", 7, "orange2"),
/obj/item/ammo_magazine/packet/t312/med/md = list(CAT_MEDSUP, "packet of .500 Meraderm EMB", 10, "orange2"),
/obj/item/ammo_magazine/packet/t312/med/neu = list(CAT_MEDSUP, "packet of .500 Neuraline EMB", 10, "orange2"),
/obj/item/ammo_magazine/revolver/t312/med/adrenaline = list(CAT_MEDSUP, "R-312 Adrenaline EMB speed loader", 1, "yellow"),
/obj/item/ammo_magazine/revolver/t312/med/rr = list(CAT_MEDSUP, "R-312 Red Russian EMB speed loader", 1, "yellow"),
/obj/item/ammo_magazine/revolver/t312/med/md = list(CAT_MEDSUP, "R-312 Meraderm EMB speed loader", 1, "yellow"),
/obj/item/ammo_magazine/revolver/t312/med/neu = list(CAT_MEDSUP, "R-312 Neuraline EMB speed loader", 1, "yellow"),
/obj/item/storage/pouch/medkit/t312 = list(CAT_MEDSUP, "Medkit pouch for EMB", 1, "blue"),
))

GLOBAL_LIST_INIT(leader_gear_listed_products, list(
Expand Down Expand Up @@ -428,6 +438,7 @@ GLOBAL_LIST_INIT(synthetic_gear_listed_products, list(
/obj/item/tweezers_advanced = list(CAT_SYNTH, "Advanced Tweezers", 8, "yellow"),
/obj/effect/vendor_bundle/stretcher = list(CAT_SYNTH, "Medivac Stretcher", 20, "yellow"),
/obj/item/deployable_optable = list(CAT_SYNTH, "Deployable Operating Table", 12, "yellow"),
/obj/item/storage/box/t312case = list(CAT_MEDSUP, "R-312 'Albedo' Revolver", 25, "red"), // can buy for other, why not
))

///Assoc list linking the job title with their specific points vendor
Expand Down Expand Up @@ -727,6 +738,7 @@ GLOBAL_LIST_INIT(medic_clothes_listed_products, list(
/obj/item/armor_module/storage/grenade = list(CAT_MOD, "Grenade Storage Module", 0, "black"),
/obj/item/storage/pouch/medical_injectors/medic = list(CAT_POU, "Advanced Autoinjector pouch", 0, "orange"),
/obj/item/storage/pouch/medkit/medic = list(CAT_POU, "Medkit pouch", 0, "orange"),
/obj/item/storage/pouch/medkit/t312/medic = list(CAT_POU, "Medkit pouch for EMB", 0, "orange"),
/obj/effect/vendor_bundle/mimir = list(CAT_ARMMOD, "Mimir Resistance set", 0,"black"),
/obj/item/armor_module/module/ballistic_armor = list(CAT_ARMMOD, "Hod Accident Prevention Plating", 0,"black"),
/obj/effect/vendor_bundle/tyr = list(CAT_ARMMOD, "Mark 1 Tyr extra armor set", 0,"black"),
Expand Down
6 changes: 1 addition & 5 deletions code/__DEFINES/skills.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,8 @@
#define SKILL_LARGE_VEHICLE "large_vehicle"
#define SKILL_MECH_PILOT "mech_pilot"
#define SKILL_STAMINA "stamina"
#define SKILL_SWORDPLAY "swordplay"
////////////////////////////////////////////////

//ability to use elegant melee weapons (i.e. rapiers)
#define SKILL_SWORDPLAY_DEFAULT 0
#define SKILL_SWORDPLAY_TRAINED 1

//firearms skill (general knowledge of guns) (hidden skill)
//increase or decrase accuracy, recoil, and firing delay of rifles and smgs.
#define SKILL_FIREARMS_UNTRAINED 0 //civilian
Expand Down Expand Up @@ -146,6 +141,7 @@
#define SKILL_MELEE_DEFAULT 0
#define SKILL_MELEE_TRAINED 1
#define SKILL_MELEE_SUPER 2
#define SKILL_MELEE_MASTER 3

///The amount of extra damage per melee skill level
#define MELEE_SKILL_DAM_BUFF 0.15
Expand Down
38 changes: 4 additions & 34 deletions code/datums/skills.dm
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@
#define SKILLSID "skills-[cqc]-[melee_weapons]\
-[firearms]-[pistols]-[shotguns]-[rifles]-[smgs]-[heavy_weapons]-[smartgun]\
-[swordplay]\
-[engineer]-[construction]-[leadership]-[medical]-[surgery]-[pilot]-[police]-[powerloader]-[large_vehicle]-[mech_pilot]-[stamina]"

#define SKILLSIDSRC(S) "skills-[S.cqc]-[S.melee_weapons]\
-[S.firearms]-[S.pistols]-[S.shotguns]-[S.rifles]-[S.smgs]-[S.heavy_weapons]-[S.smartgun]\
-[S.swordplay]\
-[S.engineer]-[S.construction]-[S.leadership]-[S.medical]-[S.surgery]-[S.pilot]-[S.police]-[S.powerloader]-[S.large_vehicle]-[mech_pilot]-[S.stamina]"

/proc/getSkills(cqc = 0, melee_weapons = 0,\
firearms = 0, pistols = 0, shotguns = 0, rifles = 0, smgs = 0, heavy_weapons = 0, smartgun = 0,\
swordplay = 0,\
engineer = 0, construction = 0, leadership = 0, medical = 0, surgery = 0, pilot = 0, police = 0, powerloader = 0, large_vehicle = 0, mech_pilot = 0, stamina = 0)
. = locate(SKILLSID)
if(!.)
. = new /datum/skills(cqc, melee_weapons,\
firearms, pistols, shotguns, rifles, smgs, heavy_weapons, smartgun,\
swordplay,\
engineer, construction, leadership, medical, surgery, pilot, police, powerloader, large_vehicle, mech_pilot, stamina)

/proc/getSkillsType(skills_type = /datum/skills)
Expand All @@ -41,9 +37,6 @@ engineer = 0, construction = 0, leadership = 0, medical = 0, surgery = 0, pilot
var/large_vehicle = initial(new_skill.large_vehicle)
var/mech_pilot = initial(new_skill.mech_pilot)
var/stamina = initial(new_skill.stamina)
//RUTGMC EDIT ADDITION BEGIN - SWORDS
var/swordplay = initial(new_skill.swordplay)
//RUTGMC EDIT ADDITION END
. = locate(SKILLSID)
if(!.)
. = new skills_type
Expand Down Expand Up @@ -74,13 +67,10 @@ engineer = 0, construction = 0, leadership = 0, medical = 0, surgery = 0, pilot
var/mech_pilot = SKILL_MECH_PILOT_DEFAULT
///Effects stamina regen rate and regen delay
var/stamina = SKILL_STAMINA_DEFAULT
//RUTGMC EDIT ADDITION BEGIN - SWORDS
var/swordplay = SKILL_SWORDPLAY_DEFAULT
//RUTGMC EDIT ADDITION END


/datum/skills/New(cqc, melee_weapons,\
firearms, pistols, shotguns, rifles, smgs, heavy_weapons, swordplay, smartgun,\
firearms, pistols, shotguns, rifles, smgs, heavy_weapons, smartgun,\
engineer, construction, leadership, medical, surgery, pilot, police, powerloader, large_vehicle, mech_pilot, stamina)
if(!isnull(cqc))
src.cqc = cqc
Expand Down Expand Up @@ -122,15 +112,11 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
src.mech_pilot = mech_pilot
if(!isnull(stamina))
src.stamina = stamina
//RUTGMC EDIT ADDITION BEGIN - SWORDS
if(!isnull(swordplay))
src.swordplay = swordplay
//RUTGMC EDIT ADDITION END
tag = SKILLSIDSRC(src)

/// returns/gets a new skills datum with values changed according to the args passed
/datum/skills/proc/modifyRating(cqc, melee_weapons,\
firearms, pistols, shotguns, rifles, smgs, heavy_weapons, swordplay, smartgun,\
firearms, pistols, shotguns, rifles, smgs, heavy_weapons, smartgun,\
engineer, construction, leadership, medical, surgery, pilot, police, powerloader, large_vehicle, mech_pilot, stamina)
return getSkills(src.cqc+cqc,\
src.melee_weapons+melee_weapons,\
Expand All @@ -140,7 +126,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
src.rifles+rifles,\
src.smgs+smgs,\
src.heavy_weapons+heavy_weapons,\
src.swordplay+swordplay,\
src.smartgun+smartgun,\
src.engineer+engineer,\
src.construction+construction,\
Expand All @@ -164,7 +149,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
src.rifles+difference,\
src.smgs+difference,\
src.heavy_weapons+difference,\
src.swordplay+difference,\
src.smartgun+difference,\
src.engineer+difference,\
src.construction+difference,\
Expand All @@ -191,7 +175,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
(isnull(smgs) ? src.smgs : smgs),\
(isnull(heavy_weapons) ? src.heavy_weapons : heavy_weapons),\
(isnull(smartgun) ? src.smartgun : smartgun),\
(isnull(swordplay) ? src.swordplay : swordplay),\
(isnull(engineer) ? src.engineer : engineer),\
(isnull(construction) ? src.construction : construction),\
(isnull(leadership) ? src.leadership : leadership),\
Expand Down Expand Up @@ -232,7 +215,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
SKILL_SMGS = smgs,
SKILL_HEAVY_WEAPONS = heavy_weapons,
SKILL_SMARTGUN = smartgun,
SKILL_SWORDPLAY = swordplay,
SKILL_ENGINEER = engineer,
SKILL_CONSTRUCTION = construction,
SKILL_LEADERSHIP = leadership,
Expand Down Expand Up @@ -398,7 +380,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
powerloader = SKILL_POWERLOADER_MASTER
firearms = SKILL_FIREARMS_TRAINED
smartgun = SKILL_SMART_TRAINED
swordplay = SKILL_SWORDPLAY_TRAINED


/datum/skills/fo
Expand All @@ -411,7 +392,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
police = SKILL_POLICE_MP
powerloader = SKILL_POWERLOADER_TRAINED
cqc = SKILL_CQC_TRAINED
swordplay = SKILL_SWORDPLAY_TRAINED
smartgun = SKILL_SMART_TRAINED

/datum/skills/so
Expand All @@ -421,7 +401,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
medical = SKILL_MEDICAL_PRACTICED
surgery = SKILL_SURGERY_AMATEUR
police = SKILL_POLICE_MP
swordplay = SKILL_SWORDPLAY_TRAINED

/datum/skills/pilot
name = PILOT_OFFICER
Expand Down Expand Up @@ -491,7 +470,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
construction = SKILL_CONSTRUCTION_METAL
engineer = SKILL_ENGINEER_METAL
police = SKILL_POLICE_MP
swordplay = SKILL_SWORDPLAY_TRAINED

/datum/skills/sl
name = SQUAD_LEADER
Expand All @@ -501,7 +479,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
leadership = SKILL_LEAD_EXPERT
medical = SKILL_MEDICAL_NOVICE
surgery = SKILL_SURGERY_AMATEUR
swordplay = SKILL_SWORDPLAY_TRAINED

/datum/skills/sl/clf
name = "CLF leader"
Expand Down Expand Up @@ -597,7 +574,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
rifles = SKILL_RIFLES_TRAINED
shotguns = SKILL_SHOTGUNS_TRAINED
heavy_weapons = SKILL_HEAVY_WEAPONS_TRAINED
swordplay = SKILL_SWORDPLAY_TRAINED

/datum/skills/commando/medic
name = "Commando Medic"
Expand All @@ -623,7 +599,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
rifles = SKILL_RIFLES_TRAINED
shotguns = SKILL_SHOTGUNS_TRAINED
heavy_weapons = SKILL_HEAVY_WEAPONS_TRAINED
swordplay = SKILL_SWORDPLAY_TRAINED

/datum/skills/admiral
name = "Admiral"
Expand All @@ -633,7 +608,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
surgery = SKILL_SURGERY_AMATEUR
police = SKILL_POLICE_FLASH
powerloader = SKILL_POWERLOADER_TRAINED
swordplay = SKILL_SWORDPLAY_TRAINED

/datum/skills/spatial_agent
name = "Spatial Agent"
Expand All @@ -644,7 +618,7 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
medical = SKILL_MEDICAL_MASTER
cqc = SKILL_CQC_MASTER
surgery = SKILL_SURGERY_EXPERT
melee_weapons = SKILL_MELEE_SUPER
melee_weapons = SKILL_MELEE_MASTER
leadership = SKILL_LEAD_MASTER
pilot = SKILL_PILOT_TRAINED
pistols = SKILL_PISTOLS_TRAINED
Expand All @@ -656,7 +630,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
powerloader = SKILL_POWERLOADER_MASTER
large_vehicle = SKILL_LARGE_VEHICLE_VETERAN
mech_pilot = SKILL_MECH_PILOT_TRAINED
swordplay = SKILL_SWORDPLAY_TRAINED

/* Deathsquad */
/datum/skills/deathsquad
Expand Down Expand Up @@ -722,7 +695,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader

heavy_weapons = SKILL_HEAVY_WEAPONS_TRAINED
smartgun = SKILL_SMART_USE // can use smartgun
swordplay = SKILL_SWORDPLAY_TRAINED

// higher SL skills
engineer = SKILL_ENGINEER_ENGI
Expand All @@ -749,7 +721,6 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
smgs = SKILL_SMGS_TRAINED
heavy_weapons = SKILL_HEAVY_WEAPONS_TRAINED
smartgun = SKILL_SMART_TRAINED
swordplay = SKILL_SWORDPLAY_TRAINED

//endurance = 0 - does nothing
engineer = SKILL_ENGINEER_PLASTEEL
Expand Down Expand Up @@ -808,8 +779,7 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader
medical = SKILL_MEDICAL_MASTER
cqc = SKILL_CQC_MASTER
surgery = SKILL_SURGERY_EXPERT
melee_weapons = SKILL_MELEE_SUPER
melee_weapons = SKILL_MELEE_MASTER
pistols = SKILL_PISTOLS_TRAINED
rifles = SKILL_RIFLES_TRAINED
police = SKILL_POLICE_MP
swordplay = SKILL_SWORDPLAY_TRAINED
5 changes: 5 additions & 0 deletions code/game/objects/items/reagent_containers/pill.dm
Original file line number Diff line number Diff line change
Expand Up @@ -287,3 +287,8 @@
pill_desc = "An oxycodone pill. Best painkiller."
list_reagents = list(/datum/reagent/medicine/oxycodone = 15)
pill_id = 7

/obj/item/reagent_containers/pill/meraderm
pill_desc = "A meralyne and dermaline pill. Heals brute damage at a higher rate than bicaridine and heals burn damage at a higher rate than kelotane"
list_reagents = list(/datum/reagent/medicine/meralyne = 7.5, /datum/reagent/medicine/dermaline = 7.5)
pill_id = 19
37 changes: 36 additions & 1 deletion code/game/objects/items/storage/boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1159,7 +1159,7 @@
closed_overlay = "grenade_box_overlay_training"

/obj/item/storage/box/t500case
name = "\improper R-500 special case"
name = "\improper R-500 'Nigredo' special case"
desc = "High-tech case made by BMSS for delivery their special weapons. Label on this case says: 'This is the greatest handgun ever made. Five bullets. More than enough to kill anything that moves'."
icon = 'icons/obj/items/storage/storage.dmi'
icon_state = "t500case"
Expand Down Expand Up @@ -1190,6 +1190,41 @@
new /obj/item/attachable/t500barrel(src)
new /obj/item/weapon/gun/revolver/t500(src)

/obj/item/storage/box/t312case
name = "R-312 'Albedo' Revolver special case"
desc = "High-tech case made by BMSS for delivery their special weapons. Label on this case says: 'Since we have already called Nigredo death, within the same metaphor we can call Albedo life. It is time to shoot at people legally.'"
icon_state = "med_case"
w_class = WEIGHT_CLASS_NORMAL
max_w_class = 1
storage_slots = 7
max_storage_space = 1
bypass_w_limit = list(
/obj/item/ammo_magazine/packet/t312/med/adrenaline,
/obj/item/ammo_magazine/packet/t312/med/rr,
/obj/item/ammo_magazine/packet/t312/med/md,
/obj/item/ammo_magazine/packet/t312/med/neu,
/obj/item/ammo_magazine/revolver/t312/med/adrenaline,
/obj/item/ammo_magazine/revolver/t312/med/rr,
/obj/item/ammo_magazine/revolver/t312/med/md,
/obj/item/ammo_magazine/revolver/t312/med/neu,
/obj/item/storage/pouch/medkit/t312,
/obj/item/attachable/lace/t500,
/obj/item/weapon/gun/revolver/t312,
)

/obj/item/storage/box/t312case/PopulateContents()
new /obj/item/ammo_magazine/packet/t312/med/adrenaline(src)
new /obj/item/ammo_magazine/packet/t312/med/rr(src)
new /obj/item/ammo_magazine/packet/t312/med/md(src)
new /obj/item/ammo_magazine/packet/t312/med/neu(src)
new /obj/item/ammo_magazine/revolver/t312/med/adrenaline(src)
new /obj/item/ammo_magazine/revolver/t312/med/rr(src)
new /obj/item/ammo_magazine/revolver/t312/med/md(src)
new /obj/item/ammo_magazine/revolver/t312/med/neu(src)
new /obj/item/storage/pouch/medkit/t312(src)
new /obj/item/attachable/lace/t500(src)
new /obj/item/weapon/gun/revolver/t312(src)

#undef BOX_OVERLAY_SHIFT_X
#undef BOX_OVERLAY_SHIFT_Y

Expand Down
9 changes: 9 additions & 0 deletions code/game/objects/items/storage/firstaid.dm
Original file line number Diff line number Diff line change
Expand Up @@ -709,3 +709,12 @@
pill_type_to_fill = /obj/item/reagent_containers/pill/oxycodone
greyscale_colors = "#360570#ffffff"
description_overlay = "Ox"

/obj/item/storage/pill_bottle/meraderm
name = "Meraderm pill bottle"
desc = "Contains pills used to heal cuts and burns, yum!"
icon_state = "pill_canistercomplete"
pill_type_to_fill = /obj/item/reagent_containers/pill/meraderm
greyscale_colors = "#ECFC00#ffffff"
greyscale_config = /datum/greyscale_config/pillbottleround
description_overlay = "MD"
6 changes: 5 additions & 1 deletion code/game/objects/items/storage/holsters.dm
Original file line number Diff line number Diff line change
Expand Up @@ -739,15 +739,19 @@

/obj/item/storage/holster/belt/revolver/t500
name = "\improper BM500 pattern BF revolver holster rig"
desc = "The BM500 is the special modular belt for R-500 BF revolver."
desc = "The BM500 is the special modular belt for BMSS revolvers."
icon = 'icons/obj/clothing/belts.dmi'
icon_state = "t500_holster"
bypass_w_limit = list(/obj/item/weapon/gun/revolver/t500)
can_hold = list(
/obj/item/weapon/gun/revolver/t500,
/obj/item/weapon/gun/revolver/t312,
/obj/item/ammo_magazine/revolver/t500,
/obj/item/ammo_magazine/revolver/t500/slavs,
/obj/item/ammo_magazine/packet/t500,
/obj/item/ammo_magazine/revolver/t312,
/obj/item/ammo_magazine/packet/t312,
/obj/item/ammo_magazine/handful
)

/obj/item/storage/holster/belt/revolver/m44
Expand Down
Loading

0 comments on commit 7bd8e57

Please sign in to comment.