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

[MIRROR] Adds Affection Aversion quirk #783

Merged
merged 2 commits into from
Nov 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
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
Loading