Skip to content

Commit

Permalink
Adds Affection Aversion quirk (#783)
Browse files Browse the repository at this point in the history
* Adds Affection Aversion quirk

Stops affection modules. Very simple.

* I hate you, github

May or may not do anything. Stop giving me a merge conflict. Stop it.

* Revert "I hate you, github"

This reverts commit 6515023cc3f72d97d90bbdf982857b1d2724b1cf.

* Attempts to revert traits.dm

Because something went TERRIBLY wrong with my fork and/or my editor and I'm not sure why.

* Added quirk proper now that my fork is unfucked

Why did this even happen?

* These lists are alphabetized

* Same here

---------

Co-authored-by: DBGit42 <[email protected]>
Co-authored-by: Bloop <[email protected]>
Co-authored-by: Iajret <[email protected]>
  • Loading branch information
4 people authored Nov 24, 2023
1 parent 901675e commit ddd1e26
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 7 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/~skyrat_defines/traits/declarations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_NORUNNING "norunning" // You walk!
#define TRAIT_EXCITABLE "wagwag" //Will wag when patted!
#define TRAIT_OXYIMMUNE "oxyimmune" // Immune to oxygen damage, ideally give this to all non-breathing species or bad stuff will happen
#define TRAIT_AFFECTION_AVERSION "affection_aversion" // No more dogborg licking. "Dogborg bad" is no longer a personality
#define TRAIT_PERSONALSPACE "personalspace" // Block/counter-attack ass-slaps
#define TRAIT_MOOD_NOEXAMINE "mood_noexamine" // Can't assess your own mood
#define TRAIT_DNR "do_not_revive" // Can't be revived without supernatural means or admin intervention
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/traits/_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
),
// SKYRAT EDIT ADDITION START - SKYRAT TRAITS
/obj/item/toy/plush/skyrat = list(
"TRAIT_AFFECTION_AVERSION" = TRAIT_AFFECTION_AVERSION,
"TRAIT_APHRO" = TRAIT_APHRO,
"TRAIT_AVIAN" = TRAIT_AVIAN,
"TRAIT_ASH_ASPECT" = TRAIT_ASH_ASPECT,
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/traits/admin_tooling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list(
),
// SKYRAT EDIT ADDITION START - SKYRAT TRAITS
/obj/item/toy/plush/skyrat = list(
"TRAIT_AFFECTION_AVERSION" = TRAIT_AFFECTION_AVERSION,
"TRAIT_APHRO" = TRAIT_APHRO,
"TRAIT_AVIAN" = TRAIT_AVIAN,
"TRAIT_ASH_ASPECT" = TRAIT_ASH_ASPECT,
Expand Down
10 changes: 10 additions & 0 deletions modular_skyrat/master_files/code/datums/traits/neutral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,16 @@ GLOBAL_VAR_INIT(DNR_trait_overlay, generate_DNR_trait_overlay())
mob_trait = TRAIT_EXCITABLE
icon = FA_ICON_LAUGH_BEAM

/datum/quirk/affectionaversion
name = "Affection Aversion"
desc = "You refuse to be licked or nosed by quadruped cyborgs."
gain_text = span_notice("You've been added to the Do Not Lick and No Nosing registries.")
lose_text = span_notice("You've been removed from the Do Not Lick and No Nosing registries.")
medical_record_text = "Patient is in the Do Not Lick and No Nosing registries."
value = 0
mob_trait = TRAIT_AFFECTION_AVERSION
icon = FA_ICON_CIRCLE_EXCLAMATION

/datum/quirk/personalspace
name = "Personal Space"
desc = "You'd rather people keep their hands off your rear end."
Expand Down
21 changes: 14 additions & 7 deletions modular_skyrat/modules/borgs/code/robot_upgrade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -354,12 +354,15 @@
var/mob/living/silicon/robot/borg = user
var/mob/living/mob = target

if(check_zone(borg.zone_selected) == "head")
borg.visible_message(span_warning("\the [borg] affectionally licks \the [mob]'s face!"), span_notice("You affectionally lick \the [mob]'s face!"))
playsound(borg, 'sound/effects/attackblob.ogg', 50, 1)
if(!HAS_TRAIT(target, TRAIT_AFFECTION_AVERSION)) // Checks for Affection Aversion trait
if(check_zone(borg.zone_selected) == "head")
borg.visible_message(span_warning("\the [borg] affectionally licks \the [mob]'s face!"), span_notice("You affectionally lick \the [mob]'s face!"))
playsound(borg, 'sound/effects/attackblob.ogg', 50, 1)
else
borg.visible_message(span_warning("\the [borg] affectionally licks \the [mob]!"), span_notice("You affectionally lick \the [mob]!"))
playsound(borg, 'sound/effects/attackblob.ogg', 50, 1)
else
borg.visible_message(span_warning("\the [borg] affectionally licks \the [mob]!"), span_notice("You affectionally lick \the [mob]!"))
playsound(borg, 'sound/effects/attackblob.ogg', 50, 1)
to_chat(user, span_warning("ERROR: [target] is on the Do Not Lick registry!"))

// Quadruped nose - Boop
/obj/item/quadborg_nose
Expand All @@ -375,8 +378,12 @@
. = ..()
if(!proximity)
return
do_attack_animation(target, null, src)
user.visible_message(span_notice("[user] [pick("nuzzles", "pushes", "boops")] \the [target.name] with their nose!"))

if(!HAS_TRAIT(target, TRAIT_AFFECTION_AVERSION)) // Checks for Affection Aversion trait
do_attack_animation(target, null, src)
user.visible_message(span_notice("[user] [pick("nuzzles", "pushes", "boops")] \the [target.name] with their nose!"))
else
to_chat(user, span_warning("ERROR: [target] is on the No Nosing registry!"))

/// The Shrinkening
/mob/living/silicon/robot
Expand Down

0 comments on commit ddd1e26

Please sign in to comment.