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

Квирки на рост #8163

Closed
wants to merge 15 commits into from
2 changes: 2 additions & 0 deletions code/__DEFINES/quirks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
#define QUIRK_LOW_PAIN_THRESHOLD "Low pain threshold"
#define QUIRK_AGEUSIA "Ageusia"
#define QUIRK_DALTONISM "Daltonism"
#define QUIRK_SHORT "Short height"
#define QUIRK_LONG "Long height"

// negative quirks.
#define QUIRK_BLIND "Blind"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@
#define TRAIT_HIGH_PAIN_THRESHOLD "high_pain_threshold"
#define TRAIT_LIGHT_DRINKER "light_drinker"
#define TRAIT_LOW_PAIN_THRESHOLD "low_pain_threshold"
#define TRAIT_SHORT_HEIGHT "short_height"
#define TRAIT_LONG_HEIGHT "long_height"
#define TRAIT_TOURETTE "tourette"
#define TRAIT_NEARSIGHT "nearsighted"
#define TRAIT_NERVOUS "nervous"
Expand Down
3 changes: 2 additions & 1 deletion code/controllers/subsystem/quirks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ SUBSYSTEM_DEF(quirks)
list(QUIRK_LIGHT_DRINKER, QUIRK_ALCOHOL_TOLERANCE),
list(QUIRK_STRONG_MIND, QUIRK_TOURETTE),
list(QUIRK_BLIND, QUIRK_NEARSIGHTED),
list(QUIRK_LOW_PAIN_THRESHOLD, QUIRK_HIGH_PAIN_THRESHOLD)
list(QUIRK_LOW_PAIN_THRESHOLD, QUIRK_HIGH_PAIN_THRESHOLD),
list(QUIRK_LONG, QUIRK_SHORT),
)

..()
Expand Down
1 change: 1 addition & 0 deletions code/datums/atom_huds/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ var/global/list/huds = list(
return
for(var/i in hud_icons)
if(A.hud_list[i] && (!hud_exceptions[M] || !(A in hud_exceptions[M])))
A.hud_list[i].appearance_flags |= KEEP_APART
M.client.images |= A.hud_list[i]

//MOB PROCS
Expand Down
32 changes: 32 additions & 0 deletions code/datums/traits/neutral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,39 @@
NO_PAIN = FALSE,
)

/datum/quirk/short_height
name = QUIRK_SHORT
desc = "You are shorter than most people"
value = 0
mob_trait = TRAIT_SHORT_HEIGHT
gain_text = "<span class='danger'>You are shorter than most people.</span>"
lose_text = "<span class='notice'>You are normal height.</span>"

/datum/quirk/short_height/on_spawn()
var/mob/living/carbon/human/H = quirk_holder
H.appearance_flags |= KEEP_TOGETHER
var/matrix/Mx = matrix()
Mx.Scale(0.96)
Mx.Translate(0,-1)
FatFatFat1 marked this conversation as resolved.
Show resolved Hide resolved
H.transform = Mx
H.default_transform = Mx

/datum/quirk/long_height
name = QUIRK_LONG
desc = "You are longer than most people"
value = 0
mob_trait = TRAIT_LONG_HEIGHT
gain_text = "<span class='danger'>You are longer than most people.</span>"
lose_text = "<span class='notice'>You are normal height.</span>"

/datum/quirk/long_height/on_spawn()
var/mob/living/carbon/human/H = quirk_holder
H.appearance_flags |= KEEP_TOGETHER
var/matrix/Mx = matrix()
Mx.Scale(1.049)
Mx.Translate(0, 1)
H.transform = Mx
H.default_transform = Mx

/datum/quirk/no_taste
name = QUIRK_AGEUSIA
Expand Down
3 changes: 2 additions & 1 deletion code/game/dna/genes/powers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -193,9 +193,10 @@

var/matrix/Mx = matrix()
Mx.Scale(0.8) //Makes our hulk to be bigger than any normal human.
Mx.Translate(0,-2)
Mx.Translate(0,-3)
M.transform = Mx
M.default_transform = Mx
M.appearance_flags |= KEEP_TOGETHER

/datum/dna/gene/basic/midget/deactivate(mob/living/M, connected, flags)
..(M,connected,flags)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/effects/overlays.dm
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
icon = 'icons/mob/talk.dmi'
icon_state = "default0"
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
appearance_flags = APPEARANCE_UI_IGNORE_ALPHA|KEEP_APART
layer = MOB_LAYER + 1

/obj/effect/overlay/typing_indicator/atom_init(mapload, indi_icon)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ var/global/list/department_radio_keys = list(

if (speech_sound)
sound_vol *= 0.5 //muffle the sound a bit, so it's like we're actually talking through contact

//make sure we actually can hear there
if (T.sound_coefficient < 0.5)
message = Gibberish(message, (1.0 - max(0.0, T.sound_coefficient)) * 100 + 20)
Expand Down Expand Up @@ -175,7 +175,7 @@ var/global/list/department_radio_keys = list(
if(M.client)
speech_bubble_recipients.Add(M.client)
var/image/I = image('icons/mob/talk.dmi', src, "[typing_indicator_type][say_test(message)]", MOB_LAYER + 1)
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA|KEEP_APART
I.mouse_opacity = MOUSE_OPACITY_TRANSPARENT
INVOKE_ASYNC(GLOBAL_PROC, .proc/flick_overlay, I, speech_bubble_recipients, 30)
for(var/mob/M in listening)
Expand Down