Added missing traits
in heat extra productive genitals headpat slut Do Not Clone Strong Legs universal diet
This commit is contained in:
@@ -289,6 +289,13 @@
|
||||
#define TRAIT_WATER_SPONGE "water_sponge"
|
||||
#define TRAIT_FATROUSAL "fatrousal"
|
||||
|
||||
//GS13 Port
|
||||
#define TRAIT_HEADPAT_SLUT "headpat_slut"
|
||||
#define TRAIT_NEVER_CLONE "donotclone"
|
||||
#define TRAIT_HEAT "heat"
|
||||
#define TRAIT_DISTANT "headpat_hater"
|
||||
#define TRAIT_CUM_PLUS "cum_plus"
|
||||
|
||||
// mobility flag traits
|
||||
// IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it)
|
||||
// BUT FOR NOW, THESE ARE HOOKED TO DO update_mobility() VIA COMSIG IN living_mobility.dm
|
||||
|
||||
@@ -335,3 +335,9 @@
|
||||
description = "<span class='warning'>Those darn savages!</span>\n"
|
||||
mood_change = -5
|
||||
timeout = 2 MINUTES
|
||||
|
||||
//GS13 Port
|
||||
/datum/mood_event/lewd_headpat
|
||||
description = "<span class='nicegreen'>I love headpats so much!</span>\n"
|
||||
mood_change = 3
|
||||
timeout = 2 MINUTES
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
// Get targets
|
||||
var/obj/item/organ/eyes/old_eyes = quirk_holder.getorganslot(ORGAN_SLOT_EYES)
|
||||
var/obj/item/organ/eyes/robotic/glow/new_eyes = new
|
||||
|
||||
|
||||
// Replace eyes
|
||||
qdel(old_eyes)
|
||||
new_eyes.Insert(quirk_holder)
|
||||
|
||||
@@ -464,6 +464,15 @@ GLOBAL_LIST_EMPTY(family_heirlooms)
|
||||
lose_text = "<span class='notice'>Your mind finally feels calm.</span>"
|
||||
medical_record_text = "Patient's mind is in a vulnerable state, and cannot recover from traumatic events."
|
||||
|
||||
//GS13 Port
|
||||
//Port from Shadow
|
||||
/datum/quirk/donotclone
|
||||
name = "DNC"
|
||||
desc = "You have filed a Do Not Clone order, stating that you do not wish to be cloned. You can still be revived by other means."
|
||||
value = -2
|
||||
mob_trait = TRAIT_NEVER_CLONE
|
||||
medical_record_text = "Patient has a DNC (Do not clone) order on file, and cannot be cloned as a result."
|
||||
|
||||
/datum/quirk/blindness
|
||||
name = "Blind"
|
||||
desc = "You are completely blind, nothing can counteract this."
|
||||
|
||||
@@ -162,6 +162,7 @@
|
||||
gain_text = "<span class='notice'>You feel like munching on a can of soda.</span>"
|
||||
lose_text = "<span class='notice'>You no longer feel like you should be eating trash.</span>"
|
||||
mob_trait = TRAIT_TRASHCAN
|
||||
medical_record_text = "Patient has been observed eating inedible garbage."
|
||||
|
||||
// GS13 EDIT START
|
||||
/datum/quirk/trashcan/add()
|
||||
@@ -188,3 +189,59 @@
|
||||
|
||||
/datum/quirk/dullahan/post_add()
|
||||
quirk_holder.AddComponent(/datum/component/dullahan)
|
||||
|
||||
//GS13 Port
|
||||
/datum/quirk/inheat
|
||||
name = "In Heat"
|
||||
desc = "Your system burns with the desire to be bred, your body will betray you and alert others' to your desire when examining you. Satisfying your lust will make you happy, but ignoring it may cause you to become sad and needy."
|
||||
value = 0
|
||||
mob_trait = TRAIT_HEAT
|
||||
gain_text = "<span class='notice'>You body burns with the desire to be bred.</span>"
|
||||
lose_text = "<span class='notice'>You feel more in control of your body and thoughts.</span>"
|
||||
|
||||
/datum/quirk/headpat_slut
|
||||
name = "Headpat Slut"
|
||||
desc = "You like headpats, alot, maybe even a little bit too much. Headpats give you a bigger mood boost and cause arousal"
|
||||
mob_trait = TRAIT_HEADPAT_SLUT
|
||||
value = 0
|
||||
medical_record_text = "Patient seems overly affectionate."
|
||||
|
||||
/datum/quirk/headpat_hater
|
||||
name = "Distant"
|
||||
desc = "You don't seem to show much care for being touched. Whether it's because you're reserved or due to self control, you won't wag your tail outside of your own control should you possess one."
|
||||
mob_trait = TRAIT_DISTANT
|
||||
value = 0
|
||||
medical_record_text = "Patient cares little with or dislikes being touched."
|
||||
|
||||
/datum/quirk/universal_diet
|
||||
name = "Universal diet"
|
||||
desc = "You are fine with eating just about anything normally edible, you have no strong dislikes in food. Toxic food will still hurt you, though."
|
||||
value = 0
|
||||
gain_text = "<span class='notice'>You feel like you can eat any food type.</span>"
|
||||
lose_text = "<span class='notice'>You start to dislike certain food types again.</span>"
|
||||
medical_record_text = "Patient reports no strong dietary dislikes."
|
||||
|
||||
/datum/quirk/universal_diet/add()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
var/datum/species/species = H.dna.species
|
||||
species.disliked_food = null
|
||||
|
||||
/datum/quirk/universal_diet/remove()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
if(H)
|
||||
var/datum/species/species = H.dna.species
|
||||
species.disliked_food = initial(species.disliked_food)
|
||||
|
||||
/datum/quirk/fatness_liker //GS13
|
||||
name = "Fat Affinity"
|
||||
desc = "You like being fat, alot, maybe even a little bit too much. Being fat gives you a bigger mood boost."
|
||||
mob_trait = TRAIT_FAT_GOOD
|
||||
value = 0
|
||||
medical_record_text = "Patient seems overly content with gaining weight."
|
||||
|
||||
/datum/quirk/fatness_hater //GS13
|
||||
name = "Fat Aversion"
|
||||
desc = "You dislike being fat. Being fat brings your mood down, alot."
|
||||
mob_trait = TRAIT_FAT_BAD
|
||||
value = 0
|
||||
medical_record_text = "Patient seems distressed by gaining weight."
|
||||
|
||||
@@ -413,6 +413,11 @@
|
||||
if(!can_scan(dna, mob_occupant, FALSE, has_bank_account))
|
||||
return
|
||||
|
||||
if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE))
|
||||
scantemp = "<font class='bad'>Subject has an active DNC record on file. Unable to clone.</font>"
|
||||
playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0)
|
||||
return
|
||||
|
||||
var/datum/data/record/R = new()
|
||||
if(dna.species)
|
||||
// We store the instance rather than the path, because some
|
||||
|
||||
@@ -297,19 +297,39 @@
|
||||
else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD)
|
||||
var/datum/species/S
|
||||
if(ishuman(src))
|
||||
var/mob/living/carbon/human/H = src
|
||||
S = dna.species
|
||||
|
||||
M.visible_message("<span class='notice'>[M] gives [src] a pat on the head to make [p_them()] feel better!</span>", \
|
||||
"<span class='notice'>You give [src] a pat on the head to make [p_them()] feel better!</span>", target = src,
|
||||
target_message = "<span class='notice'>[M] gives you a pat on the head to make you feel better!</span>")
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat)
|
||||
if(HAS_TRAIT(src, TRAIT_DISTANT)) //No mood buff since you're not really liking it.
|
||||
M.visible_message("<span class='notice'>[M] gives [H] a pat on the head to make [p_them()] feel better! They seem annoyed...</span>", \
|
||||
"<span class='warning'>You give [H] a pat on the head to make [p_them()] feel better! They seem annoyed as they're now glaring towards you...</span>")
|
||||
H.adjustArousal(-5) //Why are you touching me?
|
||||
if(prob(5))
|
||||
M.visible_message("<span class='warning'>[H] quickly twists [M]\'s arm!</span>", \
|
||||
"<span class='boldwarning'>Your arm gets twisted in [H]\'s grasp. Maybe you should have taken the hint...</span>")
|
||||
playsound(get_turf(H), 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
M.emote("scream")
|
||||
M.dropItemToGround(M.get_active_held_item())
|
||||
M.apply_damage(50, STAMINA, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM))
|
||||
M.Knockdown(60)//STOP TOUCHING ME! For those spam head pat individuals
|
||||
else if(HAS_TRAIT(H, TRAIT_HEADPAT_SLUT))
|
||||
M.visible_message("<span class='notice'>[M] gives [H] a pat on the head to make [p_them()] feel better! They seem incredibly pleased!</span>", \
|
||||
"<span class='notice'>You give [H] a pat on the head to make [p_them()] feel better! They seem to like it way too much</span>")
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "lewd_headpat", /datum/mood_event/lewd_headpat)
|
||||
H.adjustArousal(5) //Headpats are hot af
|
||||
else
|
||||
M.visible_message("<span class='notice'>[M] gives [H] a pat on the head to make [p_them()] feel better!</span>", \
|
||||
"<span class='notice'>You give [H] a pat on the head to make [p_them()] feel better!</span>")
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat)
|
||||
|
||||
friendly_check = TRUE
|
||||
if(!(client?.prefs.cit_toggles & NO_AUTO_WAG))
|
||||
if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail())
|
||||
var/static/list/many_tails = list("tail_human", "tail_lizard", "mam_tail")
|
||||
for(var/T in many_tails)
|
||||
if(S.mutant_bodyparts[T] && dna.features[T] != "None")
|
||||
emote("wag")
|
||||
if(!(HAS_TRAIT(src, TRAIT_DISTANT)))
|
||||
if(!(client?.prefs.cit_toggles & NO_AUTO_WAG))
|
||||
if(S?.can_wag_tail(src) && !dna.species.is_wagging_tail())
|
||||
var/static/list/many_tails = list("tail_human", "tail_lizard", "mam_tail")
|
||||
for(var/T in many_tails)
|
||||
if(S.mutant_bodyparts[T] && dna.features[T] != "None")
|
||||
emote("wag")
|
||||
|
||||
else if(check_zone(M.zone_selected) == BODY_ZONE_R_ARM || check_zone(M.zone_selected) == BODY_ZONE_L_ARM)
|
||||
if((pulling == M) && (grab_state == GRAB_PASSIVE))
|
||||
|
||||
@@ -107,6 +107,11 @@
|
||||
if(wear_id)
|
||||
. += "[t_He] [t_is] wearing [wear_id.get_examine_string(user)]."
|
||||
|
||||
//GS13 Port
|
||||
//Heat Detection
|
||||
//if(breedable)
|
||||
if(HAS_TRAIT(src, TRAIT_HEAT))
|
||||
. += "<span class='love'>[t_He] [t_is] currently in heat.</span>"
|
||||
//Status effects
|
||||
var/effects_exam = status_effect_examines()
|
||||
if(!isnull(effects_exam))
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
name = "Extra productive genitals"
|
||||
desc = "Your lower bits produce more and hold more than normal."
|
||||
value = 0
|
||||
category = CATEGORY_SEXUAL
|
||||
mob_trait = TRAIT_CUM_PLUS
|
||||
gain_text = "<span class='notice'>You feel pressure in your groin.</span>"
|
||||
lose_text = "<span class='notice'>You feel a weight lifted from your groin.</span>"
|
||||
|
||||
@@ -4075,6 +4075,7 @@
|
||||
#include "hyperstation\code\modules\resize\sizechems.dm"
|
||||
#include "hyperstation\code\modules\resize\sizegun.dm"
|
||||
#include "hyperstation\code\modules\surgery\organs\augments_arms.dm"
|
||||
#include "hyperstation\code\modules\traits.dm"
|
||||
#include "hyperstation\code\obj\ashtray.dm"
|
||||
#include "hyperstation\code\obj\decal.dm"
|
||||
#include "hyperstation\code\obj\fleshlight.dm"
|
||||
|
||||
Reference in New Issue
Block a user