diff --git a/_maps/RandomRuins/AnywhereRuins/fountain_hall.dmm b/_maps/RandomRuins/AnywhereRuins/fountain_hall.dmm index bddadc7b0c5..6a62b8f947c 100644 --- a/_maps/RandomRuins/AnywhereRuins/fountain_hall.dmm +++ b/_maps/RandomRuins/AnywhereRuins/fountain_hall.dmm @@ -21,7 +21,7 @@ /turf/open/floor/engine/cult, /area/ruin/unpowered) "g" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/engine/cult, /area/ruin/unpowered) "h" = ( diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_bughabitat.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_bughabitat.dmm index a1b2f29c466..3734cfe2fff 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_bughabitat.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_bughabitat.dmm @@ -178,7 +178,7 @@ /turf/open/floor/plastic, /area/ruin/bughabitat) "uB" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /obj/structure/chair/pew/left{ dir = 8 }, @@ -205,7 +205,7 @@ /turf/open/floor/plastic, /area/ruin/bughabitat) "xq" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /obj/effect/turf_decal/siding/wideplating/light{ color = "#236F26" }, @@ -322,7 +322,7 @@ /obj/item/stack/ducts/fifty{ amount = 23 }, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/plastic, /area/ruin/bughabitat) "Nv" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm index d07438fb016..60d7cd03bfe 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_gaia.dmm @@ -36,9 +36,7 @@ /turf/open/misc/grass/lavaland, /area/ruin/unpowered/gaia) "j" = ( -/mob/living/simple_animal/butterfly{ - atmos_requirements = list() - }, +/mob/living/basic/butterfly/lavaland, /turf/open/misc/grass/lavaland, /area/ruin/unpowered/gaia) "l" = ( @@ -67,9 +65,7 @@ "r" = ( /obj/structure/flora/grass/jungle/b/style_random, /obj/structure/flora/bush/sparsegrass/style_random, -/mob/living/simple_animal/butterfly{ - atmos_requirements = list() - }, +/mob/living/basic/butterfly/lavaland, /turf/open/misc/grass/lavaland, /area/ruin/unpowered/gaia) "s" = ( diff --git a/_maps/RandomRuins/SpaceRuins/spinwardsmoothies.dmm b/_maps/RandomRuins/SpaceRuins/spinwardsmoothies.dmm index 92f0734c4ca..d3ca2e27e37 100644 --- a/_maps/RandomRuins/SpaceRuins/spinwardsmoothies.dmm +++ b/_maps/RandomRuins/SpaceRuins/spinwardsmoothies.dmm @@ -4,7 +4,7 @@ /turf/open/floor/grass, /area/ruin/space/has_grav/spinwardsmoothies) "dq" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/ruin/space/has_grav/spinwardsmoothies) "dD" = ( @@ -30,7 +30,7 @@ /area/ruin/space/has_grav/spinwardsmoothies) "rf" = ( /obj/structure/flora/bush/flowers_br/style_random, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/ruin/space/has_grav/spinwardsmoothies) "ri" = ( @@ -55,7 +55,7 @@ /area/ruin/space/has_grav/spinwardsmoothies) "uX" = ( /obj/structure/flora/bush/flowers_pp/style_random, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/ruin/space/has_grav/spinwardsmoothies) "xc" = ( @@ -190,7 +190,7 @@ /area/ruin/space/has_grav/spinwardsmoothies) "UZ" = ( /obj/structure/flora/bush/flowers_yw/style_random, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/ruin/space/has_grav/spinwardsmoothies) "XG" = ( diff --git a/_maps/RandomRuins/SpaceRuins/vaporwave.dmm b/_maps/RandomRuins/SpaceRuins/vaporwave.dmm index 85cec66e1a3..0650d684a03 100644 --- a/_maps/RandomRuins/SpaceRuins/vaporwave.dmm +++ b/_maps/RandomRuins/SpaceRuins/vaporwave.dmm @@ -91,7 +91,7 @@ /turf/open/floor/iron/vaporwave, /area/ruin/space/has_grav/powered/aesthetic) "w" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/iron/vaporwave, /area/ruin/space/has_grav/powered/aesthetic) "x" = ( diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 4f43cc565bd..34cdf805133 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -10680,7 +10680,7 @@ /turf/open/floor/plating, /area/station/hallway/floor2/aft) "cHn" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/station/hallway/secondary/entry) "cHr" = ( @@ -36656,7 +36656,7 @@ /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/flowers_yw/style_random, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/station/service/bar/atrium) "jLE" = ( @@ -62439,7 +62439,7 @@ "qpF" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/siding/thinplating_new, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/station/hallway/secondary/entry) "qqp" = ( @@ -88355,7 +88355,7 @@ /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/lavendergrass/style_random, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/station/service/bar/atrium) "xit" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm index fcf7a20fb8a..69b84841086 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormmedupper_3.dmm @@ -330,7 +330,7 @@ /turf/open/floor/grass, /area/station/asteroid) "NE" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/station/asteroid) "NX" = ( @@ -355,7 +355,7 @@ /area/station/maintenance/department/crew_quarters/dorms) "Qt" = ( /obj/structure/flora/bush/sparsegrass/style_random, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/station/asteroid) "SV" = ( diff --git a/_maps/map_files/tramstation/maintenance_modules/secbarupper_3.dmm b/_maps/map_files/tramstation/maintenance_modules/secbarupper_3.dmm index 785647138b2..27d1f0538c1 100644 --- a/_maps/map_files/tramstation/maintenance_modules/secbarupper_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/secbarupper_3.dmm @@ -154,11 +154,11 @@ /area/station/maintenance/department/security) "sF" = ( /obj/structure/flora/bush/sparsegrass/style_random, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/station/asteroid) "tc" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/station/asteroid) "tn" = ( diff --git a/_maps/shuttles/emergency_monastery.dmm b/_maps/shuttles/emergency_monastery.dmm index d431a7b5988..8a3ac8da43a 100644 --- a/_maps/shuttles/emergency_monastery.dmm +++ b/_maps/shuttles/emergency_monastery.dmm @@ -3827,7 +3827,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "Zj" = ( -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/shuttle/escape) "Zl" = ( diff --git a/_maps/shuttles/emergency_tranquility.dmm b/_maps/shuttles/emergency_tranquility.dmm index 20f5f98b1a0..20794dc0f3e 100644 --- a/_maps/shuttles/emergency_tranquility.dmm +++ b/_maps/shuttles/emergency_tranquility.dmm @@ -851,7 +851,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 6 }, -/mob/living/simple_animal/butterfly{ +/mob/living/basic/butterfly{ name = "Peacekeeper Henry" }, /turf/open/floor/grass, @@ -2549,7 +2549,7 @@ /turf/open/floor/wood/tile, /area/shuttle/escape) "UJ" = ( -/mob/living/simple_animal/butterfly{ +/mob/living/basic/butterfly{ name = "Peacekeeper Henry" }, /turf/open/floor/grass, @@ -2642,7 +2642,7 @@ /obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/mob/living/simple_animal/butterfly, +/mob/living/basic/butterfly, /turf/open/floor/grass, /area/shuttle/escape) "WM" = ( diff --git a/code/__DEFINES/research.dm b/code/__DEFINES/research.dm index 75360c8488e..34794b5b255 100644 --- a/code/__DEFINES/research.dm +++ b/code/__DEFINES/research.dm @@ -54,6 +54,7 @@ #define CELL_LINE_TABLE_AXOLOTL "cell_line_axolotl_table" #define CELL_LINE_TABLE_WALKING_MUSHROOM "cell_line_walking_mushroom_table" #define CELL_LINE_TABLE_QUEEN_BEE "cell_line_bee_queen_table" +#define CELL_LINE_TABLE_BUTTERFLY "cell_line_butterfly_table" #define CELL_LINE_TABLE_LEAPER "cell_line_leaper_table" #define CELL_LINE_TABLE_MEGA_ARACHNID "cell_line_table_mega_arachnid" diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index b945cbd5854..15f10f8f98b 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1016,7 +1016,7 @@ GLOBAL_LIST_EMPTY(friendly_animal_types) var/image/final_image = image(icon, icon_state=icon_state, loc = A) - if(ispath(SA, /mob/living/simple_animal/butterfly)) + if(ispath(SA, /mob/living/basic/butterfly)) final_image.color = rgb(rand(0,255), rand(0,255), rand(0,255)) // For debugging diff --git a/code/_globalvars/lists/xenobiology.dm b/code/_globalvars/lists/xenobiology.dm index 2b861ff465b..1e247a6279d 100644 --- a/code/_globalvars/lists/xenobiology.dm +++ b/code/_globalvars/lists/xenobiology.dm @@ -72,6 +72,7 @@ GLOBAL_LIST_INIT_TYPED(cell_line_tables, /list, list( CELL_LINE_TABLE_AXOLOTL = list(/datum/micro_organism/cell_line/axolotl = 1), CELL_LINE_TABLE_WALKING_MUSHROOM = list(/datum/micro_organism/cell_line/walking_mushroom = 1), CELL_LINE_TABLE_QUEEN_BEE = list(/datum/micro_organism/cell_line/queen_bee = 1), + CELL_LINE_TABLE_BUTTERFLY = list(/datum/micro_organism/cell_line/butterfly = 1), CELL_LINE_TABLE_LEAPER = list(/datum/micro_organism/cell_line/leaper = 1), CELL_LINE_TABLE_MEGA_ARACHNID = list(/datum/micro_organism/cell_line/mega_arachnid = 1), CELL_LINE_TABLE_ALGAE = list( @@ -79,9 +80,10 @@ GLOBAL_LIST_INIT_TYPED(cell_line_tables, /list, list( /datum/micro_organism/cell_line/leaper = 2, /datum/micro_organism/cell_line/mega_arachnid = 1, /datum/micro_organism/cell_line/queen_bee = 1, + /datum/micro_organism/cell_line/butterfly = 1, /datum/micro_organism/cell_line/snake = 1, /datum/micro_organism/cell_line/walking_mushroom = 2, - /datum/micro_organism/cell_line/axolotl = 1 + /datum/micro_organism/cell_line/axolotl = 1, ) )) diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index fb9fa7629b1..9f912d9803f 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -40,5 +40,5 @@ if(SPT_PROB(1, seconds_per_tick)) affected_mob.visible_message(span_danger("[affected_mob] coughs up butterflies!"), \ span_userdanger("You cough up butterflies!")) - new /mob/living/simple_animal/butterfly(affected_mob.loc) - new /mob/living/simple_animal/butterfly(affected_mob.loc) + new /mob/living/basic/butterfly(affected_mob.loc) + new /mob/living/basic/butterfly(affected_mob.loc) diff --git a/code/datums/memory/_memory.dm b/code/datums/memory/_memory.dm index 45710f07067..99a975903e0 100644 --- a/code/datums/memory/_memory.dm +++ b/code/datums/memory/_memory.dm @@ -245,6 +245,7 @@ var/static/list/something_pool = list( /mob/living/basic/bat, + /mob/living/basic/butterfly, /mob/living/basic/carp, /mob/living/basic/carp/magic, /mob/living/basic/carp/magic/chaos, @@ -261,7 +262,6 @@ /mob/living/basic/statue, /mob/living/basic/stickman, /mob/living/basic/stickman/dog, - /mob/living/simple_animal/butterfly, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, /mob/living/simple_animal/crab, diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index f585b76324e..8a996a65a55 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -853,13 +853,13 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/melee/flyswatter/Initialize(mapload) . = ..() splattable = typecacheof(list( - /mob/living/simple_animal/hostile/bee, - /mob/living/simple_animal/butterfly, + /mob/living/basic/butterfly, /mob/living/basic/cockroach, - /obj/item/queen_bee, /mob/living/basic/spiderling, /mob/living/simple_animal/hostile/ant, + /mob/living/simple_animal/hostile/bee, /obj/effect/decal/cleanable/ants, + /obj/item/queen_bee, )) strong_against = typecacheof(list( /mob/living/basic/giant_spider, diff --git a/code/modules/cargo/packs/livestock.dm b/code/modules/cargo/packs/livestock.dm index f4d4e37d93c..333ead4bc1a 100644 --- a/code/modules/cargo/packs/livestock.dm +++ b/code/modules/cargo/packs/livestock.dm @@ -21,13 +21,13 @@ contraband = TRUE cost = CARGO_CRATE_VALUE * 5 access_view = ACCESS_THEATRE - contains = list(/mob/living/simple_animal/butterfly) + contains = list(/mob/living/basic/butterfly) crate_name = "entomology samples crate" /datum/supply_pack/critter/butterfly/generate() . = ..() for(var/i in 1 to 49) - new /mob/living/simple_animal/butterfly(.) + new /mob/living/basic/butterfly(.) /datum/supply_pack/critter/cat name = "Cat Crate" diff --git a/code/modules/events/ghost_role/sentience.dm b/code/modules/events/ghost_role/sentience.dm index 0c9e61e1e17..c23a5dc42ff 100644 --- a/code/modules/events/ghost_role/sentience.dm +++ b/code/modules/events/ghost_role/sentience.dm @@ -1,24 +1,24 @@ GLOBAL_LIST_INIT(high_priority_sentience, typecacheof(list( + /mob/living/basic/bat, + /mob/living/basic/butterfly, + /mob/living/basic/lizard, + /mob/living/basic/carp/pet/cayenne, + /mob/living/basic/cow, + /mob/living/basic/giant_spider/sgt_araneus, + /mob/living/basic/mouse/brown/tom, + /mob/living/basic/pet, + /mob/living/basic/pig, + /mob/living/basic/rabbit, + /mob/living/basic/sheep, /mob/living/simple_animal/pet, /mob/living/simple_animal/parrot, - /mob/living/basic/lizard, /mob/living/simple_animal/sloth, /mob/living/simple_animal/hostile/retaliate/goat, /mob/living/simple_animal/chicken, - /mob/living/basic/bat, - /mob/living/simple_animal/butterfly, /mob/living/simple_animal/hostile/retaliate/snake, /mob/living/simple_animal/hostile/retaliate/goose/vomit, /mob/living/simple_animal/bot/mulebot, /mob/living/simple_animal/bot/secbot/beepsky, - /mob/living/basic/carp/pet/cayenne, - /mob/living/basic/cow, - /mob/living/basic/pet, - /mob/living/basic/pig, - /mob/living/basic/rabbit, - /mob/living/basic/giant_spider/sgt_araneus, - /mob/living/basic/sheep, - /mob/living/basic/mouse/brown/tom, ))) /datum/round_event_control/sentience diff --git a/code/modules/events/scrubber_clog.dm b/code/modules/events/scrubber_clog.dm index aaa80b58705..ae7a9092744 100644 --- a/code/modules/events/scrubber_clog.dm +++ b/code/modules/events/scrubber_clog.dm @@ -65,10 +65,10 @@ /datum/round_event/scrubber_clog/proc/get_mob() var/static/list/mob_list = list( - /mob/living/basic/cockroach, - /mob/living/basic/giant_spider/maintenance, - /mob/living/basic/mouse, - /mob/living/simple_animal/butterfly, + /mob/living/basic/butterfly, + /mob/living/basic/cockroach, + /mob/living/basic/giant_spider/maintenance, + /mob/living/basic/mouse, ) return pick(mob_list) diff --git a/code/modules/events/wizard/petsplosion.dm b/code/modules/events/wizard/petsplosion.dm index b075d6ad8fc..eba67297a96 100644 --- a/code/modules/events/wizard/petsplosion.dm +++ b/code/modules/events/wizard/petsplosion.dm @@ -1,24 +1,24 @@ /// Candidates for the petsplosion wizard event GLOBAL_LIST_INIT(petsplosion_candidates, typecacheof(list( - /mob/living/simple_animal/pet, - /mob/living/simple_animal/parrot, - /mob/living/basic/lizard, - /mob/living/simple_animal/sloth, - /mob/living/simple_animal/hostile/retaliate/goat, - /mob/living/simple_animal/chicken, /mob/living/basic/bat, - /mob/living/simple_animal/butterfly, - /mob/living/simple_animal/hostile/retaliate/snake, - /mob/living/simple_animal/hostile/retaliate/goose/vomit, + /mob/living/basic/butterfly, /mob/living/basic/carp/pet/cayenne, /mob/living/basic/cow, + /mob/living/basic/giant_spider/sgt_araneus, + /mob/living/basic/lizard, /mob/living/basic/mothroach, + /mob/living/basic/mouse/brown/tom, /mob/living/basic/pet, /mob/living/basic/pig, /mob/living/basic/rabbit, - /mob/living/basic/giant_spider/sgt_araneus, /mob/living/basic/sheep, - /mob/living/basic/mouse/brown/tom, + /mob/living/simple_animal/pet, + /mob/living/simple_animal/parrot, + /mob/living/simple_animal/sloth, + /mob/living/simple_animal/hostile/retaliate/goat, + /mob/living/simple_animal/chicken, + /mob/living/simple_animal/hostile/retaliate/snake, + /mob/living/simple_animal/hostile/retaliate/goose/vomit, ))) /datum/round_event_control/wizard/petsplosion //the horror diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm index cb2853bd810..5b2de971ce1 100644 --- a/code/modules/holodeck/holo_effect.dm +++ b/code/modules/holodeck/holo_effect.dm @@ -82,10 +82,10 @@ /obj/effect/holodeck_effect/mobspawner/pet/Initialize(mapload) . = ..() mobtype = list( - /mob/living/simple_animal/butterfly, + /mob/living/basic/butterfly, + /mob/living/basic/rabbit, /mob/living/simple_animal/chick/holo, /mob/living/simple_animal/pet/fox, - /mob/living/basic/rabbit, ) mobtype += pick( /mob/living/basic/pet/dog/corgi, diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/basic/vermin/butterfly.dm similarity index 61% rename from code/modules/mob/living/simple_animal/friendly/butterfly.dm rename to code/modules/mob/living/basic/vermin/butterfly.dm index 5b021a8f187..06e853b935f 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/basic/vermin/butterfly.dm @@ -1,10 +1,10 @@ -/mob/living/simple_animal/butterfly +/mob/living/basic/butterfly name = "butterfly" desc = "A colorful butterfly, how'd it get up here?" icon_state = "butterfly" icon_living = "butterfly" icon_dead = "butterfly_dead" - turns_per_move = 1 + response_help_continuous = "shoos" response_help_simple = "shoo" response_disarm_continuous = "brushes aside" @@ -12,27 +12,35 @@ response_harm_continuous = "squashes" response_harm_simple = "squash" speak_emote = list("flutters") - maxHealth = 2 - health = 2 - harm_intent_damage = 1 friendly_verb_continuous = "nudges" friendly_verb_simple = "nudge" + + maxHealth = 2 + health = 2 + density = FALSE pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY - mob_biotypes = MOB_ORGANIC|MOB_BUG + mob_biotypes = MOB_ORGANIC | MOB_BUG gold_core_spawnable = FRIENDLY_SPAWN - verb_say = "flutters" - verb_ask = "flutters inquisitively" - verb_exclaim = "flutters intensely" - verb_yell = "flutters intensely" -/mob/living/simple_animal/butterfly/Initialize(mapload) + ai_controller = /datum/ai_controller/basic_controller/butterfly + +/mob/living/basic/butterfly/Initialize(mapload) . = ..() AddElement(/datum/element/simple_flying) + var/newcolor = rgb(rand(0, 255), rand(0, 255), rand(0, 255)) add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY) ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) + AddElement(/datum/element/swabable, CELL_LINE_TABLE_BUTTERFLY, CELL_VIRUS_TABLE_GENERIC_MOB, cell_line_amount = 1, virus_chance = 5) -/mob/living/simple_animal/butterfly/bee_friendly() +/mob/living/basic/butterfly/bee_friendly() return TRUE //treaty signed at the Beeneeva convention + +/datum/ai_controller/basic_controller/butterfly + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + +/mob/living/basic/butterfly/lavaland + unsuitable_atmos_damage = 0 diff --git a/code/modules/mob/living/basic/vermin/lizard.dm b/code/modules/mob/living/basic/vermin/lizard.dm index 5e4df9d0ea8..4038e848692 100644 --- a/code/modules/mob/living/basic/vermin/lizard.dm +++ b/code/modules/mob/living/basic/vermin/lizard.dm @@ -37,8 +37,8 @@ /// Typecache of things that we seek out to eat. Yummy. var/static/list/edibles = typecacheof(list( + /mob/living/basic/butterfly, /mob/living/basic/cockroach, - /mob/living/simple_animal/butterfly, )) /mob/living/basic/lizard/Initialize(mapload) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index be73012b01d..bcb9100cd22 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1375,40 +1375,40 @@ if(WABBAJACK_ANIMAL) var/picked_animal = pick( - /mob/living/basic/carp, - /mob/living/simple_animal/hostile/bear, - /mob/living/simple_animal/hostile/mushroom, - /mob/living/basic/statue, /mob/living/basic/bat, - /mob/living/simple_animal/hostile/retaliate/goat, - /mob/living/basic/killer_tomato, - /mob/living/basic/giant_spider, - /mob/living/basic/giant_spider/hunter, - /mob/living/simple_animal/hostile/blob/blobbernaut/independent, + /mob/living/basic/butterfly, + /mob/living/basic/carp, /mob/living/basic/carp/magic, /mob/living/basic/carp/magic/chaos, + /mob/living/basic/cow, + /mob/living/basic/giant_spider, + /mob/living/basic/giant_spider/hunter, + /mob/living/basic/killer_tomato, + /mob/living/basic/lizard, + /mob/living/basic/mouse, + /mob/living/basic/pet/dog/breaddog, + /mob/living/basic/pet/dog/corgi, + /mob/living/basic/pet/dog/pug, + /mob/living/basic/statue, + /mob/living/basic/stickman, + /mob/living/basic/stickman/dog, + /mob/living/simple_animal/crab, + /mob/living/simple_animal/chick, + /mob/living/simple_animal/chicken, + /mob/living/simple_animal/hostile/bear, + /mob/living/simple_animal/hostile/mushroom, + /mob/living/simple_animal/hostile/retaliate/goat, + /mob/living/simple_animal/hostile/blob/blobbernaut/independent, /mob/living/simple_animal/hostile/asteroid/basilisk/watcher, /mob/living/simple_animal/hostile/asteroid/goliath/beast, /mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/morph, - /mob/living/basic/stickman, - /mob/living/basic/stickman/dog, /mob/living/simple_animal/hostile/megafauna/dragon/lesser, /mob/living/simple_animal/hostile/gorilla, /mob/living/simple_animal/parrot, - /mob/living/basic/pet/dog/corgi, - /mob/living/simple_animal/crab, - /mob/living/basic/pet/dog/pug, /mob/living/simple_animal/pet/cat, - /mob/living/basic/mouse, - /mob/living/simple_animal/chicken, - /mob/living/basic/cow, - /mob/living/basic/lizard, - /mob/living/simple_animal/pet/fox, - /mob/living/simple_animal/butterfly, /mob/living/simple_animal/pet/cat/cak, - /mob/living/basic/pet/dog/breaddog, - /mob/living/simple_animal/chick, + /mob/living/simple_animal/pet/fox, ) new_mob = new picked_animal(loc) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index 5dcb752fafb..3d389fc88ca 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -605,7 +605,7 @@ /datum/chemical_reaction/butterflium/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) var/location = get_turf(holder.my_atom) for(var/i in rand(1, created_volume) to created_volume) - new /mob/living/simple_animal/butterfly(location) + new /mob/living/basic/butterfly(location) ..() //scream powder /datum/chemical_reaction/scream diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 5af5465f448..257015344ef 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -639,18 +639,18 @@ to_chat(user, message) var/static/list/valid_animals = list( - /mob/living/simple_animal/parrot/natural, - /mob/living/simple_animal/butterfly, - /mob/living/simple_animal/pet/cat, + /mob/living/basic/butterfly, + /mob/living/basic/carp, + /mob/living/basic/lizard, + /mob/living/basic/mouse, /mob/living/basic/pet/dog/corgi, /mob/living/basic/pet/dog/pug, /mob/living/simple_animal/crab, - /mob/living/simple_animal/pet/fox, - /mob/living/basic/lizard, - /mob/living/basic/mouse, /mob/living/simple_animal/hostile/bear, /mob/living/simple_animal/hostile/bee, - /mob/living/basic/carp, + /mob/living/simple_animal/parrot/natural, + /mob/living/simple_animal/pet/cat, + /mob/living/simple_animal/pet/fox, ) for(var/counter in 1 to rand(1, 25)) var/mobType = pick(valid_animals) diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm index d545e1bfa30..b4f10e717ac 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm @@ -664,6 +664,28 @@ return QDEL_NULL(vat.biological_sample) +/datum/micro_organism/cell_line/butterfly + desc = "Papilionoidea cells" + required_reagents = list( + /datum/reagent/consumable/nutriment/protein, + ) + supplementary_reagents = list( + /datum/reagent/consumable/honey = 4, + /datum/reagent/consumable/korta_nectar = 3, + /datum/reagent/consumable/applejuice = 2, + /datum/reagent/water = 1, + /datum/reagent/consumable/sugar = 1, + ) + + suppressive_reagents = list( + /datum/reagent/toxin/pestkiller = -3, + /datum/reagent/toxin/carpotoxin = -2, + /datum/reagent/toxin = -2, + ) + + virus_suspectibility = 0 + resulting_atoms = list(/mob/living/basic/butterfly = 3) + /datum/micro_organism/cell_line/leaper desc = "atypical amphibian cells" required_reagents = list( diff --git a/code/modules/unit_tests/simple_animal_freeze.dm b/code/modules/unit_tests/simple_animal_freeze.dm index 9cc5a3584a0..aa43639b11a 100644 --- a/code/modules/unit_tests/simple_animal_freeze.dm +++ b/code/modules/unit_tests/simple_animal_freeze.dm @@ -32,7 +32,6 @@ /mob/living/simple_animal/bot/secbot/honkbot, /mob/living/simple_animal/bot/secbot/pingsky, /mob/living/simple_animal/bot/vibebot, - /mob/living/simple_animal/butterfly, /mob/living/simple_animal/chick, /mob/living/simple_animal/chick/holo, /mob/living/simple_animal/chicken, diff --git a/tgstation.dme b/tgstation.dme index 2be4a8edcc7..ae56fc9566e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3989,6 +3989,7 @@ #include "code\modules\mob\living\basic\syndicate\syndicate.dm" #include "code\modules\mob\living\basic\syndicate\syndicate_ai.dm" #include "code\modules\mob\living\basic\vermin\axolotl.dm" +#include "code\modules\mob\living\basic\vermin\butterfly.dm" #include "code\modules\mob\living\basic\vermin\cockroach.dm" #include "code\modules\mob\living\basic\vermin\frog.dm" #include "code\modules\mob\living\basic\vermin\lizard.dm" @@ -4156,7 +4157,6 @@ #include "code\modules\mob\living\simple_animal\bot\secbot.dm" #include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.dm" #include "code\modules\mob\living\simple_animal\bot\vibebot.dm" -#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm" #include "code\modules\mob\living\simple_animal\friendly\cat.dm" #include "code\modules\mob\living\simple_animal\friendly\crab.dm" #include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" diff --git a/tools/UpdatePaths/Scripts/75582_simple_to_basic_butterflies.txt b/tools/UpdatePaths/Scripts/75582_simple_to_basic_butterflies.txt new file mode 100644 index 00000000000..a426a8ad002 --- /dev/null +++ b/tools/UpdatePaths/Scripts/75582_simple_to_basic_butterflies.txt @@ -0,0 +1 @@ +/mob/living/simple_animal/butterfly : /mob/living/basic/butterfly{@OLD} \ No newline at end of file