Skip to content

Commit

Permalink
Merge pull request #256 from Glyphee/goblintime
Browse files Browse the repository at this point in the history
Goblin Time
  • Loading branch information
dwasint authored Aug 26, 2023
2 parents d43f813 + b412586 commit b913543
Show file tree
Hide file tree
Showing 18 changed files with 206 additions and 1 deletion.
1 change: 1 addition & 0 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ GLOBAL_LIST_INIT(turfs_openspace, typecacheof(list(
#define isandroid(A) (is_species(A, /datum/species/android))
#define isnightmare(A) (is_species(A, /datum/species/shadow/nightmare))
#define isipc(A) (is_species(A, /datum/species/ipc))
#define isgoblin(A) (is_species(A, /datum/species/goblin))//monkestation addition


//More carbon mobs
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@
#define SPECIES_OOZELING "oozeling"
#define SPECIES_IPC "ipc"
#define SPECIES_SIMIAN "simian"
#define SPECIES_GOBLIN "goblin"//monkestation addition
// Like species IDs, but not specifically attached a species.
#define BODYPART_ID_ALIEN "alien"
#define BODYPART_ID_ROBOTIC "robotic"
Expand Down
1 change: 1 addition & 0 deletions code/__HELPERS/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/anime_bottom, GLOB.anime_bottom_list) //Monkestation Addition
init_sprite_accessory_subtypes(/datum/sprite_accessory/arachnid_appendages, GLOB.arachnid_appendages_list) //Monkestation Addition
init_sprite_accessory_subtypes(/datum/sprite_accessory/arachnid_chelicerae, GLOB.arachnid_chelicerae_list) //Monkestation Addition
init_sprite_accessory_subtypes(/datum/sprite_accessory/goblin_ears, GLOB.goblin_ears_list) //Monkestation Addition

//Species
for(var/spath in subtypesof(/datum/species))
Expand Down
3 changes: 3 additions & 0 deletions code/__HELPERS/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/arachnid_appendages, GLOB.arachnid_appendages_list)
if(!GLOB.arachnid_chelicerae_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/arachnid_chelicerae, GLOB.arachnid_chelicerae_list)
if(!GLOB.goblin_ears_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/goblin_ears, GLOB.goblin_ears_list)
//Monkestation Addition End

//For now we will always return none for tail_human and ears. | "For now" he says.
Expand Down Expand Up @@ -140,6 +142,7 @@
"arachnid_appendages" = pick(GLOB.arachnid_appendages_list), //Monkestation Addition
"arachnid_chelicerae" = pick(GLOB.arachnid_chelicerae_list), //Monkestation Addition
"animecolor" = "#[pick("7F","FF")][pick("7F","FF")][pick("7F","FF")]", //Monkestation Addition
"goblin_ears" = pick(GLOB.goblin_ears_list) //Monkestation Addition
))

/proc/random_hairstyle(gender)
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/lists/flavor_misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ GLOBAL_LIST_EMPTY(anime_middle_list) //Monkestation Addition
GLOBAL_LIST_EMPTY(anime_bottom_list) //Monkestation Addition
GLOBAL_LIST_EMPTY(arachnid_appendages_list) //Monkestation Addition
GLOBAL_LIST_EMPTY(arachnid_chelicerae_list) //Monkestation Addition
GLOBAL_LIST_EMPTY(goblin_ears_list) //Monkestation Addition

GLOBAL_LIST_INIT(color_list_ethereal, list(
"Blue" = "#3399ff",
Expand Down
1 change: 1 addition & 0 deletions code/modules/mob/living/carbon/human/dummy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy)
target.dna.features["anime_bottom"] = "None" //Monkestation Addition
target.dna.features["arachnid_appendages"] = "Long" //Monkestation Addition
target.dna.features["arachnid_chelicerae"] = "Basic" //Monkestation Addition
target.dna.features["goblin_ears"] = "Normal" //Monkestation Addition

/// Provides a dummy that is consistently bald, white, naked, etc.
/mob/living/carbon/human/dummy/consistent
Expand Down
3 changes: 2 additions & 1 deletion code/modules/surgery/organs/tongue.dm
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@
/datum/language/shadowtongue,
/datum/language/terrum,
/datum/language/nekomimetic,
/datum/language/ratvar, //monkestation edit
/datum/language/ratvar, //Monkestation Edit
/datum/language/goblin, //Monkestation Addition
)

/obj/item/organ/internal/tongue/proc/handle_speech(datum/source, list/speech_args)
Expand Down
1 change: 1 addition & 0 deletions config/game_options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,7 @@ ROUNDSTART_RACES arachnid

## Races that are better than humans in some ways, but worse in others
ROUNDSTART_RACES ethereal
ROUNDSTART_RACES goblin
#ROUNDSTART_RACES jelly
#ROUNDSTART_RACES abductor
#ROUNDSTART_RACES synth
Expand Down
3 changes: 3 additions & 0 deletions monkestation/code/game/objects/items/effects/amogus.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
if(issimian(granter))
to_chat(granter, span_notice("Sorry but simians are to small to be turned into amogus you have not been charged."))
return FALSE
if(isgoblin(granter))
to_chat(granter, span_notice("Sorry but goblins are to small to be turned into amogus you have not been charged."))
return FALSE
granter.apply_displacement_icon(/obj/effect/distortion/large/amogus)
granter.AddElement(/datum/element/waddling)
granter.can_be_held = TRUE
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/datum/preference/choiced/goblin_ears
savefile_key = "feature_goblin_ears"
savefile_identifier = PREFERENCE_CHARACTER
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Goblin Ears"
should_generate_icons = TRUE

/datum/preference/choiced/goblin_ears/init_possible_values()
return possible_values_for_sprite_accessory_list_for_body_part(
GLOB.goblin_ears_list,
"goblin_ears",
list("ADJ", "FRONT"),
)

/datum/preference/choiced/goblin_ears/apply_to_human(mob/living/carbon/human/target, value)
target.dna.features["goblin_ears"] = value
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/datum/sprite_accessory/goblin_ears
icon = 'monkestation/icons/mob/species/goblin/goblin_ears.dmi'
color_src = MUTCOLORS

/datum/sprite_accessory/goblin_ears/normal
name = "Normal"
icon_state = "normal"

/datum/sprite_accessory/goblin_ears/wide
name = "Wide"
icon_state = "wide"

/datum/sprite_accessory/goblin_ears/broad
name = "Broad"
icon_state = "broad"

/datum/sprite_accessory/goblin_ears/long
name = "Long"
icon_state = "long"

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/obj/item/organ/external/goblin_ears
name = "goblin ears"
desc = "They don't actually let you hear better."
icon_state = "goblin_ears"
icon = 'monkestation/icons/obj/medical/organs/organs.dmi'

preference = "feature_goblin_ears"
zone = BODY_ZONE_HEAD
slot = ORGAN_SLOT_EXTERNAL_FRILLS

use_mob_sprite_as_obj_sprite = TRUE
bodypart_overlay = /datum/bodypart_overlay/mutant/goblin_ears

/datum/bodypart_overlay/mutant/goblin_ears
layers = EXTERNAL_ADJACENT | EXTERNAL_FRONT
feature_key = "goblin_ears"

/datum/bodypart_overlay/mutant/goblin_ears/get_global_feature_list()
return GLOB.goblin_ears_list

/datum/bodypart_overlay/mutant/goblin_ears/get_base_icon_state()
return sprite_datum.icon_state

/datum/bodypart_overlay/mutant/goblin_ears/can_draw_on_bodypart(mob/living/carbon/human/human)
return TRUE
Binary file modified monkestation/icons/misc/language.dmi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified monkestation/icons/obj/medical/organs/organs.dmi
Binary file not shown.
4 changes: 4 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -5690,6 +5690,7 @@
#include "monkestation\code\modules\client\preferences\alt_jobs\_job.dm"
#include "monkestation\code\modules\client\preferences\alt_jobs\titles.dm"
#include "monkestation\code\modules\client\preferences\species_features\arachnid.dm"
#include "monkestation\code\modules\client\preferences\species_features\goblin.dm"
#include "monkestation\code\modules\client\preferences\species_features\ipc.dm"
#include "monkestation\code\modules\client\preferences\species_features\secondary_mut_color.dm"
#include "monkestation\code\modules\client\preferences\species_features\simians.dm"
Expand Down Expand Up @@ -5852,6 +5853,7 @@
#include "monkestation\code\modules\mob\dead\new_player\sprite_accessories\arachnid_appendages.dm"
#include "monkestation\code\modules\mob\dead\new_player\sprite_accessories\arachnid_chelicerae.dm"
#include "monkestation\code\modules\mob\dead\new_player\sprite_accessories\clockwork_sprites.dm"
#include "monkestation\code\modules\mob\dead\new_player\sprite_accessories\goblin_accessories.dm"
#include "monkestation\code\modules\mob\dead\new_player\sprite_accessories\hair.dm"
#include "monkestation\code\modules\mob\dead\new_player\sprite_accessories\ipc_antenna.dm"
#include "monkestation\code\modules\mob\dead\new_player\sprite_accessories\ipc_chassis.dm"
Expand Down Expand Up @@ -5883,6 +5885,7 @@
#include "monkestation\code\modules\mob\living\carbon\human\species_type\dullahan.dm"
#include "monkestation\code\modules\mob\living\carbon\human\species_type\ethereal.dm"
#include "monkestation\code\modules\mob\living\carbon\human\species_type\flypeople.dm"
#include "monkestation\code\modules\mob\living\carbon\human\species_type\goblin.dm"
#include "monkestation\code\modules\mob\living\carbon\human\species_type\golems.dm"
#include "monkestation\code\modules\mob\living\carbon\human\species_type\humans.dm"
#include "monkestation\code\modules\mob\living\carbon\human\species_type\ipc.dm"
Expand Down Expand Up @@ -6096,6 +6099,7 @@
#include "monkestation\code\modules\surgery\bodyparts\simian_bodyparts.dm"
#include "monkestation\code\modules\surgery\organs\augments.dm"
#include "monkestation\code\modules\surgery\organs\external\anime.dm"
#include "monkestation\code\modules\surgery\organs\external\goblin_accessories.dm"
#include "monkestation\code\modules\surgery\organs\external\ipc.dm"
#include "monkestation\code\modules\surgery\organs\external\simian.dm"
#include "monkestation\code\modules\surgery\organs\external\appendages\appendages.dm"
Expand Down

0 comments on commit b913543

Please sign in to comment.