====== Snail Mob - Code References ======
{{ rpd:images:snail_mob.png|Snail Mob Sprite }}
**Snail** is a passive mob in Remixed Dungeon, found in sewer areas.
===== Entity Type =====
Mob (JSON configuration with Lua script support)
===== Java Classes =====
This entity is implemented through JSON configuration, no dedicated Java class exists.
Uses standard mob classes from:
* `com.watabou.pixeldungeon.actors.mobs.Mob` - Base mob class
* `com.watabou.pixeldungeon.actors.Actor` - Actor system base
===== JSON Configuration =====
**mobsDesc/Snail.json**:
{
"defenseSkill" :2,
"attackSkill" :6,
"exp" :1,
"maxLvl" :2,
"dmgMin" :1,
"dmgMax" :3,
"dr" :1,
"baseSpeed" :0.5,
"attackDelay" :1,
"ht" :6,
"viewDistance" :3,
"lootChance" :0,
"name" :"Snail_Name",
"name_objective":"Snail_Name_Objective",
"description" :"Snail_Desc",
"gender" :"Snail_Gender",
"spriteDesc" :"spritesDesc/Snail.json",
"walkingType" :"NORMAL",
"canBePet" : true,
"flying" : false,
"friendly" : false
}
**Stats Breakdown**:
* **HT (Health)**: 6 hit points
* **Attack Skill**: 6 accuracy
* **Defense Skill**: 2 dodge
* **Damage**: 1-3 points
* **DR (Damage Reduction)**: 1
* **Speed**: 0.5 (very slow - half normal speed)
* **Max Level**: 2
* **Experience**: 1 EXP on kill
* **View Distance**: 3 tiles
* **Loot Chance**: 0% (no drops)
* **Can Be Pet**: Yes (can be tamed)
* **Flying**: No (ground movement)
* **Friendly**: No (hostile to player)
**spritesDesc/Snail.json**:
{
"texture" : "mobs/snail.png",
"width" : 16,
"height" : 16,
"scale" : 1,
"idle" : { "fps" : 2, "looped" : true, "frames" : [0,0,0,1] },
"run" : { "fps" : 14, "looped" : true, "frames" : [2,3,4,5,6] },
"attack" : { "fps" : 11, "looped" : false, "frames" : [7,8,9,10,11] },
"die" : { "fps" : 11, "looped" : false, "frames" : [12,13,14,15] }
}
**Animation Details**:
* **Texture**: `mobs/snail.png` (16x16 pixels)
* **Idle**: 4 frames [0,0,0,1] at 2 FPS, looped
* **Run**: 5 frames [2,3,4,5,6] at 14 FPS, looped
* **Attack**: 5 frames [7,8,9,10,11] at 11 FPS, not looped
* **Die**: 4 frames [12,13,14,15] at 11 FPS, not looped
===== String Resources =====
English (values/strings_all.xml):
Snail
This little mollusk has grown quite large by feeding on sewage, but it is still very slow which makes it an easy enemy to face.
Russian (values-ru/strings_all.xml):
Улитка
Этот маленький моллюск довольно вырос, питаясь сточными водами, но он всё ещё очень медленный, что делает его лёгким противником.
Spanish (values-es/strings_all.xml):
caracol
Este pequeño molusco ha crecido bastante al alimentarse de aguas residuales, pero sigue siendo muy lento, lo que le convierte en un enemigo fácil de enfrentar.
French (values-fr/strings_all.xml):
escargot
Ce petit mollusque a bien grandi en se nourrissant des égouts, mais il reste toujours très lent ce qui en fait un adversaire facile à affronter.
German (values-de/strings_all.xml):
Schnecke
Dieser kleine Weichtier ist durch die Ernährung mit Abwässern ziemlich groß geworden, aber er ist immer noch sehr langsam, was ihn zu einem leichten Gegner macht.
===== Lua Scripts =====
No dedicated Lua script for this mob. Uses default mob AI behavior.
===== Related mr Entities =====
* [[mr:mob|Mob System]] - Base mob mechanics
* [[mr:sewers_level|Sewers Level]] - Where snails are found
* [[mr:pet_mechanic|Pet Mechanic]] - Can be tamed as pet
* [[mr:deep_snail_mob|Deep Snail]] - Faster variant found near water
===== Game Mechanics =====
* **Spawn Location**: Sewers (levels 1-5) - defined in [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/levelsDesc/Bestiary.json|Bestiary.json]]
* **Behavior**: Passive mob, slow movement
* **Difficulty**: Easy enemy (low HP, low damage)
* **Pet Potential**: Can be tamed with appropriate items
* **Threat Level**: Low - suitable for early game combat practice
* **Speed**: Slowest mob in the game (0.5 base speed)
* **Summoning**: Can be summoned by [[https://github.com/NYRDS/remixed-dungeon/blob/master/scripts/spells/SummonBeast.lua|SummonBeast spell]]
* **Alchemy**: Carcass of Snail used in alchemy recipes (5 required for some recipes)
* **Quest**: Plague Doctor NPC quest requires 10 Carcass of Snail
===== Code Fragments =====
Example of how Snail is loaded from JSON:
// Mob loading from JSON configuration
// The game reads mobsDesc/Snail.json and creates mob instance
// Stats are applied from JSON properties to Mob object
===== Spawn Configuration =====
From [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/levelsDesc/Bestiary.json|Bestiary.json]]:
* **Level 1**: Snail (weight: 1)
* **Level 2**: Snail (weight: 1), DeepSnail (weight: 0.03)
* **Level 4**: DeepSnail (weight: 0.1)