====== Scorpio Mob - Code References ======
{{ rpd:images:scorpio_mob.png|Scorpio }}
==== Java Classes ====
* **Main Class**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/Scorpio.java|Scorpio.java]]
* **Package**: com.watabou.pixeldungeon.actors.mobs
* **Parent Class**: Mob
* **Interfaces**: IZapper
* **Registration**: Registered in [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/common/MobFactory.java|MobFactory.java]]
==== Java Class Content ====
package com.watabou.pixeldungeon.actors.mobs;
import com.nyrds.pixeldungeon.ai.Hunting;
import com.nyrds.pixeldungeon.mobs.common.IZapper;
import com.watabou.pixeldungeon.actors.Char;
import com.watabou.pixeldungeon.actors.CharUtils;
import com.watabou.pixeldungeon.actors.buffs.Buff;
import com.watabou.pixeldungeon.actors.buffs.Cripple;
import com.watabou.pixeldungeon.actors.buffs.Poison;
import com.watabou.pixeldungeon.items.food.MysteryMeat;
import com.watabou.pixeldungeon.items.potions.PotionOfHealing;
import com.watabou.pixeldungeon.items.weapon.enchantments.Leech;
import com.watabou.pixeldungeon.levels.Level;
import com.watabou.utils.Random;
import org.jetbrains.annotations.NotNull;
public class Scorpio extends Mob implements IZapper {
public Scorpio() {
hp(ht(95));
baseDefenseSkill = 24;
baseAttackSkill = 36;
dmgMin = 20;
dmgMax = 32;
dr = 16;
expForKill = 14;
maxLvl = 25;
if (Random.Int( 8 ) == 0) {
collect(new PotionOfHealing());
} else if (Random.Int( 6 ) == 0) {
collect(new MysteryMeat());
}
addResistance( Leech.class );
addResistance( Poison.class );
}
@Override
public void onSpawn(Level level) {
super.onSpawn(level);
setViewDistance(level.getViewDistance() + 1);
}
@Override
public boolean canAttack(@NotNull Char enemy) {
return CharUtils.canDoOnlyRangedAttack(this, enemy);
}
@Override
protected int zapProc(@NotNull Char enemy, int damage) {
if (Random.Int( 2 ) == 0) {
Buff.prolong( enemy, Cripple.class, Cripple.DURATION );
}
return damage;
}
@Override
public boolean getCloser(int target, boolean ignorePets) {
if (getState() instanceof Hunting) {
return enemySeen && getFurther( target );
} else {
return super.getCloser( target, ignorePets );
}
}
}
==== Key Properties from Code ====
* **HP**: 95 (ht(95))
* **Max Level**: 25
* **Defense Skill**: 24
* **Attack Skill**: 36
* **Damage**: 20-32
* **Armor (DR)**: 16
* **EXP for Kill**: 14
* **View Distance**: Level view distance + 1 (enhanced on spawn)
* **Resistances**: Leech, Poison
* **Attack Type**: Ranged only (canDoOnlyRangedAttack)
* **Special Attack**: 50% chance to apply Cripple debuff
* **AI Behavior**: Retreats from enemies when hunting (getFurther)
* **Drops**: PotionOfHealing (1/8 chance), MysteryMeat (1/6 chance)
==== JSON Configuration ====
This entity is implemented in Java, no separate JSON configuration exists.
==== String Resources ====
scorpio
masculine
scorpio
These huge arachnid-like demonic creatures avoid close combat by all means, firing crippling serrated spikes from long distances.
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values/strings_all.xml|strings_all.xml]] - English strings
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values-ru/strings_all.xml|strings_all.xml]] - Russian strings
==== Lua Scripts ====
This entity is implemented in Java, no Lua script exists.
==== Related Code References ====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/CharUtils.java|CharUtils.java]] - for canDoOnlyRangedAttack method
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/ai/Hunting.java|Hunting.java]] - AI behavior
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/weapon/enchantments/Leech.java|Leech.java]] - Scorpio resistance
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/buffs/Poison.java|Poison.java]] - Scorpio resistance
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/food/MysteryMeat.java|MysteryMeat.java]] - Possible drop
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/potions/PotionOfHealing.java|PotionOfHealing.java]] - Possible drop
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/buffs/Cripple.java|Cripple.java]] - Special attack effect
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/Acidic.java|Acidic.java]] - Child class (Acidic Scorpio)
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/spells/SummonBeast.lua|SummonBeast.lua]] - Summonable beast
==== Related Entities ====
* **Acidic Scorpio**: [[mr:acidic_mob|acidic_mob]] - Child class variant
* **English Page**: [[en:rpd:scorpio_mob|scorpio_mob]]
* **Russian Page**: [[ru:rpd:scorpio_mob|scorpio_mob]]