mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 00:58:26 +01:00
Adds an option to have four eyes + Multitool changing Robotic Eye Color (#4005)
## About The Pull Request Adds a new customization option via preferences, quad eyes! > Gives the character four eyes with the option of setting the offset up / down. Also gives the multitool the ability to change the eye color(s) (yes both of them, separately) ## Why It's Good For The Game Customization is good. Looks neat. ## Proof Of Testing <details> <summary>Screenshots/Videos</summary> +0 offset        </details> ## Changelog 🆑 add: Added new customization option to give a character four eyes. add: Added the option to change robotic eye colors using a multitool. /🆑 --------- Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com> Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com> Co-authored-by: xPokee <catmc8565@gmail.com>
This commit is contained in:
co-authored by
The Sharkening
Roxy
xPokee
parent
b169a362c7
commit
b6f901d7f8
@@ -15,6 +15,9 @@
|
||||
//For the hemophage quirk that allows hemophages to eat/drink normal food/drink.
|
||||
#define TRAIT_MASQUERADE_FOOD "masquerade_food"
|
||||
|
||||
/// Preference toggleable trait that gives a mob four eyes
|
||||
#define TRAIT_QUAD_EYES "quad_eyes"
|
||||
|
||||
//basic security hud
|
||||
#define TRAIT_BASIC_SECURITY_HUD "basic_security_hud"
|
||||
|
||||
|
||||
@@ -388,6 +388,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
|
||||
"TRAIT_MARTIAL_ARTS_IMMUNE" = TRAIT_MARTIAL_ARTS_IMMUNE,
|
||||
"TRAIT_MANSUS_TOUCHED" = TRAIT_MANSUS_TOUCHED,
|
||||
"TRAIT_MASQUERADE_FOOD" = TRAIT_MASQUERADE_FOOD, // BUBBER EDIT
|
||||
"TRAIT_QUAD_EYES" = TRAIT_QUAD_EYES, // BUBBER EDIT
|
||||
"TRAIT_MEDICAL_HUD" = TRAIT_MEDICAL_HUD,
|
||||
"TRAIT_MEDICAL_HUD_SENSOR_ONLY" = TRAIT_MEDICAL_HUD_SENSOR_ONLY,
|
||||
"TRAIT_MESON_VISION" = TRAIT_MESON_VISION,
|
||||
|
||||
@@ -273,6 +273,21 @@
|
||||
|
||||
var/mutable_appearance/eye_left = mutable_appearance(eye_icon, "[eye_icon_state]_l", -eyes_layer, parent) // SKYRAT EDIT CHANGE - Customization - ORIGINAL: var/mutable_appearance/eye_left = mutable_appearance('icons/mob/human/human_face.dmi', "[eye_icon_state]_l", -EYES_LAYER, parent)
|
||||
var/mutable_appearance/eye_right = mutable_appearance(eye_icon, "[eye_icon_state]_r", -eyes_layer, parent) // SKYRAT EDIT CHANGE - Customization - ORIGINAL: var/mutable_appearance/eye_right = mutable_appearance('icons/mob/human/human_face.dmi', "[eye_icon_state]_r", -EYES_LAYER, parent)
|
||||
|
||||
// BEGIN BUBBER ADDITION:
|
||||
if(HAS_TRAIT(owner, TRAIT_QUAD_EYES)) // (*) (*) v (*) (*)
|
||||
var/mutable_appearance/eye_left_2 = new /mutable_appearance(eye_left)
|
||||
eye_left_2.pixel_x -= 1
|
||||
eye_left_2.pixel_y += parent.quad_eyes_offset
|
||||
var/mutable_appearance/eye_right_2 = new /mutable_appearance(eye_right)
|
||||
eye_right_2.pixel_x += 1
|
||||
eye_right_2.pixel_y += parent.quad_eyes_offset
|
||||
|
||||
eye_left.underlays.Add(eye_left_2)
|
||||
eye_right.underlays.Add(eye_right_2)
|
||||
|
||||
// END BUBBER ADDITION
|
||||
|
||||
var/list/overlays = list(eye_left, eye_right)
|
||||
|
||||
if(overlay_ignore_lighting && !(parent.obscured_slots & HIDEEYES))
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
/datum/preference/toggle/quad_eyes
|
||||
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
|
||||
savefile_key = "quad_eyes"
|
||||
savefile_identifier = PREFERENCE_CHARACTER
|
||||
priority = PREFERENCE_PRIORITY_BODYPARTS + 0.1
|
||||
default_value = FALSE
|
||||
|
||||
/datum/preference/toggle/quad_eyes/is_accessible(datum/preferences/preferences)
|
||||
if(!..(preferences))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/preference/toggle/quad_eyes/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
|
||||
if(!value)
|
||||
return
|
||||
ADD_TRAIT(target, TRAIT_QUAD_EYES, TRAIT_GENERIC)
|
||||
|
||||
/datum/preference/numeric/quad_eyes_offset
|
||||
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
|
||||
savefile_key = "quad_eyes_offset"
|
||||
savefile_identifier = PREFERENCE_CHARACTER
|
||||
maximum = 0 // Any value higher than this and the eyes don't appear after the character is spawned in.
|
||||
minimum = -2
|
||||
|
||||
/datum/preference/numeric/quad_eyes_offset/is_accessible(datum/preferences/preferences)
|
||||
if(!..(preferences))
|
||||
return FALSE
|
||||
return (preferences.read_preference(/datum/preference/toggle/quad_eyes))
|
||||
|
||||
/datum/preference/numeric/quad_eyes_offset/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences)
|
||||
if(!value)
|
||||
return
|
||||
target.quad_eyes_offset = value
|
||||
@@ -1,3 +1,7 @@
|
||||
/mob/living/carbon/human
|
||||
/// Quad eyes offset in pixels. Positive is up, negative is down. (Suggested to not go above 2 or below -2)
|
||||
var/quad_eyes_offset = 0
|
||||
|
||||
/mob/living/carbon/human/species/shadekin
|
||||
race = /datum/species/shadekin
|
||||
|
||||
|
||||
@@ -16,3 +16,10 @@
|
||||
blink_animation = FALSE
|
||||
iris_overlay = null
|
||||
lighting_cutoff = LIGHTING_CUTOFF_LOW
|
||||
|
||||
/obj/item/organ/eyes/robotic/multitool_act(mob/living/user, obj/item/tool)
|
||||
. = ..()
|
||||
// Choose left and right eye color
|
||||
to_chat(user, span_notice("Changing Eye Color: Pressing 'Cancel' or closing out the window will return the eye's current color."))
|
||||
eye_color_left = tgui_color_picker(user, "Pick a new color", "Left Eye Color", eye_color_left)
|
||||
eye_color_right = tgui_color_picker(user, "Pick a new color", "Right Eye Color", eye_color_right)
|
||||
|
||||
@@ -9312,6 +9312,7 @@
|
||||
#include "modular_zubbers\code\modules\customization\height_scaling\icons.dm"
|
||||
#include "modular_zubbers\code\modules\customization\height_scaling\preferences.dm"
|
||||
#include "modular_zubbers\code\modules\customization\modules\reagents\drink_reagents.dm"
|
||||
#include "modular_zubbers\code\modules\customization\quad_eyes\preferences.dm"
|
||||
#include "modular_zubbers\code\modules\customization\species\lycans\__DEFINES.dm"
|
||||
#include "modular_zubbers\code\modules\customization\species\lycans\_cursekin_species.dm"
|
||||
#include "modular_zubbers\code\modules\customization\species\lycans\_lycan_species.dm"
|
||||
|
||||
+12
@@ -271,6 +271,18 @@ export const ears_emissive: Feature<boolean[]> = {
|
||||
component: FeatureTriBoolInput,
|
||||
};
|
||||
|
||||
export const quad_eyes: FeatureToggle = {
|
||||
name: 'Quad Eyes',
|
||||
description:
|
||||
'Gives the character four eyes, may have some oddities with custom eyes (Snail, moth, shadekin, akula, etc...) - ( ** v ** )',
|
||||
component: CheckboxInput,
|
||||
};
|
||||
|
||||
export const quad_eyes_offset: Feature<number> = {
|
||||
name: 'Quad Eyes Offset',
|
||||
component: FeatureNumberInput,
|
||||
};
|
||||
|
||||
export const wings_toggle: FeatureToggle = {
|
||||
name: 'Wings',
|
||||
component: CheckboxInput,
|
||||
|
||||
Reference in New Issue
Block a user