diff --git a/_maps/RandomRuins/JungleRuins/miningbase.dmm b/_maps/RandomRuins/JungleRuins/miningbase.dmm index 50e8e26d83f5..223e0af279bd 100644 --- a/_maps/RandomRuins/JungleRuins/miningbase.dmm +++ b/_maps/RandomRuins/JungleRuins/miningbase.dmm @@ -24,7 +24,7 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/mob/living/simple_animal/turtle, +/mob/living/simple_animal/triceratops, /turf/open/floor/plasteel, /area/mine/living_quarters) "av" = ( diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index fd65fd723ba1..dd48dae54a16 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -441,6 +441,10 @@ default = 64 min_val = 0 +/datum/config_entry/number/bismuthcap + config_entry_value = 6 + min_val = 0 + /datum/config_entry/flag/dynamic_config_enabled /datum/config_entry/number/engine_type diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm index 4e426872eff1..feea96624a4c 100644 --- a/code/controllers/subsystem/mobs.dm +++ b/code/controllers/subsystem/mobs.dm @@ -11,6 +11,7 @@ SUBSYSTEM_DEF(mobs) var/static/list/cubemonkeys = list() var/static/list/slimes = list() var/static/list/cheeserats = list() + var/static/list/bismuth = list() /datum/controller/subsystem/mobs/stat_entry(msg) msg = "P:[length(GLOB.mob_living_list)]" diff --git a/code/modules/mob/living/simple_animal/friendly/triceratops.dm b/code/modules/mob/living/simple_animal/friendly/triceratops.dm new file mode 100644 index 000000000000..e29901d402a8 --- /dev/null +++ b/code/modules/mob/living/simple_animal/friendly/triceratops.dm @@ -0,0 +1,47 @@ +/mob/living/simple_animal/triceratops + name = "Bismuth" + desc = "Acient, Reliable, Good at Pathfinding." + icon = 'icons/mob/pets.dmi' + icon_state = "bismuth" + icon_living = "bismuth" + icon_dead = "bis_dead" + speak_emote = list("grumbles") + emote_hear = list("grunts.","grumbles.") + emote_see = list("wags their tail.", "sniffs at the ground.") + speak_chance = 1 + turns_per_move = 5 + butcher_results = list(/obj/item/dice/d20 = 1) + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "rams" + mob_biotypes = MOB_ORGANIC|MOB_BEAST + gold_core_spawnable = FRIENDLY_SPAWN + melee_damage_lower = 18 + melee_damage_upper = 18 + health = 350 + maxHealth = 350 + speed = 5 + glide_size = 2 + can_be_held = FALSE + footstep_type = FOOTSTEP_MOB_SHOE + +/mob/living/simple_animal/triceratops/Initialize(mapload) + var/cap = CONFIG_GET(number/bismuthcap) + if (LAZYLEN(SSmobs.bismuth) > cap) + if(prob(30)) + new /mob/living/simple_animal/triceratops(loc) + SSmobs.bismuth += src + . = ..() + +/mob/living/simple_animal/triceratops/handle_automated_movement() + if(!isturf(src.loc) || !(mobility_flags & MOBILITY_MOVE) || buckled) + return //If it can't move, dont let it move. + +//-----WANDERING - Time to mosey around + else + walk(src, 0) + + if(prob(10)) + step(src, pick(GLOB.cardinals)) + return + diff --git a/config/game_options.txt b/config/game_options.txt index 3d919ac80891..9003e7cd7186 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -695,6 +695,9 @@ ROUNDSTART_TRAITS ## Cap on how many regal rat minions there can be #RATCAP 64 +## Cap on how many bismuths there can be +#BISMUTHCAP 6 + ## Enable the capitalist agenda on your server. ECONOMY diff --git a/icons/mob/pets.dmi b/icons/mob/pets.dmi index f07640959240..bfa99f75475c 100644 Binary files a/icons/mob/pets.dmi and b/icons/mob/pets.dmi differ diff --git a/yogstation.dme b/yogstation.dme index 85a7eceac8ff..9ef6f0663be5 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -3098,6 +3098,7 @@ #include "code\modules\mob\living\simple_animal\friendly\snail.dm" #include "code\modules\mob\living\simple_animal\friendly\snake.dm" #include "code\modules\mob\living\simple_animal\friendly\spiderbot.dm" +#include "code\modules\mob\living\simple_animal\friendly\triceratops.dm" #include "code\modules\mob\living\simple_animal\friendly\turtle.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\_drone.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\drones_as_items.dm"