Skip to content

Commit

Permalink
the rattus
Browse files Browse the repository at this point in the history
  • Loading branch information
CannibalHunter committed Nov 6, 2023
1 parent 3cc2955 commit 6eeaea4
Show file tree
Hide file tree
Showing 17 changed files with 517 additions and 0 deletions.
1 change: 1 addition & 0 deletions config/game_options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,7 @@ ROUNDSTART_RACES oozeling
ROUNDSTART_RACES ipc
ROUNDSTART_RACES simian
ROUNDSTART_RACES arachnid
ROUNDSTART_RACES rattus

## Races that are better than humans in some ways, but worse in others
ROUNDSTART_RACES ethereal
Expand Down
9 changes: 9 additions & 0 deletions monkestation/code/__HELPERS/names.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
GLOBAL_LIST_INIT(rattus_last_names, world.file2list("monkestation/strings/names/rattus_last.txt"))
GLOBAL_LIST_INIT(rattus_names_female, world.file2list("monkestation/strings/names/rattus_female_first.txt"))
GLOBAL_LIST_INIT(rattus_names_male, world.file2list("monkestation/strings/names/rattus_male_first.txt"))

/proc/rattus_name(gender)
if(gender == MALE)
return "[pick(GLOB.rattus_names_male)] [pick(GLOB.rattus_last_names)]"
else
return "[pick(GLOB.rattus_names_female)] [pick(GLOB.rattus_last_names)]"
3 changes: 3 additions & 0 deletions monkestation/code/modules/mob/living/carbon/human/human.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
/mob/living/carbon/human/species/arachnid
race = /datum/species/arachnid

/mob/living/carbon/human/species/rattus
race = /datum/species/rattus
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
#define SPECIES_RATTUS "rattus"

#define RATTUS_BELT_ICON 'monkestation/icons/mob/clothing/species/rattus/belts.dmi'
#define RATTUS_BACK_ICON 'monkestation/icons/mob/clothing/species/rattus/back.dmi'

/*
LORE (also called the bullshit i made up with pizza and kitsune)
A cargo ship crashed into the dessert plannet of Voltaire
This cargo ship was full of cheese, wine, and french personel (all of which died)
the rattus being savage cannibals they are go into the cargo ship and eat the fench obsorbing thier dna, turning all of the rattus french.
they later developed space travel and said to NanoTrasen "Bonjour, je suis maintenant là pour voler tout votre fromage !"
*/

/datum/species/rattus
name = "Rattus Norvegicus"
plural_form = "Rattus"
id = SPECIES_RATTUS
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN
species_traits = list(
NO_UNDERWEAR,
MUTCOLORS,
NOEYESPRITES,
)
inherent_traits = list(
TRAIT_NO_JUMPSUIT,
TRAIT_VAULTING,
TRAIT_NIGHT_VISION,
TRAIT_POOR_AIM,
TRAIT_SMOKER,
NOAUGMENTS,
)
inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID
species_cookie = /obj/item/food/cheese/wedge
meat = /obj/item/food/meat/slab/mouse
liked_food = DAIRY | SUGAR | ALCOHOL //("Sad European" -MechaDH)
disliked_food = MEAT | VEGETABLES | RAW | JUNKFOOD | GRAIN | FRUIT | FRIED | GROSS | TOXIC | PINEAPPLE | BREAKFAST | CLOTH | NUTS | SEAFOOD | ORANGES | BUGS | GORE
maxhealthmod = 0.75
stunmod = 1.25
speedmod = -0.3
brutemod = 1.75
burnmod = 4
payday_modifier = 0.5
mutanttongue = /obj/item/organ/internal/tongue/rattus
species_language_holder = /datum/language_holder/rattus
death_sound = "monkestation/sound/voice/rattus/rattusdeath.ogg"
no_equip_flags = ITEM_SLOT_ICLOTHING | ITEM_SLOT_NECK | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_BACKPACK | ITEM_SLOT_BACK
custom_worn_icons = list(
LOADOUT_ITEM_BELT = RATTUS_BELT_ICON,
LOADOUT_ITEM_MISC = RATTUS_BACK_ICON,
)
offset_features = list(
OFFSET_HANDS = list(0,-3),
OFFSET_HEAD = list(0,-5),
OFFSET_SUIT = list(0,-5),
OFFSET_EARS = list(0,-5),
OFFSET_BELT = list(0,-6),
OFFSET_EYES = list(0,-6),
OFFSET_FACE = list(0,-6),
OFFSET_ACCESSORY = list(0,-6),
OFFSET_S_STORE = list(0,-6),
OFFSET_FACEMASK = list(0,-5),
OFFSET_GLASSES = list(0,-6),
)
bodypart_overrides = list(
BODY_ZONE_HEAD = /obj/item/bodypart/head/rattus,
BODY_ZONE_CHEST = /obj/item/bodypart/chest/rattus,
BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/rattus,
BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/rattus,
BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/rattus,
BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/rattus,
)
family_heirlooms = list(
/obj/item/trash/raisins,
/obj/item/trash/cheesie,
/obj/item/trash/candy,
/obj/item/trash/chips,
/obj/item/trash/sosjerky,
/obj/item/trash/pistachios,
/obj/item/trash/peanuts,
/obj/item/trash/boritos,
/obj/item/trash/boritos/green,
/obj/item/trash/boritos/purple,
/obj/item/trash/boritos/red,
/obj/item/trash/popcorn,
/obj/item/trash/energybar,
/obj/item/trash/semki,
/obj/item/trash/cnds,
/obj/item/trash/syndi_cakes,
/obj/item/trash/shrimp_chips,
/obj/item/trash/waffles,
/obj/item/trash/tray,
/obj/item/trash/can,
/obj/item/shard,
/obj/item/broken_bottle,
/obj/item/light/tube/broken,
/obj/item/light/bulb/broken,
/obj/item/assembly/mousetrap/armed,
/obj/item/reagent_containers/cup/rag,
/obj/item/popsicle_stick,
/obj/item/shard/plasma,
)

/datum/species/rattus/get_species_description()
return "Rats, rats, we're the rats. \
We prey at night, we stalk at night, we're the rats. \
I'm the giant rat that makes all of the rules. \
Let's see what kind of trouble we can get ourselves into."

/datum/species/rattus/random_name(gender,unique,lastname)
var/randname = rattus_name(gender)
if(lastname)
randname += " [lastname]"
return randname

/datum/species/rattus/get_scream_sound(mob/living/carbon/human/human)
return 'monkestation/sound/voice/rattus/rattusscream.ogg'

/datum/species/rattus/get_laugh_sound(mob/living/carbon/human/human)
return 'monkestation/sound/voice/rattus/rattuslaugh.ogg'

/datum/language_holder/rattus
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM), /datum/language/rattus = list(LANGUAGE_ATOM))
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM), /datum/language/rattus = list(LANGUAGE_ATOM))

/datum/language/rattus
name = "Rattus French"
desc = "The traditional lanugage of the Rattus peoples."
key = "r"
space_chance = 100
default_priority = 90
syllables = list("lager","maotai","bulleit","cognac","raki","mojito","smirnoff","brandy","sazerac","parmesan","mozzarella","ricotta","brie","camembert","provolone","gorgonzola","muenster","mascarpone","monterey","havarti","squeak","(rat sounds)","hon","hun","baugete","baugette","cigarette","viva","wine","cheese","fromage","omelette-du-fromage","(INCOHERENT YELLING)","fuck","tabarnak","le","honhonhon","accoutrement","eiffel-tower","blue-cheese")
icon = 'monkestation/icons/misc/language.dmi'
icon_state = "rattus"

/obj/item/bodypart/head/rattus
icon_greyscale = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
husk_type = "rattus"
icon_husk = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
limb_id = SPECIES_RATTUS
is_dimorphic = FALSE
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM
dmg_overlay_type = "monkey"

/obj/item/bodypart/head/rattus
icon_greyscale = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
husk_type = "rattus"
icon_husk = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
limb_id = SPECIES_RATTUS
is_dimorphic = FALSE
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM
dmg_overlay_type = "monkey"

/obj/item/bodypart/chest/rattus
icon_greyscale = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
husk_type = "rattus"
icon_husk = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
limb_id = SPECIES_RATTUS
is_dimorphic = FALSE
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM
dmg_overlay_type = "monkey"

/obj/item/bodypart/arm/left/rattus
icon_greyscale = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
husk_type = "rattus"
icon_husk = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
limb_id = SPECIES_RATTUS
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM
dmg_overlay_type = "monkey"

/obj/item/bodypart/arm/right/rattus
icon_greyscale = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
husk_type = "rattus"
icon_husk = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
limb_id = SPECIES_RATTUS
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM
dmg_overlay_type = "monkey"

/obj/item/bodypart/leg/left/rattus
icon_greyscale = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
husk_type = "rattus"
icon_husk = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
limb_id = SPECIES_RATTUS
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM
dmg_overlay_type = "monkey"


/obj/item/bodypart/leg/right/rattus
icon_greyscale = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
husk_type = "rattus"
icon_husk = 'monkestation/icons/mob/species/rattus/bodyparts.dmi'
limb_id = SPECIES_RATTUS
bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM
dmg_overlay_type = "monkey"

/obj/item/organ/internal/tongue/rattus
name = "rattus tongue"
desc = "A fleshy muscle mostly used for lying. Reaks of alcohol and cheese."
say_mod = "squeaks"

/obj/item/organ/internal/tongue/rattus/get_possible_languages()
return ..() + /datum/language/rattus
Binary file modified monkestation/icons/misc/language.dmi
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added monkestation/sound/voice/rattus/rattusdeath.ogg
Binary file not shown.
Binary file added monkestation/sound/voice/rattus/rattuslaugh.ogg
Binary file not shown.
Binary file added monkestation/sound/voice/rattus/rattusscream.ogg
Binary file not shown.
100 changes: 100 additions & 0 deletions monkestation/strings/names/rattus_female_first.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
Abby
Alice
Amber
Angel
Bella
Biscuit
Blossom
Bonnie
Buttercup
Callie
Candy
Caramel
Cassie
Celeste
Charlotte
Cherry
Cinnamon
Cleo
Clover
Cookie
Daisy
Daphne
Dixie
Dolly
Ember
Evie
Faith
Fifi
Fluffy
Freckles
Ginger
Gypsy
Hazel
Honey
Ivy
Jasmine
Jewel
Josie
Joy
Juno
Kiki
Kira
Lacey
Layla
Lexi
Lily
Luna
Maisy
Maple
Margo
Marigold
Matilda
Mia
Millie
Mocha
Molly
Nala
Nibbles
Nutmeg
Olive
Penny
Pepper
Petal
Phoebe
Pixie
Poppy
Pumpkin
Rosie
Ruby
Sadie
Saffron
Sassy
Scout
Skittles
Snickers
Squeaky
Star
Stella
Sunny
Sweetie
Taffy
Tinkerbell
Tulip
Twinkle
Willow
Winnie
Xena
Yara
Yuki
Zoey
Zara
Zinnia
Zuzu
Ziggy
Zara
Zia
Zola
Zuri
Zeva
Zia
Loading

0 comments on commit 6eeaea4

Please sign in to comment.