User Tools

Site Tools


mr:spinner_mob

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
mr:spinner_mob [2026/03/04 22:02] – Wiki standards compliance fixes for 5 random pages Qwen Assistantmr:spinner_mob [2026/03/04 22:03] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== spinner_mob - Machine Readable Reference ======
 +
 +===== Entity Kind =====
 +  * Entity Kind: ''Spinner''
 +  * Used in JSON configs: ''mobsDesc/Spinner.json'' (if exists), ''spritesDesc/Spinner.json''
 +
 +===== Java Class =====
 +  * Full Path: ''com/watabou/pixeldungeon/actors/mobs/Spinner.java''
 +  * Parent Class: ''Mob''
 +  * AI States: ''Fleeing'', ''Hunting''
 +
 +===== Java Class Content =====
 +<code java>
 +package com.watabou.pixeldungeon.actors.mobs;
 +
 +import com.nyrds.pixeldungeon.ai.Fleeing;
 +import com.nyrds.pixeldungeon.ai.Hunting;
 +import com.nyrds.pixeldungeon.ai.MobAi;
 +import com.watabou.pixeldungeon.actors.Char;
 +import com.watabou.pixeldungeon.actors.blobs.Blob;
 +import com.watabou.pixeldungeon.actors.blobs.Web;
 +import com.watabou.pixeldungeon.actors.buffs.Buff;
 +import com.watabou.pixeldungeon.actors.buffs.Poison;
 +import com.watabou.pixeldungeon.actors.buffs.Roots;
 +import com.watabou.pixeldungeon.actors.buffs.Terror;
 +import com.watabou.pixeldungeon.items.food.MysteryMeat;
 +import com.watabou.pixeldungeon.scenes.GameScene;
 +import com.watabou.utils.Random;
 +
 +import org.jetbrains.annotations.NotNull;
 +
 +public class Spinner extends Mob {
 +
 + public Spinner() {
 + hp(ht(50));
 + baseDefenseSkill = 14;
 + baseAttackSkill  = 20;
 + dmgMin = 12;
 + dmgMax = 16;
 + dr = 6;
 +
 + expForKill = 9;
 + maxLvl = 16;
 +
 + loot(new MysteryMeat(), 0.125f);
 +
 + addResistance( Poison.class );
 + addImmunity( Roots.class );
 + }
 +
 + @Override
 +    public boolean act() {
 + boolean result = super.act();
 +
 + if ((getState() instanceof Fleeing) && !hasBuff(Terror.class) && enemySeen && !getEnemy().hasBuff(Poison.class)) {
 + setState(MobAi.getStateByClass(Hunting.class));
 + }
 + return result;
 + }
 +
 + @Override
 + public int attackProc(@NotNull Char enemy, int damage ) {
 + if (Random.Int( 2 ) == 0) {
 + Buff.affect( enemy, Poison.class,Random.Int( 7, 9 ) * Poison.durationFactor( enemy ) );
 + setState(MobAi.getStateByClass(Fleeing.class));
 + }
 +
 + return damage;
 + }
 +
 + @Override
 + public void move( int step ) {
 + if (getState() instanceof Fleeing) {
 + GameScene.add( Blob.seed( getPos(), Random.Int( 5, 7 ), Web.class ) );
 + }
 + super.move( step );
 + }
 +
 +}
 +</code>
 +
 +===== Stats (from Java) =====
 +  * HP: 50
 +  * Base Defense Skill: 14
 +  * Base Attack Skill: 20
 +  * Damage: 12-16
 +  * Defense Rating: 6
 +  * EXP for Kill: 9
 +  * Max Level: 16
 +
 +===== Resistances and Immunities =====
 +  * Resistance: ''Poison''
 +  * Immunity: ''Roots''
 +
 +===== Drops =====
 +  * ''MysteryMeat'' (12.5% chance)
 +
 +===== Behavior =====
 +  * Uses ''Fleeing'' AI state when poisoned enemy is present
 +  * On attack: 50% chance to poison enemy for 7-9 turns and enter fleeing state
 +  * When fleeing: leaves web blobs at position (5-7 units)
 +
 +===== JSON Configuration =====
 +  * Sprite Configuration: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/spritesDesc/Spinner.json|Spinner.json]]
 +  * Sprite texture: ''spinner.png''
 +  * Sprite dimensions: 16x16
 +  * Animations: idle, run, attack, die
 +  * Blood color: 0xFFBFE5B8 (light green)
 +
 +===== String Resources =====
 +  * English: ''Spinner_Name'' = "cave spinner" ([[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values/strings_all.xml#L1332|strings_all.xml#L1332]])
 +  * Russian: ''Spinner_Name'' = "пещерный паук" ([[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-ru/strings_all.xml#L2115|strings_all.xml#L2115]])
 +  * Objective form (English): ''Spinner_Name_Objective'' = "cave spinner"
 +  * Objective form (Russian): ''Spinner_Name_Objective'' = "паука"
 +
 +===== Lua Scripts =====
 +  * No Lua scripts found for this entity (implemented entirely in Java)
 +
 +===== Related Buffs =====
 +  * [[mr:poison_buff|poison_buff]] - Applied on attack
 +  * [[mr:roots_buff|roots_buff]] - Immune to this
 +  * [[mr:terror_buff|terror_buff]] - Affects fleeing behavior
 +
 +===== Related Blobs =====
 +  * [[mr:web_blob|web_blob]] - Left when fleeing
 +
 +===== Source Links =====
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/Spinner.java|Spinner.java on GitHub]]
 +  * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/spritesDesc/Spinner.json|Spinner.json on GitHub]]
 +
 +{{tag> mr mobs undead caveSpinner reference}}
  
mr/spinner_mob.txt · Last modified: by 127.0.0.1