From 2610db486f7a22b9f9953f6dc222c9d5a88c933c Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Fri, 9 Jul 2021 12:15:37 -0400 Subject: [PATCH] Merge pull request #10982 from VOREStation/Arokha/omnipets Port and move all the pets!!! --- code/modules/mob/holder.dm | 99 ++++++++++++++++++ .../subtypes/animal/passive/possum.dm | 1 + .../simple_mob/subtypes/animal/pets/bird.dm | 11 -- .../simple_mob/subtypes/animal/pets/cat.dm | 93 +++++++++++++--- .../simple_mob/subtypes/animal/pets/cat_vr.dm | 7 -- .../simple_mob/subtypes/animal/pets/dog.dm | 35 ++++++- .../simple_mob/subtypes/animal/pets/fox_vr.dm | 5 +- icons/mob/animal.dmi | Bin 308709 -> 264951 bytes icons/mob/fox_vr.dmi | Bin 6660 -> 0 bytes icons/mob/items/lefthand_holder.dmi | Bin 14590 -> 23752 bytes icons/mob/items/righthand_holder.dmi | Bin 14563 -> 23797 bytes icons/mob/pets.dmi | Bin 0 -> 91816 bytes 12 files changed, 218 insertions(+), 33 deletions(-) delete mode 100644 icons/mob/fox_vr.dmi create mode 100644 icons/mob/pets.dmi diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index ae307bd131..088a7dda78 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -102,38 +102,137 @@ var/list/holder_mob_icon_cache = list() /obj/item/weapon/holder/diona origin_tech = list(TECH_MAGNET = 3, TECH_BIO = 5) slot_flags = SLOT_HEAD | SLOT_OCLOTHING | SLOT_HOLSTER + item_state = "diona" /obj/item/weapon/holder/drone origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 5) + item_state = "repairbot" /obj/item/weapon/holder/drone/swarm origin_tech = list(TECH_MAGNET = 6, TECH_ENGINEERING = 7, TECH_PRECURSOR = 2, TECH_ARCANE = 1) + item_state = "constructiondrone" /obj/item/weapon/holder/pai origin_tech = list(TECH_DATA = 2) +/obj/item/weapon/holder/pai/Initialize(mapload, mob/held) + . = ..() + item_state = held.icon_state + /obj/item/weapon/holder/mouse w_class = ITEMSIZE_TINY +/obj/item/weapon/holder/pai/Initialize(mapload, mob/held) + . = ..() + item_state = held.icon_state + /obj/item/weapon/holder/possum origin_tech = list(TECH_BIO = 2) + item_state = "possum" /obj/item/weapon/holder/possum/poppy origin_tech = list(TECH_BIO = 2, TECH_ENGINEERING = 4) + item_state = "poppy" /obj/item/weapon/holder/cat origin_tech = list(TECH_BIO = 2) + item_state = "cat" /obj/item/weapon/holder/cat/runtime origin_tech = list(TECH_BIO = 2, TECH_DATA = 4) +/obj/item/weapon/holder/cat/cak + origin_tech = list(TECH_BIO = 2) + item_state = "cak" + +/obj/item/weapon/holder/cat/bluespace + origin_tech = list(TECH_BIO = 2, TECH_BLUESPACE = 6) + item_state = "bscat" + +/obj/item/weapon/holder/cat/spacecat + origin_tech = list(TECH_BIO = 2, TECH_MATERIAL = 4) + item_state = "spacecat" + +/obj/item/weapon/holder/cat/original + origin_tech = list(TECH_BIO = 2, TECH_BLUESPACE = 4) + item_state = "original" + +/obj/item/weapon/holder/cat/breadcat + origin_tech = list(TECH_BIO = 2) + item_state = "breadcat" + +/obj/item/weapon/holder/corgi + origin_tech = list(TECH_BIO = 2) + item_state = "corgi" + +/obj/item/weapon/holder/lisa + origin_tech = list(TECH_BIO = 2) + item_state = "lisa" + +/obj/item/weapon/holder/old_corgi + origin_tech = list(TECH_BIO = 2) + item_state = "old_corgi" + +/obj/item/weapon/holder/void_puppy + origin_tech = list(TECH_BIO = 2, TECH_BLUESPACE = 3) + item_state = "void_puppy" + +/obj/item/weapon/holder/narsian + origin_tech = list(TECH_BIO = 2, TECH_ILLEGAL = 3) + item_state = "narsian" + +/obj/item/weapon/holder/bullterrier + origin_tech = list(TECH_BIO = 2) + item_state = "bullterrier" + +/obj/item/weapon/holder/fox + origin_tech = list(TECH_BIO = 2) + item_state = "fox" + +/obj/item/weapon/holder/pug + origin_tech = list(TECH_BIO = 2) + item_state = "pug" + +/obj/item/weapon/holder/sloth + origin_tech = list(TECH_BIO = 2) + item_state = "sloth" + /obj/item/weapon/holder/borer origin_tech = list(TECH_BIO = 6) + item_state = "brainslug" /obj/item/weapon/holder/leech color = "#003366" origin_tech = list(TECH_BIO = 5, TECH_PHORON = 2) +/obj/item/weapon/holder/cat/fluff/tabiranth + name = "Spirit" + desc = "A small, inquisitive feline, who constantly seems to investigate his surroundings." + gender = MALE + icon_state = "kitten" + w_class = ITEMSIZE_SMALL + +/obj/item/weapon/holder/cat/kitten + icon_state = "kitten" + w_class = ITEMSIZE_SMALL + +/obj/item/weapon/holder/cat/fluff/bones + name = "Bones" + desc = "It's Bones! Meow." + gender = MALE + icon_state = "cat3" + +/obj/item/weapon/holder/bird + name = "bird" + desc = "It's a bird!" + icon_state = null + item_icons = null + w_class = ITEMSIZE_SMALL + +/obj/item/weapon/holder/bird/Initialize() + . = ..() + held_mob?.lay_down() + /obj/item/weapon/holder/fish attack_verb = list("fished", "disrespected", "smacked", "smackereled") hitsound = 'sound/effects/slime_squish.ogg' diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm index 71e8c3331a..614a15a5b3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/possum.dm @@ -111,6 +111,7 @@ real_name = "opossum" tt_desc = "Didelphis astrum" desc = "It's an opossum, a small scavenging marsupial." + icon = 'icons/mob/pets.dmi' icon_state = "possum" item_state = "possum" icon_living = "possum" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm index d5ecc67d9f..5741727f69 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/bird.dm @@ -38,17 +38,6 @@ emote_hear = list("chirps","caws") emote_see = list("shakes their head", "ruffles their feathers") -/obj/item/weapon/holder/bird - name = "bird" - desc = "It's a bird!" - icon_state = null - item_icons = null - w_class = ITEMSIZE_SMALL - -/obj/item/weapon/holder/bird/Initialize() - . = ..() - held_mob?.lay_down() - // Subtypes for birbs. /mob/living/simple_mob/animal/passive/bird/black_bird name = "common blackbird" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm index 3c8cd73f09..2c203844e3 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat.dm @@ -31,6 +31,7 @@ var/list/_cat_default_emotes = list( name = "cat" desc = "A domesticated, feline pet. Has a tendency to adopt crewmembers." tt_desc = "E Felis silvestris catus" + icon = 'icons/mob/pets.dmi' icon_state = "cat2" item_state = "cat2" @@ -151,15 +152,8 @@ var/list/_cat_default_emotes = list( return ..() /mob/living/simple_mob/animal/passive/cat/black - icon_state = "cat" - item_state = "cat" - -// Leaving this here for now. -/obj/item/weapon/holder/cat/fluff/bones - name = "Bones" - desc = "It's Bones! Meow." - gender = MALE icon_state = "cat3" + item_state = "cat3" /mob/living/simple_mob/animal/passive/cat/bones name = "Bones" @@ -170,10 +164,85 @@ var/list/_cat_default_emotes = list( named = TRUE holder_type = /obj/item/weapon/holder/cat/fluff/bones -// VOREStation Edit - Adds generic tactical kittens -/obj/item/weapon/holder/cat/kitten - icon_state = "kitten" - w_class = ITEMSIZE_SMALL +// SPARKLY +/mob/living/simple_mob/animal/passive/cat/bluespace + name = "bluespace cat" + desc = "Shiny cat, shiny cat, it's not your fault." + tt_desc = "E Felis silvestris argentum" + icon_state = "bscat" + icon_living = "bscat" + icon_rest = null + icon_dead = null + makes_dirt = 0 + holder_type = /obj/item/weapon/holder/cat/bluespace + +/mob/living/simple_mob/animal/passive/cat/bluespace/death() + animate(src, alpha = 0, color = "#0000FF", time = 0.5 SECOND) + spawn(0.5 SECOND) + qdel(src) + +/mob/living/simple_mob/animal/passive/cat/bread + name = "bread cat" + desc = "Brought lunch to work." + tt_desc = "E Felis silvestris breadinum" + icon_state = "breadcat" + icon_living = "breadcat" + icon_rest = "breadcat_rest" + icon_dead = "breadcat_dead" + //icon_sit = "breadcat_sit" + makes_dirt = 0 + holder_type = /obj/item/weapon/holder/cat/breadcat + +/mob/living/simple_mob/animal/passive/cat/original + name = "original cat" + desc = "Donut steal." + tt_desc = "E Felis silvestris originalis" + icon_state = "original" + icon_living = "original" + icon_rest = "original_rest" + icon_dead = "original_dead" + //icon_sit = "original_sit" + makes_dirt = 0 + holder_type = /obj/item/weapon/holder/cat/original + +/mob/living/simple_mob/animal/passive/cat/cak + name = "cak" + desc = "Optimal combination of things?" + tt_desc = "E Felis silvestris dessertus" + icon_state = "cak" + icon_living = "cak" + icon_rest = "cak_rest" + icon_dead = "cak_dead" + //icon_sit = "cak_sit" + makes_dirt = 0 + holder_type = /obj/item/weapon/holder/cat/cak + +/mob/living/simple_mob/animal/passive/cat/space + name = "space cat" + desc = "Did someone write a song about this cat?" + tt_desc = "E Felis silvestris stellaris" + icon_state = "spacecat" + icon_living = "spacecat" + icon_rest = "spacecat_rest" + icon_dead = "spacecat_dead" + //icon_sit = "spacecat_sit" + holder_type = /obj/item/weapon/holder/cat/spacecat + makes_dirt = 0 + + minbodytemp = 0 // Minimum "okay" temperature in kelvin + maxbodytemp = 900 // Maximum of above + heat_damage_per_tick = 3 // Amount of damage applied if animal's body temperature is higher than maxbodytemp + cold_damage_per_tick = 2 // Same as heat_damage_per_tick, only if the bodytemperature it's lower than minbodytemp + + min_oxy = 0 // Oxygen in moles, minimum, 0 is 'no minimum' + max_oxy = 0 // Oxygen in moles, maximum, 0 is 'no maximum' + min_tox = 0 // Phoron min + max_tox = 0 // Phoron max + min_co2 = 0 // CO2 min + max_co2 = 0 // CO2 max + min_n2 = 0 // N2 min + max_n2 = 0 // N2 max + unsuitable_atoms_damage = 2 // This damage is taken when atmos doesn't fit all the requirements above /datum/say_list/cat speak = list("Meow!","Esp!","Purr!","HSSSSS") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm index 3b88f672ca..79f24e78aa 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/cat_vr.dm @@ -33,13 +33,6 @@ "Your form begins to slowly soften and break apart, rounding out Runtime's swollen belly. The carnivorous cat rumbles and purrs happily at the feeling of such a filling meal.") // Ascian's Tactical Kitten -/obj/item/weapon/holder/cat/fluff/tabiranth - name = "Spirit" - desc = "A small, inquisitive feline, who constantly seems to investigate his surroundings." - gender = MALE - icon_state = "kitten" - w_class = ITEMSIZE_SMALL - /mob/living/simple_mob/animal/passive/cat/tabiranth name = "Spirit" desc = "A small, inquisitive feline, who constantly seems to investigate his surroundings." diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm index 2a579487ed..6903a68d8d 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm @@ -3,6 +3,7 @@ real_name = "dog" desc = "It's a dog." tt_desc = "E Canis lupus familiaris" + icon = 'icons/mob/pets.dmi' icon_state = "corgi" icon_living = "corgi" icon_dead = "corgi_dead" @@ -87,6 +88,7 @@ icon_state = "corgi" icon_living = "corgi" icon_dead = "corgi_dead" + holder_type = /obj/item/weapon/holder/corgi /mob/living/simple_mob/animal/passive/dog/corgi/puppy name = "corgi puppy" @@ -95,6 +97,7 @@ icon_state = "puppy" icon_living = "puppy" icon_dead = "puppy_dead" + holder_type = /obj/item/weapon/holder/corgi //pupplies cannot wear anything. /mob/living/simple_mob/animal/passive/dog/corgi/puppy/Topic(href, href_list) @@ -121,6 +124,7 @@ var/turns_since_scan = 0 var/obj/movement_target makes_dirt = FALSE //VOREStation edit: no more dirt + holder_type = /obj/item/weapon/holder/corgi /mob/living/simple_mob/animal/passive/dog/corgi/Ian/Life() ..() @@ -185,6 +189,7 @@ response_harm = "kicks" var/turns_since_scan = 0 var/puppies = 0 + holder_type = /obj/item/weapon/holder/lisa //Lisa already has a cute bow! /mob/living/simple_mob/animal/passive/dog/corgi/Lisa/Topic(href, href_list) @@ -224,6 +229,35 @@ set_dir(i) sleep(1) +//NARSIAN HAS COME +/mob/living/simple_mob/animal/passive/dog/corgi/narsian + name = "Nars-Ian" + desc = "It's a corgi???" + icon_state = "narsian" + icon_living = "narsian" + icon_rest = "narsian_rest" + icon_dead = "narsian_dead" + + makes_dirt = FALSE + holder_type = /obj/item/weapon/holder/narsian + +/mob/living/simple_mob/animal/passive/dog/void_puppy + name = "void puppy" + desc = "My stars!" + icon_state = "void_puppy" + icon_living = "void_puppy" + icon_dead = "void_puppy_dead" + holder_type = /obj/item/weapon/holder/void_puppy + +/mob/living/simple_mob/animal/passive/dog/bullterrier + name = "bull terrier" + desc = "It's a bull terrier." + icon_state = "bullterrier" + icon_living = "bullterrier" + icon_dead = "bullterrier_dead" + icon_rest = null + holder_type = /obj/item/weapon/holder/bullterrier + // Tamaskans /mob/living/simple_mob/animal/passive/dog/tamaskan name = "tamaskan" @@ -240,7 +274,6 @@ desc = "It's a tamaskan, the name Spice can be found on its collar." // Brittany Spaniel - /mob/living/simple_mob/animal/passive/dog/brittany name = "brittany" real_name = "brittany" diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm index 0ff5beef37..1140250fb2 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/fox_vr.dm @@ -7,7 +7,7 @@ icon_living = "fox2" icon_dead = "fox2_dead" icon_rest = "fox2_rest" - icon = 'icons/mob/fox_vr.dmi' + icon = 'icons/mob/pets.dmi' movement_cooldown = 0.5 see_in_dark = 6 @@ -28,6 +28,7 @@ say_list_type = /datum/say_list/fox ai_holder_type = /datum/ai_holder/simple_mob/fox + holder_type = /obj/item/weapon/holder/fox var/turns_since_scan = 0 var/mob/flee_target @@ -228,7 +229,7 @@ name = "syndi-fox" desc = "It's a DASTARDLY fox! The horror! Call the shuttle!" tt_desc = "Vulpes malus" - icon = 'icons/mob/fox_vr.dmi' + icon = 'icons/mob/pets.dmi' icon_state = "syndifox" icon_living = "syndifox" icon_dead = "syndifox_dead" diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 47ebeb11faf66359fe713e687720fd9b90eeea74..fd99eed3f02c89016475f1bee64a87e16a8e6748 100644 GIT binary patch literal 264951 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