====== 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)