Skip to content

Commit

Permalink
Merge branch 'SPLURT-Station:master' into Snaxi-regretti
Browse files Browse the repository at this point in the history
  • Loading branch information
SaraSayomi authored Nov 13, 2024
2 parents cf177bd + c85b64d commit 32e79cd
Show file tree
Hide file tree
Showing 11 changed files with 144 additions and 19 deletions.
1 change: 1 addition & 0 deletions code/__SPLURTCODE/DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#define TRAIT_PHARMA "hepatic_pharmacokinesis"
#define TRAIT_CHOKE_SLUT "choke_slut"
#define TRAIT_BLOODFLEDGE "bloodfledge"
#define TRAIT_BLOODFLEDGE_LITE "bloodfledge_lite"
#define TRAIT_INCUBUS "incubus"
#define TRAIT_SUCCUBUS "succubus"
#define TRAIT_ARACHNID "arachnid"
Expand Down
18 changes: 8 additions & 10 deletions code/modules/admin/view_variables/debug_variable_appearance.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,25 +59,23 @@ GLOBAL_DATUM_INIT(pluto, /atom/movable, new /atom/movable(null))
if(beloved.vars.Find(var_name)) // If datums have it, get out
return FALSE
// If it is one of the two args on /image, yeet (I am sorry)
if(var_name == NAMEOF(src, realized_overlays))
if(var_name == "realized_overlays")
return FALSE
if(var_name == NAMEOF(src, realized_underlays))
if(var_name == "realized_underlays")
return FALSE
// Filtering out the stuff I know we don't care about
if(var_name == NAMEOF(src, x))
if(var_name == "x")
return FALSE
if(var_name == NAMEOF(src, y))
if(var_name == "y")
return FALSE
if(var_name == NAMEOF(src, z))
if(var_name == "z")
return FALSE
// Could make an argument for these but I think they will just confuse people, so yeeet
#ifndef SPACEMAN_DMM // Spaceman doesn't believe in contents on appearances, sorry lads
if(var_name == NAMEOF(src, contents))
if(var_name == "contents")
return FALSE
#endif
if(var_name == NAMEOF(src, loc))
if(var_name == "loc")
return FALSE
if(var_name == NAMEOF(src, vis_contents))
if(var_name == "vis_contents")
return FALSE
return ..()

Expand Down
2 changes: 1 addition & 1 deletion code/modules/events/shuttle_catastrophe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
description = "Replaces the emergency shuttle with a random one."

/datum/round_event_control/shuttle_catastrophe/canSpawnEvent(players, gamemode)
if(SSshuttle.emergency.name == "Build your own shuttle kit")
if(istype(SSshuttle.emergency, /obj/docking_port/mobile/emergency/shuttle_build))
return FALSE //don't undo manual player engineering, it also would unload people and ghost them, there's just a lot of problems
if(SSshuttle.emergency.in_flight())
return FALSE //ditto, problems
Expand Down
10 changes: 10 additions & 0 deletions html/changelogs/archive/2024-11.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
2024-11-03:
Meghan-Rossi:
- server: Server can now be compiled on byond 515.1543
MosleyTheMalO:
- bugfix: Fixes the snap on dominant aura
2024-11-09:
CSDSP:
- bugfix: Code disabling the shuttle_catastrophe event while a BYOS is active.
LeDrascol:
- rscadd: 'Added a new quirk: Sanguine Metabolism (variant of Bloodsucker Fledgling)'
12 changes: 12 additions & 0 deletions modular_splurt/code/controllers/subsystem/processing/quirks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,16 @@
// BLOCKED: Mechanic
// Bloodsuckers have NO_THIRST trait.
list("Thirsty","Bloodsucker Fledgling"),

// BLOCKED: Duplicate, mechanic
// This is a lite version of the same quirk.
list("Sanguine Metabolism","Bloodsucker Fledgling"),

// BLOCKED: Mechanic
// Bloodsuckers have NO_THIRST trait.
list("Sanguine Metabolism","Thirsty"),

// BLOCKED: Thematic, mechanic, game lore.
// Bloodsuckers cannot interact with Hallowed users.
list("Sanguine Metabolism","Hallowed")
))
7 changes: 3 additions & 4 deletions modular_splurt/code/datums/traits/good.dm
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,11 @@
sub.dir = turn(get_dir(sub, quirk_holder), pick(-90, 90))
sub.emote("blush")

/datum/quirk/dominant_aura/proc/handle_snap(datum/source, list/emote_args)
/datum/quirk/dominant_aura/proc/handle_snap(datum/source, datum/emote/emote)
SIGNAL_HANDLER

. = FALSE
var/key = GLOB.emote_list[lowertext(emote_args[EMOTE_ACT])]
if(TIMER_COOLDOWN_CHECK(quirk_holder, COOLDOWN_DOMINANT_SNAP) || !findtext(key, "snap"))
if(TIMER_COOLDOWN_CHECK(quirk_holder, COOLDOWN_DOMINANT_SNAP) || !findtext(emote.key, "snap"))
return
for(var/mob/living/carbon/human/sub in hearers(DOMINANT_DETECT_RANGE, quirk_holder))
if(!sub.has_quirk(/datum/quirk/well_trained) || (sub == quirk_holder))
Expand All @@ -108,7 +107,7 @@
good_x = "boy"
if(FEMALE)
good_x = "girl"
switch(key)
switch(emote.key)
if("snap")
sub.dir = get_dir(sub, quirk_holder)
sub.emote(pick("blush", "pant"))
Expand Down
1 change: 1 addition & 0 deletions modular_splurt/code/datums/traits/negative.dm
Original file line number Diff line number Diff line change
Expand Up @@ -239,3 +239,4 @@
if(H)
var/datum/physiology/P = H.physiology
P.thirst_mod /= 2

97 changes: 97 additions & 0 deletions modular_splurt/code/datums/traits/neutral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -731,3 +731,100 @@
gain_text = span_lewd("You feel like kissing someone...")
lose_text = span_notice("You don't feel like kissing someone anymore...")
medical_record_text = "Patient seems to demonstrate an extraordinary liking in kissing."

// Lite version of Bloodflege
// Removes all special powers
/datum/quirk/bloodfledge_lite
name = "Sanguine Metabolism"
desc = "You are a non-magical Bloodsucker Fledgling, with no special powers. Only blood will sate your hungers, and holy energies will cause your flesh to char."
value = 0
medical_record_text = "Patient exhibits an unusually weak sanguine curse."
mob_trait = TRAIT_BLOODFLEDGE_LITE
gain_text = span_notice("You feel a sanguine thirst.")
lose_text = span_notice("You feel the sanguine thirst fade away.")

/datum/quirk/bloodfledge_lite/add()
// Define quirk mob
var/mob/living/carbon/human/quirk_mob = quirk_holder

// Add quirk traits
ADD_TRAIT(quirk_mob,TRAIT_NO_PROCESS_FOOD,ROUNDSTART_TRAIT)
ADD_TRAIT(quirk_mob,TRAIT_NOTHIRST,ROUNDSTART_TRAIT)

// Add full trait to preserve bite, holy weakness, and examine functionality
ADD_TRAIT(quirk_mob,TRAIT_BLOODFLEDGE,ROUNDSTART_TRAIT)

// Lite version does not set skin tone or grant the language

// Register examine text
RegisterSignal(quirk_holder, COMSIG_PARENT_EXAMINE, PROC_REF(quirk_examine_bloodfledge_lite))

/datum/quirk/bloodfledge_lite/post_add()
// Define quirk mob
var/mob/living/carbon/human/quirk_mob = quirk_holder

// Define and grant ability Bite
var/datum/action/cooldown/bloodfledge/bite/act_bite = new
act_bite.Grant(quirk_mob)

// Lite version does not grant the revive ability

/datum/quirk/bloodfledge_lite/remove()
// Define quirk mob
var/mob/living/carbon/human/quirk_mob = quirk_holder

// Remove quirk traits
REMOVE_TRAIT(quirk_mob, TRAIT_NO_PROCESS_FOOD, ROUNDSTART_TRAIT)
REMOVE_TRAIT(quirk_mob, TRAIT_NOTHIRST, ROUNDSTART_TRAIT)
REMOVE_TRAIT(quirk_mob, TRAIT_BLOODFLEDGE, ROUNDSTART_TRAIT)

// Remove quirk ability action datums
var/datum/action/cooldown/bloodfledge/bite/act_bite = locate() in quirk_mob.actions
act_bite.Remove(quirk_mob)

// Unregister examine text
UnregisterSignal(quirk_holder, COMSIG_PARENT_EXAMINE)

/datum/quirk/bloodfledge_lite/proc/quirk_examine_bloodfledge_lite(atom/examine_target, mob/living/carbon/human/examiner, list/examine_list)
SIGNAL_HANDLER

// Check if human examiner exists
if(!istype(examiner))
return

// Check if examiner is a non-Fledgling
if(!isbloodfledge(examiner))
// Return with no effects
return

// Check if examiner is dumb
if(HAS_TRAIT(examiner, TRAIT_DUMB))
// Return with no effects
return

// Define quirk mob
var/mob/living/carbon/human/quirk_mob = quirk_holder

// Define hunger texts
var/examine_hunger

// Check hunger levels
switch(quirk_mob.nutrition)
// Hungry
if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
examine_hunger = "[quirk_holder.p_they(TRUE)] [quirk_holder.p_are()] blood starved!"

// Starving
if(0 to NUTRITION_LEVEL_STARVING)
examine_hunger = "[quirk_holder.p_they(TRUE)] [quirk_holder.p_are()] in dire need of blood!"

// Invalid hunger
else
// Return with no message
return

// Add detection text
examine_list += span_info("[quirk_holder.p_their(TRUE)] hunger allows you to identify [quirk_holder.p_them()] as a lesser Bloodsucker Fledgling!")

// Add hunger text
examine_list += span_warning(examine_hunger)
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@
for(var/mob/living/carbon/coffin_user in contents)
// Check for bloodfledge
if(isbloodfledge(coffin_user))
// Check for lite version
if (HAS_TRAIT(coffin_user, TRAIT_BLOODFLEDGE_LITE))
// Warn user and continue
to_chat(coffin_user, span_warning("Your body lacks a proper sanguine connection! [src] does not respond."))
continue

// Check for synthetic
if(coffin_user.mob_biotypes && (coffin_user.mob_biotypes & MOB_ROBOTIC))
// Warn user and continue
Expand Down Expand Up @@ -50,6 +56,11 @@
for(var/mob/living/carbon/coffin_user in coffin_turf.contents)
// Check for bloodfledge
if(isbloodfledge(coffin_user))
// Check for lite version
if (HAS_TRAIT(coffin_user, TRAIT_BLOODFLEDGE_LITE))
// Do nothing
continue

// Define quirk entry
var/datum/quirk/bloodfledge/quirk_target = locate() in coffin_user.roundstart_quirks

Expand Down
3 changes: 0 additions & 3 deletions modular_splurt/code/modules/mob/emote.dm

This file was deleted.

1 change: 0 additions & 1 deletion tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -4922,7 +4922,6 @@
#include "modular_splurt\code\modules\mining\equipment\kinetic_crusher.dm"
#include "modular_splurt\code\modules\mining\equipment\machine_vending.dm"
#include "modular_splurt\code\modules\mining\lavaland\necropolis_chests.dm"
#include "modular_splurt\code\modules\mob\emote.dm"
#include "modular_splurt\code\modules\mob\femclaw.dm"
#include "modular_splurt\code\modules\mob\inventory.dm"
#include "modular_splurt\code\modules\mob\mob.dm"
Expand Down

0 comments on commit 32e79cd

Please sign in to comment.