Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Porting Quirks from S.P.L.U.R.T. #10

Merged
merged 135 commits into from
Nov 23, 2024
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
251c537
Test
SpaghettiTerrible Jul 4, 2024
61cd294
Adds salt sensetivity
SpaghettiTerrible Jul 8, 2024
1731e87
Delete statue.dmi
SpaghettiTerrible Jul 8, 2024
080d1d8
Adds modlimbs
SpaghettiTerrible Jul 9, 2024
22a78df
radfiend
SpaghettiTerrible Jul 9, 2024
d037850
Added Rad Fiend
SpaghettiTerrible Jul 9, 2024
0f27d96
proper paths
SpaghettiTerrible Jul 11, 2024
bc61c97
Merge branch 'master' into quirks_from_Splurt
SpaghettiTerrible Jul 11, 2024
df84dd5
Update tgstation.dme
SpaghettiTerrible Jul 12, 2024
0674bcc
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Jul 12, 2024
c1fe332
Update modularlimbs.dm
MosleyTheMalO Jul 12, 2024
b747b22
Update tgstation.dme
MosleyTheMalO Jul 12, 2024
4138316
Update radfiend.dm
MosleyTheMalO Jul 12, 2024
f73e72c
modularize the defines
MosleyTheMalO Jul 14, 2024
2f9fbf0
moving radfiend into proper folder
SpaghettiTerrible Jul 20, 2024
6307f81
Merge branch 'master' into quirks_from_Splurt
StrangeWeirdKitten Jul 26, 2024
e43b0ac
Merge branch 'quirks_from_Splurt' of https://github.com/SPLURT-Statio…
MosleyTheMalO Jul 28, 2024
4200b16
working on it
MosleyTheMalO Aug 5, 2024
407c542
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 5, 2024
b388840
more quirks
MosleyTheMalO Aug 5, 2024
ac7f9bf
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 8, 2024
8777c21
yippeee
MosleyTheMalO Aug 8, 2024
ecb0f78
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 15, 2024
494ece6
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 15, 2024
c750da1
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 16, 2024
08445f8
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 18, 2024
a3f336c
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 18, 2024
1604851
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 18, 2024
ee84be2
needs fixes
MosleyTheMalO Aug 18, 2024
0f3b326
sparks
MosleyTheMalO Aug 19, 2024
5d4df3b
werewolf
MosleyTheMalO Aug 19, 2024
632c2ea
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 26, 2024
2efdfd5
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 26, 2024
971d8e1
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 28, 2024
596d055
gargoyle (not tested)
MosleyTheMalO Aug 30, 2024
cea1a20
nudist quirk
MosleyTheMalO Aug 30, 2024
c391156
fixes and masked mook
MosleyTheMalO Aug 30, 2024
5e8f982
more quirks
MosleyTheMalO Aug 30, 2024
c674b3e
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Aug 31, 2024
f73e432
kiss slut
MosleyTheMalO Aug 31, 2024
2060215
body morpher quirk
MosleyTheMalO Sep 1, 2024
3efeb16
Fix broken file paths
LeDrascol Oct 27, 2024
d464cce
Fix Gargoyle compile errors
LeDrascol Oct 27, 2024
a2f0649
Merge branch 'master' into quirks_from_Splurt
MosleyTheMalO Oct 27, 2024
7572030
fix gargoyle and push what I had stashed months ago
MosleyTheMalO Oct 27, 2024
7f8913b
Fix more file paths
LeDrascol Oct 27, 2024
fef3c18
Change Gargoyle traits as a list
LeDrascol Oct 27, 2024
c77701e
Port old text spans
LeDrascol Oct 27, 2024
dc3fe4b
Fix Dumb For Cum quirk
LeDrascol Oct 27, 2024
3e416cf
Modularize Hell Water effect
LeDrascol Oct 27, 2024
46b75fb
Fix minor check warnings
LeDrascol Oct 27, 2024
86d48e4
Add backpack hiding support
LeDrascol Oct 27, 2024
4ccb251
Assign quirk icons
LeDrascol Oct 27, 2024
a24f0d9
Quirk data overhauls
LeDrascol Oct 28, 2024
a8e32c6
Quirk span consistency update
LeDrascol Oct 28, 2024
c118c67
Placeholder quirk ports
LeDrascol Oct 28, 2024
649b05e
Minor quirk data overhauls
LeDrascol Oct 28, 2024
7195456
Rework quirk examine text
LeDrascol Oct 29, 2024
303f006
Remove obsolete quirks
LeDrascol Oct 29, 2024
21db5f9
Fix Hallowed issues
LeDrascol Oct 29, 2024
62a0193
Convert two quirks to NIFs
LeDrascol Oct 29, 2024
0fcd2b0
Double NIFsoft slots
LeDrascol Oct 29, 2024
21acf1c
Additional NIFsoft ports
LeDrascol Oct 29, 2024
fc1ebac
Update quirk conflicts
LeDrascol Oct 29, 2024
4317952
Add type for free NIFsofts
LeDrascol Oct 29, 2024
920ddbe
Quirk tagging fixes
LeDrascol Oct 29, 2024
3d59007
Reimplement NO_PROCESS_FOOD
LeDrascol Oct 29, 2024
5f5d4c8
Succubus and Incubus fixes
LeDrascol Oct 29, 2024
07295e4
Fix minor trait redundancies
LeDrascol Oct 29, 2024
fc455a4
Merge demon metabolism quirks
LeDrascol Oct 30, 2024
2883ac0
Concubus and Breast Milk tweaks
LeDrascol Oct 30, 2024
8b081eb
TG-ify quirk costs
LeDrascol Oct 30, 2024
8db4d05
Quirk mood event fixes
LeDrascol Oct 31, 2024
6f757c1
More D4C quirk fixes
LeDrascol Oct 31, 2024
e21236d
Bane Syndrome improvements
LeDrascol Oct 31, 2024
fc7b860
Minor Cosmetic Glow fixes
LeDrascol Oct 31, 2024
9c525f3
Bad Touch overhaul
LeDrascol Oct 31, 2024
0b30c99
Fix some non-modular quirk code
LeDrascol Nov 1, 2024
b6fdc09
Update quirk conflicts again
LeDrascol Nov 1, 2024
02db7c0
Hypnotic Gaze improvements
LeDrascol Nov 1, 2024
555e211
New methods to obtain quirk NIFs
LeDrascol Nov 1, 2024
ca49877
Update obsolete quirks
LeDrascol Nov 1, 2024
b041a31
More descriptive quirk descriptions
LeDrascol Nov 1, 2024
5522b97
Undeath quirk improvements
LeDrascol Nov 1, 2024
05b4f74
Anti-touch quirk refactoring
LeDrascol Nov 2, 2024
d7f6cf4
Implement Choke Slut quirk
LeDrascol Nov 2, 2024
c56f8cb
Cosmetic Glow updates
LeDrascol Nov 2, 2024
1b00147
Implement Extra-Productive quirk
LeDrascol Nov 2, 2024
41f2d45
Implement Headpat Slut
LeDrascol Nov 2, 2024
17abde1
Use preference respecting procs
LeDrascol Nov 2, 2024
34d6bd9
Refactor ghost slapping
LeDrascol Nov 3, 2024
8896de6
Merge branch 'master' into quirks_from_Splurt
LeDrascol Nov 3, 2024
cda59e8
Refactor Modular Limbs
LeDrascol Nov 3, 2024
3b07d85
Cosmetic Glow fixes
LeDrascol Nov 3, 2024
534a6f3
Convert Hard Soles to neutral
LeDrascol Nov 3, 2024
fbfdbbe
Updates for Sodium Sensitivity
LeDrascol Nov 3, 2024
55e2407
Port Arachnid quirk
LeDrascol Nov 3, 2024
1a58731
Implement Ashen Resistance
LeDrascol Nov 3, 2024
fbb9e38
Minor quirk refactoring
LeDrascol Nov 3, 2024
bf54e71
Fix drink_reagents.dm file path
LeDrascol Nov 4, 2024
713c50e
Rad Fiend updates
LeDrascol Nov 4, 2024
aa4cf2a
Refactor Restorative Metabolism
LeDrascol Nov 4, 2024
e43735c
Partially implement Werewolf
LeDrascol Nov 5, 2024
90b042b
Minor quirk fixes
LeDrascol Nov 7, 2024
c50e4d0
Rebalance weight quirks
LeDrascol Nov 7, 2024
0c1fdd7
Update disabled quirks
LeDrascol Nov 7, 2024
d90128a
Implement new cybernetic lungs
LeDrascol Nov 7, 2024
3e4b3de
Revert new cybernetic lungs
LeDrascol Nov 8, 2024
c5a2581
Bloodfledge Overhaul 3 Part 1
LeDrascol Nov 9, 2024
10a92e4
Implement bloodfledge emag
LeDrascol Nov 9, 2024
b36a433
Merge branch 'master' into quirks_from_Splurt
LeDrascol Nov 10, 2024
85d8340
Fix check issues
LeDrascol Nov 10, 2024
a0960f5
Fix more checks
LeDrascol Nov 10, 2024
7f161bc
Buff Concubus nutrition
LeDrascol Nov 10, 2024
60176a4
Rework bloodfledge ID
LeDrascol Nov 10, 2024
b6b2dc6
Add more quirk ID cards
LeDrascol Nov 11, 2024
2f8db98
Minor quirk action fixes
LeDrascol Nov 14, 2024
52c7f3c
Bloodfledge Overhaul 3 Part 2
LeDrascol Nov 13, 2024
694dcce
Manually create AutoChangeLog for PR 10
LeDrascol Nov 15, 2024
ada921d
Quirk reagent signaling overhaul
LeDrascol Nov 17, 2024
1d57694
Cursed Blood improvements
LeDrascol Nov 17, 2024
7e59ee5
Give Bloodfledge vampiric biotype
LeDrascol Nov 17, 2024
03bb4f1
Convert Flutter quirk to element
LeDrascol Nov 17, 2024
11829a6
Fix minor Flutter Move issues
LeDrascol Nov 17, 2024
3351745
Add comments for quirk trait defines
LeDrascol Nov 18, 2024
2a48639
Implement Chapel Weakness element
LeDrascol Nov 18, 2024
5cbf58f
Convert Holy Water weakness to an element
LeDrascol Nov 18, 2024
c14a754
Cursed Blood deity expansion
LeDrascol Nov 18, 2024
6d442a6
Minor quirk add/remove improvements
LeDrascol Nov 18, 2024
1d3e604
Quirk examine status rework
LeDrascol Nov 18, 2024
0651c21
Bloodfledge and Hemophage integrations
LeDrascol Nov 19, 2024
15e48bb
Fix minor spelling errors
LeDrascol Nov 20, 2024
8aed50c
Merge branch 'master' into quirks_from_Splurt
LeDrascol Nov 22, 2024
ace84d9
Minor flutter move update
LeDrascol Nov 22, 2024
73360ed
Merge branch 'master' into quirks_from_Splurt
LeDrascol Nov 22, 2024
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
67 changes: 67 additions & 0 deletions modular_zzplurt/code/datums/quirks/neutral_quirks/modularlimbs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/datum/quirk/modularlimbs
name = "Modular Limbs"
desc = "Your limbs are able to be attached and detached easily... Unfortunately, everyone around you can alter your limbs too!"
icon = FA_ICON_HAND
value = 0

/datum/quirk/modularlimbs/add()
var/mob/living/carbon/human/C = quirk_holder
add_verb(C,/mob/living/proc/alterlimbs)

/datum/quirk/modularlimbs/remove()
var/mob/living/carbon/human/C = quirk_holder
remove_verb(C,/mob/living/proc/alterlimbs)

/mob/living/proc/alterlimbs()
set name = "Alter Limbs"
set desc = "Remove or attach a limb!"
set category = "IC"
set src in view(usr.client)

var/mob/living/carbon/human/U = usr
var/mob/living/carbon/human/C = src

var/obj/item/I = U.get_active_held_item()
if(istype(I,/obj/item/bodypart))
var/obj/item/bodypart/L = I
if(!C.Adjacent(U))
to_chat(U, span_warning("You must be adjacent to [C] to do this!"))
return
if(C.get_bodypart(L.body_zone))
to_chat(U, span_warning("[C] already has a limb attached there!"))
return
C.visible_message(span_warning("[U] is attempting to attach [L] onto [C]!"), span_userdanger("[U] is attempting to re-attach one of your limbs!"))
if(do_after(U, 40, target = C) && C.Adjacent(U))
L.try_attach_limb(C)
C.visible_message(span_warning("[U] successfully attaches [L] onto [C]"), span_userdanger("[U] has successfully attached a [L.name] onto you; you can use that limb again!"))
return
else
to_chat(U, span_warning("You and [C] must both stand still for you to remove one of their limbs!"))
return
else
if(!C.Adjacent(U))
to_chat(U, span_warning("You must be adjacent to [C] to do this!"))
return
if(U.zone_selected == BODY_ZONE_CHEST || U.zone_selected == BODY_ZONE_HEAD)
to_chat(U, span_warning("You must target either an arm or a leg!"))
return
if(U.zone_selected == BODY_ZONE_PRECISE_GROIN || U.zone_selected == BODY_ZONE_PRECISE_EYES || U.zone_selected == BODY_ZONE_PRECISE_MOUTH)
to_chat(U, span_warning("There is no limb here; select an arm or a leg!"))
return
if(!C.get_bodypart(U.zone_selected))
to_chat(U, span_warning("They are already missing that limb!"))
return
C.visible_message(span_warning("[U] is attempting to remove one of [C]'s limbs!"), span_userdanger("[U] is attempting to disconnect one of your limbs!"))
var/obj/item/bodypart/B = C.get_bodypart(U.zone_selected)
if(C.Adjacent(U) && do_after(U, 40, target = C))
var/obj/item/bodypart/D = C.get_bodypart(U.zone_selected)
if(B != D)
to_chat(U, span_warning("You cannot target a different limb while already removing another!"))
return
D.drop_limb()
C.update_equipment_speed_mods()
C.visible_message(span_warning("[U] smoothly disconnects [C]'s [D.name]!"), span_userdanger("[U] has forcefully disconnected your [D.name]!"))
return
else
to_chat(U, span_warning("You and [C] must both stand still for you to remove one of their limbs!"))
return
94 changes: 94 additions & 0 deletions modular_zzplurt/code/datums/quirks/neutral_quirks/radfiend.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
#define TRAIT_RAD_FIEND "rad_fiend"

GLOBAL_LIST_INIT(traits_by_type_radfiend, list(
/obj/item/toy/plush/skyrat = list(
"TRAIT_RAD_FIEND" = TRAIT_RAD_FIEND, //SPLURT addition - for sodium sensetivity quirk
),
))

/datum/quirk/rad_fiend
name = "Rad Fiend"
desc = "You've been blessed by Cherenkov's warming light, causing you to emit a subtle glow at all times. Only -very- intense radiation is capable of penetrating your protective barrier"
icon = FA_ICON_RADIATION
value = 2
mob_trait = TRAIT_RAD_FIEND
gain_text = span_notice("You feel empowered by Cherenkov's glow.")
lose_text = span_notice("You realize that rads aren't so rad.")

/datum/quirk/rad_fiend/add()
// Define quirk holder mob
var/mob/living/carbon/human/quirk_mob = quirk_holder
// Add glow control action
var/datum/action/rad_fiend/update_glow/quirk_action = new
quirk_action.Grant(quirk_mob)

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

// Remove glow control action
var/datum/action/rad_fiend/update_glow/quirk_action = locate() in quirk_mob.actions
quirk_action.Remove(quirk_mob)

// Remove glow effect
quirk_mob.remove_filter("rad_fiend_glow")

/datum/action/rad_fiend
name = "Broken Rad Action"
desc = "Report this to a coder."
button_icon_state = "static"

/datum/action/rad_fiend/update_glow
name = "Modify Glow"
desc = "Change your radioactive glow color."
button_icon_state = "blank"

// Glow color to use
var/glow_color = "#39ff14" // Neon green

// Thickness of glow outline
var/glow_range = 2


/datum/action/rad_fiend/update_glow/Grant()
. = ..()

// Define user mob
var/mob/living/carbon/human/action_mob = owner

// Add outline effect
action_mob.add_filter("rad_fiend_glow", 1, list("type" = "outline", "color" = glow_color+"30", "size" = glow_range))

/datum/action/rad_fiend/update_glow/Remove()
. = ..()

// Define user mob
var/mob/living/carbon/human/action_mob = owner

// Remove glow
action_mob.remove_filter("rad_fiend_glow")

/datum/action/rad_fiend/update_glow/Trigger(trigger_flags)
. = ..()

// Define user mob
var/mob/living/carbon/human/action_mob = owner

// Ask user for color input
var/input_color = input(action_mob, "Select a color to use for your glow outline.", "Select Glow Color", glow_color) as color|null

// Check if color input was given
// Reset to stored color when not given input
glow_color = (input_color ? input_color : glow_color)

// Ask user for range input
var/input_range = input(action_mob, "How much do you glow? Value may range between 1 to 2.", "Select Glow Range", glow_range) as num|null

// Check if range input was given
// Reset to stored color when not given input
// Input is clamped in the 1-4 range
glow_range = (input_range ? clamp(input_range, 1, 4) : glow_range)

// Update outline effect
action_mob.remove_filter("rad_fiend_glow")
action_mob.add_filter("rad_fiend_glow", 1, list("type" = "outline", "color" = glow_color+"30", "size" = glow_range))
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#define TRAIT_SALT_SENSITIVE "salt_sensitive"

GLOBAL_LIST_INIT(traits_by_type_saltsensetive, list(
/obj/item/toy/plush/skyrat = list(
"TRAIT_SALT_SENSITIVE" = TRAIT_SALT_SENSITIVE, //SPLURT addition - for sodium sensetivity quirk
),
))

/datum/quirk/sodiumsensetivity
name = "Sodium Sensitivity"
desc = "Your body is sensitive to sodium, and is burnt upon contact. Ingestion or contact with it is not advised."
icon = FA_ICON_BIOHAZARD
value = 0
mob_trait = TRAIT_SALT_SENSITIVE
medical_record_text = "Patient should not come into contact with sodium."

/datum/reagent/consumable/salt/expose_mob(mob/living/M, method=TOUCH, reac_volume)
. = ..()
if(HAS_TRAIT(M, TRAIT_SALT_SENSITIVE)) // haha snails go brrr
M.adjustFireLoss(2)
M.emote("scream")

/datum/reagent/consumable/salt/on_mob_life(mob/living/M)
. = ..()
if(HAS_TRAIT(M, TRAIT_SALT_SENSITIVE))
M.adjustFireLoss(1) // equal to a standard toxin
3 changes: 3 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// All manual changes should be made outside the BEGIN_ and END_ blocks.

Check failure on line 1 in tgstation.dme

View workflow job for this annotation

GitHub Actions / Run Linters

Ticked File Enforcement

The include at line 9104 is out of order (#include "modular_zzplurt\code\datums\quirks\neutral_quirks\modularlimbs.dm", expected #include "modular_zzplurt\code\_globalvars\mobs.dm")
// New source code should be placed in .dm files: choose File/New --> Code File.
// BEGIN_INTERNALS
// END_INTERNALS
Expand Down Expand Up @@ -9101,6 +9101,9 @@
#include "modular_zubbers\master_files\skyrat\modules\cortical_borer\code\cortical_borer_antag.dm"
#include "modular_zubbers\master_files\skyrat\modules\opposing_force\code\opposing_force_subsystem.dm"
#include "modular_zubbers\master_files\skyrat\modules\verbs\code\subtle.dm"
#include "modular_zzplurt\code\datums\quirks\neutral_quirks\modularlimbs.dm"
#include "modular_zzplurt\code\datums\quirks\neutral_quirks\radfiend.dm"
#include "modular_zzplurt\code\datums\quirks\neutral_quirks\sodiumsensetivity.dm"
LeDrascol marked this conversation as resolved.
Show resolved Hide resolved
#include "modular_zzplurt\code\_globalvars\mobs.dm"
#include "modular_zzplurt\code\controllers\configuration\entries\discord.dm"
#include "modular_zzplurt\code\controllers\subsystem\discord.dm"
Expand Down
Loading