## About The Pull Request
adds snails to the game

![image](https://github.com/user-attachments/assets/f1745795-695f-443a-827e-1f1987d4fdb6)

these are harmless critters you can find in maints. they love eating all
variety of fruits, and are gravitated towards snail people, where
they'll dance around them.

you can also pick them up and put them on your head.

finally, you can also grab them and put them in hydrotrays (they will
swim around in it very slowly). they'll help ur plants grow as they act
as natural weed-repellants, as they'll eat weeds that grow in trays.

![image](https://github.com/user-attachments/assets/512f0974-d0d1-4f90-a540-c03d1c969328)


## Why It's Good For The Game
there's not that many mobs you can usually find in maints, currently
there's only mice and cockroaches, this helps expand the pools a bit.

## Changelog
🆑
add: adds snails to the game. (keep them away from salt!)
/🆑
This commit is contained in:
Ben10Omintrix
2025-05-05 13:29:14 +01:00
committed by GitHub
parent ab738a10c3
commit a708c8e8da
18 changed files with 328 additions and 12 deletions
@@ -99,7 +99,7 @@
*/
/datum/action/cooldown/mob_cooldown/riot/proc/riot()
var/uplifted_mice = FALSE
for (var/mob/living/basic/mouse/nearby_mouse in oview(owner, range))
for(var/mob/living/basic/mouse/nearby_mouse in oview(owner, range))
uplifted_mice = convert_mouse(nearby_mouse) || uplifted_mice
if (uplifted_mice)
owner.visible_message(span_warning("[owner] commands their army to action, mutating them into rats!"))
@@ -120,6 +120,13 @@
owner.visible_message(span_warning("[owner] commands their army to action, mutating them into trash frogs!"))
return
var/uplifted_snail = FALSE
for(var/mob/living/basic/snail/nearby_snail in oview(owner, range))
uplifted_snail = convert_snail(nearby_snail, converted_check_list) || uplifted_snail
if(uplifted_snail)
owner.visible_message(span_warning("[owner] commands their army to action, mutating them into death snails!"))
return
var/rat_cap = CONFIG_GET(number/ratcap)
if (LAZYLEN(SSmobs.cheeserats) >= rat_cap)
to_chat(owner,span_warning("There's too many mice on this station to beckon a new one! Find them first!"))
@@ -210,6 +217,27 @@
make_minion(nearby_frog, crazy_frog_desc, minion_commands)
return TRUE
/datum/action/cooldown/mob_cooldown/riot/proc/convert_snail(mob/living/basic/snail/nearby_snail, list/converted_check_list)
// No need to convert when not on the same team.
if(faction_check(nearby_snail.faction, converted_check_list) || nearby_snail.stat == DEAD)
return FALSE
nearby_snail.icon_state = "[nearby_snail.base_icon_state]_maints"
nearby_snail.icon_living = "[nearby_snail.base_icon_state]_maints"
nearby_snail.icon_dead = "[nearby_snail.base_icon_state]_maints_dead"
nearby_snail.maxHealth += 10
nearby_snail.health += 10
nearby_snail.melee_damage_lower += 5
nearby_snail.melee_damage_upper += 8
nearby_snail.can_be_held = FALSE
nearby_snail.obj_damage += 8
nearby_snail.fully_replace_character_name(nearby_snail.name, "trash [nearby_snail.name]")
nearby_snail.ai_controller = new /datum/ai_controller/basic_controller/snail/trash(nearby_snail)
make_minion(nearby_snail, " ...This one doesn't look as timid.", mouse_commands)
nearby_snail.update_appearance()
return TRUE
// Command you can give to a mouse to make it kill someone
/datum/pet_command/attack/mouse
speech_commands = list("attack", "sic", "kill", "cheese em")