Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
e8e189c
first commit, wont be da last
Gatsby229 Oct 19, 2025
3c7c5f4
AGHHHHHH
Gatsby229 Oct 19, 2025
b4bcace
Merge branch 'Monkestation:main' into main
Gatsby229 Oct 28, 2025
4fcda4e
Merge branch 'Monkestation:main' into main
Gatsby229 Nov 2, 2025
da32e69
Merge branch 'Monkestation:main' into main
Gatsby229 Nov 20, 2025
72427f5
Merge branch 'Monkestation:main' into main
Gatsby229 Dec 2, 2025
7c9a4dd
Merge branch 'Monkestation:main' into main
Gatsby229 Mar 3, 2026
55d504b
Merge branch 'Monkestation:main' into main
Gatsby229 Mar 7, 2026
645a223
Merge branch 'Monkestation:main' into main
Gatsby229 Apr 13, 2026
fcaf266
Merge branch 'Monkestation:main' into main
Gatsby229 Jun 16, 2026
ddc6db5
wheeeee
Gatsby229 Jun 20, 2026
4f73634
oops
Gatsby229 Jun 20, 2026
48cae49
lalalala
Gatsby229 Jun 20, 2026
32e3b1a
fixes fixes
Gatsby229 Jun 20, 2026
4da9d0b
PLEASE I NEED SLEEP
Gatsby229 Jun 20, 2026
f0d73bb
Gonna get a stroke from this
Gatsby229 Jun 20, 2026
665b598
Merge branch 'main' into alcoholism
Gatsby229 Jun 20, 2026
d88ce0f
ok phew
Gatsby229 Jun 20, 2026
dedf9c9
Almost there
Gatsby229 Jun 20, 2026
4e6c47f
Ok should fixed
Gatsby229 Jun 20, 2026
e85cbbe
Ok, HAIL MARY
Gatsby229 Jun 20, 2026
0e33db7
I am a foolish foolish man
Gatsby229 Jun 20, 2026
e31e060
Woop
Gatsby229 Jun 20, 2026
1e404d3
Is it done?
Gatsby229 Jun 20, 2026
b20f884
Ok, IS THAT IT? ANY MORE UNIVERSE?
Gatsby229 Jun 20, 2026
c3b7384
Madness stalks the spaghett code...
Gatsby229 Jun 20, 2026
b2b1ca1
goodbye attach bodypart
Gatsby229 Jun 22, 2026
5f83197
DOne, now to replace every instance with the new name
Gatsby229 Jun 22, 2026
d1608cf
First round
Gatsby229 Jun 22, 2026
dc2d327
This again..
Gatsby229 Jun 22, 2026
c7a71a4
ok done, map time
Gatsby229 Jun 22, 2026
0f8e277
Maybe?
Gatsby229 Jun 22, 2026
1097ff2
Its over I think
Gatsby229 Jun 22, 2026
54059d6
This will break
Gatsby229 Jun 24, 2026
9d77a88
mhmmm
Gatsby229 Jun 24, 2026
4c69352
uhuh
Gatsby229 Jun 24, 2026
46e07c5
GUh
Gatsby229 Jun 24, 2026
78c5921
Ok
Gatsby229 Jun 24, 2026
73bf4b7
Maybe, just maybe
Gatsby229 Jun 24, 2026
355d22a
My mistake
Gatsby229 Jun 25, 2026
88c87b0
How idiotic am I?
Gatsby229 Jun 25, 2026
4ea9f76
Merge branch 'main' into alcoholism
Gatsby229 Jun 25, 2026
43d8768
Fine cheffie, you make a good argument
Gatsby229 Jun 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion code/datums/faith/devotion_subtypes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@
miracles = list(
CLERIC_T0 = list(/datum/action/cooldown/spell/healing, /datum/action/cooldown/spell/undirected/conjure_item/summon_leech/pestra),
CLERIC_T1 = /datum/action/cooldown/spell/diagnose/holy,
CLERIC_T2 = /datum/action/cooldown/spell/attach_bodypart,
CLERIC_T2 = list(/obj/item/melee/touch_attack/orison/pestra, /datum/action/cooldown/spell/attach_bodypart),
CLERIC_T3 = /datum/action/cooldown/spell/cure_rot,
)
viable_tasks = list(
Expand Down
2 changes: 1 addition & 1 deletion code/datums/loadouts/neck_loadout_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

triumph_cost_permanent = 25

/datum/loadout_item/bell_collar
/datum/loadout_item/bell_collar //Man, WHY? WHY CAN YOU WEAR A COLLAR. I know the answer, but like why guys.
name = "Bell Collar"
item_path = /obj/item/clothing/neck/bellcollar
ui_category = "Neck"
Expand Down
47 changes: 44 additions & 3 deletions code/modules/clothing/neck/psycross.dm
Original file line number Diff line number Diff line change
Expand Up @@ -174,10 +174,51 @@
qdel(src)

/obj/item/clothing/neck/psycross/silver/divine/pestra
name = "amulet of Pestra"
desc = "When pure, alcohol is best used as a cleanser of wounds and a cleanser of the palate."
name = "Amulet of the Serpent"
desc = "When pure, alcohol is best used as a cleanser of wounds and a cleanser of the palate. The amulet feels hollow, and you can barely see a tiny cap at the top."
icon = 'icons/roguetown/clothing/neck.dmi'
icon_state = "pestra"
resistance_flags = FIRE_PROOF
var/amount_per_transfer_from_this = 3
var/possible_transfer_amounts = list(3)
var/volume = 15
var/fill_icon_thresholds = null
dropshrink = 0.8
slot_flags = ITEM_SLOT_NECK|ITEM_SLOT_HIP|ITEM_SLOT_WRISTS|ITEM_SLOT_MOUTH
obj_flags = CAN_BE_HIT
var/spillable = FALSE
var/closed = TRUE
var/reagent_flags = null
w_class = WEIGHT_CLASS_SMALL
grid_width = 32
grid_height = 32
var/drinksounds = list('sound/items/drink_bottle (1).ogg','sound/items/drink_bottle (2).ogg')
var/fillsounds = list('sound/items/fillcup.ogg')
var/poursounds = list('sound/items/fillbottle.ogg')
var/label_prefix = "Flask of "

/obj/item/clothing/neck/psycross/silver/divine/pestra/Initialize()
. = ..()
enchant(/datum/enchantment/silver)
icon_state = "pestra"
update_appearance(UPDATE_OVERLAYS)

/obj/item/clothing/neck/psycross/silver/divine/pestra/attack_self_secondary(mob/user, list/modifiers)
closed = !closed
user.changeNext_move(CLICK_CD_RAPID)
if(closed)
reagent_flags &= ~TRANSFERABLE
reagents.flags = reagent_flags
desc = "A flask with a screwcap."
balloon_alert(user, "I screw the cap back on.")
spillable = FALSE
else
reagent_flags |= TRANSFERABLE
reagents.flags = reagent_flags
balloon_alert(user, "I silently screw the cap off.")
desc = "An open flask, easy to drink quickly."
spillable = TRUE
update_appearance(UPDATE_OVERLAYS)


/obj/item/clothing/neck/psycross/silver/divine/malum
name = "amulet of Malum"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,7 @@ GLOBAL_LIST_INIT(wisdoms, file2list("strings/rt/wisdoms.txt"))
spillable = TRUE
update_appearance(UPDATE_OVERLAYS)


/obj/item/reagent_containers/glass/bottle/black
name = "wine pot"
desc = "A wine pot made of glazed clay."
Expand Down
50 changes: 50 additions & 0 deletions code/modules/spells/spell_types/undirected/touch/orison.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#define ORISON_FILL /datum/intent/orison/fill
#define ORISON_TOUCH /datum/intent/orison/touch
#define ORISON_LIGHT /datum/intent/orison/light
#define ORISON_ETHANOL /datum/intent/orison/fill/ethanol

/datum/intent/orison
noaa = TRUE
Expand All @@ -24,6 +25,11 @@
name = "light"
icon_state = "inlight"

/datum/intent/orison/fill/ethanol
reach = 1
name = "fill"
icon_state = "infill"

/datum/action/cooldown/spell/undirected/touch/orison
name = "Orison"
desc = "The basic precept of holy magic orients around the power of prayer and soliciting a Divine Patron for a tiny sliver of Their might."
Expand Down Expand Up @@ -57,6 +63,8 @@
thaumaturgy(victim, caster)
if(ORISON_LIGHT)
cast_light(victim, caster)
if(ORISON_ETHANOL)
create_ethanol(victim, caster)
return FALSE

/datum/action/cooldown/spell/undirected/touch/orison/cast_on_secondary_hand_hit(obj/item/melee/touch_attack/hand, atom/victim, mob/living/carbon/caster, list/modifiers)
Expand Down Expand Up @@ -198,6 +206,47 @@
<b>Fill</b>: Beseech your Divine to create a small quantity of holy water in a container that you touch for some devotion."
possible_item_intents = list(ORISON_FILL)

/obj/item/melee/touch_attack/orison/pestra
name = "Pestras Fang"
desc = "The fundamental teachings of the pestran sect returns to you, generate pure ethanol using devotion, or cut and seal flesh."
possible_item_intents = list(ORISON_ETHANOL) //pure alcohol because alcoholism and disinfectant

/datum/action/cooldown/spell/undirected/touch/orison/proc/create_ethanol(atom/victim, mob/living/carbon/human/user)
if(victim.is_refillable())
if(victim.reagents.holder_full())
to_chat(user, span_warning("[victim] is full."))
return FALSE

user.visible_message(
span_info("[user] closes [user.p_their()] eyes in prayer and extends a hand over [victim] as ethanol begins to stream from [user.p_their()] fingertips..."),
span_notice("I utter forth a plea to [user.patron.name] for succour, and hold my hand out above [victim]...")
)

var/holy_skill = GET_MOB_SKILL_VALUE_OLD(user, associated_skill)
var/drip_speed = 5.6 SECONDS - (holy_skill * 8)
var/fatigue_spent = 0
var/fatigue_used = max(3, holy_skill)
while(do_after(user, drip_speed, victim))
if(victim.reagents.holder_full() || (user.cleric.devotion - fatigue_used <= 0))
break

var/ethanol_qty = max(1, holy_skill) + 1
var/list/water_contents = list(/datum/reagent/consumable/ethanol = ethanol_qty)
var/datum/reagents/reagents_to_add = new()
reagents_to_add.add_reagent_list(water_contents)
reagents_to_add.trans_to(victim, reagents_to_add.total_volume, transfered_by = user, method = INGEST)

fatigue_spent += fatigue_used
user.adjust_stamina(fatigue_used)
user.cleric?.update_devotion(-1)

if(prob(80))
playsound(user, 'sound/items/fillcup.ogg', 55, TRUE)

handle_xp(user, fatigue_spent)
return TRUE


/datum/reagent/water/blessed
name = "blessed water"
description = "A gift of Devotion. Very slightly heals wounds."
Expand Down Expand Up @@ -345,3 +394,4 @@
#undef ORISON_FILL
#undef ORISON_TOUCH
#undef ORISON_LIGHT
#undef ORISON_ETHANOL
1 change: 1 addition & 0 deletions code/modules/surgery/surgeries/amputation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
TOOL_SAW = 60,
TOOL_IMPROVISED_SAW = 50,
TOOL_SHARP = 40,
/obj/item/melee/touch_attack/orison/pestra = 60,
)
possible_locs = list(
BODY_ZONE_HEAD,
Expand Down
1 change: 1 addition & 0 deletions code/modules/surgery/surgeries/cure_rot.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
/obj/item/clothing/neck/psycross/silver = 85,
TOOL_WELDER = 70,
TOOL_HOT = 35,
/obj/item/melee/touch_attack/orison/pestra = 70,
)
target_mobtypes = list(/mob/living/carbon/human)
minimum_time = 7 SECONDS
Expand Down
1 change: 1 addition & 0 deletions code/modules/surgery/surgeries/extract_lux.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
name = "Extract Lux"
implements = list(
TOOL_SCALPEL = 80,
/obj/item/melee/touch_attack/orison/pestra = 100,
TOOL_SHARP = 60,
/obj/item/kitchen/spoon = 40
)
Expand Down
3 changes: 3 additions & 0 deletions code/modules/surgery/surgeries/organic_steps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
implements = list(
TOOL_SCALPEL = 80,
TOOL_SHARP = 60,
/obj/item/melee/touch_attack/orison/pestra = 80,
) // 60% success with any sharp item.
target_mobtypes = list(/mob/living/carbon/human, /mob/living/simple_animal)
minimum_time = 1.2 SECONDS
Expand Down Expand Up @@ -97,6 +98,7 @@
TOOL_CAUTERY = 100,
TOOL_WELDER = 70,
TOOL_HOT = 35,
/obj/item/melee/touch_attack/orison/pestra = 70,
)
minimum_time = 2.2 SECONDS
maximum_time = 3.5 SECONDS
Expand Down Expand Up @@ -144,6 +146,7 @@
TOOL_IMPROVISED_SAW = 65,
TOOL_SHOVEL = 50,
TOOL_SHARP = 25,
/obj/item/melee/touch_attack/orison/pestra = 70,
)
possible_locs = list(
BODY_ZONE_PRECISE_SKULL,
Expand Down
Loading