diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index f0a9eecb5b..78b61ffc26 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 cac9780d9b..42f30cc3d8 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 @@ -31,13 +31,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 63c66aad70..e0473b5b6d 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) @@ -116,6 +119,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() ..() @@ -180,6 +184,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) @@ -219,6 +224,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" @@ -235,7 +269,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 63e7f3fbab..f7524b7be4 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 @@ -224,7 +225,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 47ebeb11fa..fd99eed3f0 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/fox_vr.dmi b/icons/mob/fox_vr.dmi deleted file mode 100644 index 96b5164df5..0000000000 Binary files a/icons/mob/fox_vr.dmi and /dev/null differ diff --git a/icons/mob/items/lefthand_holder.dmi b/icons/mob/items/lefthand_holder.dmi index 3003e5b5a6..e7c1da2fd3 100644 Binary files a/icons/mob/items/lefthand_holder.dmi and b/icons/mob/items/lefthand_holder.dmi differ diff --git a/icons/mob/items/righthand_holder.dmi b/icons/mob/items/righthand_holder.dmi index a29bb598ed..cb874e6181 100644 Binary files a/icons/mob/items/righthand_holder.dmi and b/icons/mob/items/righthand_holder.dmi differ diff --git a/icons/mob/pets.dmi b/icons/mob/pets.dmi new file mode 100644 index 0000000000..aefb954350 Binary files /dev/null and b/icons/mob/pets.dmi differ