Added the Hippocrates bust to medbay heirlooms (#78121)

## About The Pull Request

Remade from #77961 because coders dont like bloat in prs

Added the Hippocrates bust to medbay heirlooms. Paramedics don't get
one.

You can now swear the Hippocratic oath with these busts! It'll give you
pacifism but nothing else. The process is reversible.

There's a very small chance that the Hippocrates bust was once wielded
by a certain German doctor. This chance is increased for coroner
heirlooms.

## Why It's Good For The Game

> Added the Hippocrates bust to medbay heirlooms. Paramedics don't get
one.

I got this idea and I just couldn't get it out of my head, it's too
funny. Paramedics don't get one because they're powergamers and laugh at
the Oath, and also it doesn't feel like a paramedic thing.

> You can now swear the Hippocratic oath with these busts! It'll give
you pacifism but nothing else. The process is reversible.

This is just a little fun thing you can choose to do, i think it'd be
cute to see doctors swearing the oath in medbay. Plus it's reversible
which can be even funnier depending on the occassion.

> There's a very small chance that the Hippocrates bust was once wielded
by a certain German doctor. This chance is increased for coroner
heirlooms.

We DO already have precedent for references with the entrenching tool
after all. The buff isn't all that special in reality, getting a medical
hud while in your hand is... basically irrelevant for the roles that
literally spawn with a med hud? It's just for accuracy and rule of
cool's sake.

## Changelog

🆑
add: Added the Hippocrates bust to medbay heirlooms. Paramedics don't
get one.
add: You can now swear the Hippocratic oath with these busts! It'll give
you pacifism but nothing else. The process is reversible.
add: There's a very small chance that the Hippocrates bust was once
wielded by a certain German doctor. This chance is increased for coroner
heirlooms.
/🆑

---------

Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
This commit is contained in:
carlarctg
2023-09-24 07:27:43 +00:00
committed by GitHub
co-authored by Arturlang
parent b292ed9484
commit 06eda01ea0
5 changed files with 101 additions and 5 deletions
+4 -2
View File
@@ -99,10 +99,12 @@ DEFINE_BITFIELD(status_flags, list(
//click cooldowns, in tenths of a second, used for various combat actions
#define CLICK_CD_MELEE 8
#define CLICK_CD_THROW 8
#define CLICK_CD_RANGE 4
#define CLICK_CD_RAPID 2
#define CLICK_CD_HYPER_RAPID 1
#define CLICK_CD_SLOW 10
#define CLICK_CD_THROW 8
#define CLICK_CD_RANGE 4
#define CLICK_CD_CLICK_ABILITY 6
#define CLICK_CD_BREAKOUT 100
#define CLICK_CD_HANDCUFFED 10
+94
View File
@@ -620,6 +620,100 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
desc = "A bust of the famous Greek physician Hippocrates of Kos, often referred to as the father of western medicine."
icon_state = "hippocratic"
impressiveness = 50
// If it hits the prob(reference_chance) chance, this is set to TRUE. Adds medical HUD when wielded, but has a 10% slower attack speed and is too bloody to make an oath with.
var/reference = FALSE
// Chance for above.
var/reference_chance = 1
// Minimum time inbetween oaths.
COOLDOWN_DECLARE(oath_cd)
/obj/item/statuebust/hippocratic/evil
reference_chance = 100
/obj/item/statuebust/hippocratic/Initialize(mapload)
. = ..()
if(prob(reference_chance))
name = "Solemn Vow"
desc = "Art lovers will cherish the bust of Hippocrates, commemorating a time when medics still thought doing no harm was a good idea."
attack_speed = CLICK_CD_SLOW
reference = TRUE
/obj/item/statuebust/hippocratic/examine(mob/user)
. = ..()
if(reference)
. += span_notice("You could activate the bust in-hand to swear or forswear a Hippocratic Oath... but it seems like somebody decided it was more of a Hippocratic Suggestion. This thing is caked with bits of blood and gore.")
return
. += span_notice("You can activate the bust in-hand to swear or forswear a Hippocratic Oath! This has no effects except pacifism or bragging rights. Does not remove other sources of pacifism. Do not eat.")
/obj/item/statuebust/hippocratic/equipped(mob/living/carbon/human/user, slot)
..()
if(!(slot & ITEM_SLOT_HANDS))
return
var/datum/atom_hud/our_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
our_hud.show_to(user)
ADD_TRAIT(user, TRAIT_MEDICAL_HUD, type)
/obj/item/statuebust/hippocratic/dropped(mob/living/carbon/human/user)
..()
if(HAS_TRAIT_NOT_FROM(user, TRAIT_MEDICAL_HUD, type))
return
var/datum/atom_hud/our_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
our_hud.hide_from(user)
REMOVE_TRAIT(user, TRAIT_MEDICAL_HUD, type)
/obj/item/statuebust/hippocratic/attack_self(mob/user)
if(!iscarbon(user))
to_chat(user, span_warning("You remember how the Hippocratic Oath specifies 'my fellow human beings' and realize that it's completely meaningless to you."))
return
if(reference)
to_chat(user, span_warning("As you prepare yourself to swear the Oath, you realize that doing so on a blood-caked bust is probably not a good idea."))
return
if(!COOLDOWN_FINISHED(src, oath_cd))
to_chat(user, span_warning("You've sworn or forsworn an oath too recently to undo your decisions. The bust looks at you with disgust."))
return
COOLDOWN_START(src, oath_cd, 5 MINUTES)
if(HAS_TRAIT_FROM(user, TRAIT_PACIFISM, type))
to_chat(user, span_warning("You've already sworn a vow. You start preparing to rescind it..."))
if(do_after(user, 5 SECONDS, target = user))
user.say("Yeah this Hippopotamus thing isn't working out. I quit!", forced = "hippocratic hippocrisy")
REMOVE_TRAIT(user, TRAIT_PACIFISM, type)
// they can still do it for rp purposes
if(HAS_TRAIT_NOT_FROM(user, TRAIT_PACIFISM, type))
to_chat(user, span_warning("You already don't want to harm people, this isn't going to do anything!"))
to_chat(user, span_notice("You remind yourself of the Hippocratic Oath's contents and prepare to swear yourself to it..."))
if(do_after(user, 4 SECONDS, target = user))
user.say("I swear to fulfill, to the best of my ability and judgment, this covenant:", forced = "hippocratic oath")
else
return fuck_it_up(user)
if(do_after(user, 2 SECONDS, target = user))
user.say("I will apply, for the benefit of the sick, all measures that are required, avoiding those twin traps of overtreatment and therapeutic nihilism.", forced = "hippocratic oath")
else
return fuck_it_up(user)
if(do_after(user, 3 SECONDS, target = user))
user.say("I will remember that I remain a member of society, with special obligations to all my fellow human beings, those sound of mind and body as well as the infirm.", forced = "hippocratic oath")
else
return fuck_it_up(user)
if(do_after(user, 3 SECONDS, target = user))
user.say("If I do not violate this oath, may I enjoy life and art, respected while I live and remembered with affection thereafter. May I always act so as to preserve the finest traditions of my calling and may I long experience the joy of healing those who seek my help.", forced = "hippocratic oath")
else
return fuck_it_up(user)
to_chat(user, span_notice("Contentment, understanding, and purpose washes over you as you finish the oath. You consider for a second the concept of harm and shudder."))
ADD_TRAIT(user, TRAIT_PACIFISM, type)
// Bully the guy for fucking up.
/obj/item/statuebust/hippocratic/proc/fuck_it_up(mob/living/carbon/user)
to_chat(user, span_warning("You forget what comes next like a dumbass. The Hippocrates bust looks down on you, disappointed."))
user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2)
COOLDOWN_RESET(src, oath_cd)
/obj/item/tailclub
name = "tail club"
@@ -38,7 +38,7 @@
/obj/effect/spawner/random/medical/surgery_tool_advanced = 4,
/obj/effect/spawner/random/medical/surgery_tool_alien = 1
)
family_heirlooms = list(/obj/item/storage/medkit/ancient/heirloom, /obj/item/scalpel, /obj/item/hemostat, /obj/item/circular_saw, /obj/item/retractor, /obj/item/cautery)
family_heirlooms = list(/obj/item/storage/medkit/ancient/heirloom, /obj/item/scalpel, /obj/item/hemostat, /obj/item/circular_saw, /obj/item/retractor, /obj/item/cautery, /obj/item/statuebust/hippocratic)
rpg_title = "High Cleric"
job_flags = STATION_JOB_FLAGS | JOB_BOLD_SELECT_TEXT | JOB_CANNOT_OPEN_SLOTS
@@ -24,7 +24,7 @@
/datum/job_department/medical,
)
family_heirlooms = list(/obj/item/storage/medkit/ancient/heirloom, /obj/item/scalpel, /obj/item/hemostat, /obj/item/circular_saw, /obj/item/retractor, /obj/item/cautery)
family_heirlooms = list(/obj/item/storage/medkit/ancient/heirloom, /obj/item/scalpel, /obj/item/hemostat, /obj/item/circular_saw, /obj/item/retractor, /obj/item/cautery, /obj/item/statuebust/hippocratic)
mail_goodies = list(
/obj/item/healthanalyzer/advanced = 15,
+1 -1
View File
@@ -26,7 +26,7 @@
/datum/job_department/medical,
)
family_heirlooms = list(/obj/item/reagent_containers/syringe)
family_heirlooms = list(/obj/item/reagent_containers/syringe, /obj/item/statuebust/hippocratic)
mail_goodies = list(
/obj/item/reagent_containers/cup/bottle/random_virus = 15,