User Tools

Site Tools


mr:tamahawk_item

Tamahawk Item - Code References

Tamahawk

Java Classes

Tamahawk.java Full Implementation

package com.watabou.pixeldungeon.items.weapon.missiles;
 
import com.watabou.pixeldungeon.actors.Char;
import com.watabou.pixeldungeon.actors.buffs.Bleeding;
import com.watabou.pixeldungeon.actors.buffs.Buff;
import com.watabou.pixeldungeon.items.Item;
import com.watabou.pixeldungeon.sprites.ItemSpriteSheet;
import com.watabou.utils.Random;
 
public class Tamahawk extends MissileWeapon {
 
    public Tamahawk() {
        this( 1 );
    }
 
    public Tamahawk( int number ) {
        super();
        image = ItemSpriteSheet.TOMAHAWK;
 
        setSTR(17);
 
        MIN = 4;
        MAX = 20;
 
        quantity(number);
    }
 
    @Override
    public void attackProc(Char attacker, Char defender, int damage ) {
        super.attackProc( attacker, defender, damage );
        Buff.affect( defender, Bleeding.class ).level( damage );
    }
 
    @Override
    public Item random() {
        quantity(Random.Int( 5, 12 ));
        return this;
    }
 
    @Override
    public int price() {
        return 20 * quantity();
    }
 
    @Override
    public String getAttackAnimationClass() {
        return SWORD_ATTACK;
    }
 
    @Override
    public String getVisualName() {
        return "Tomahawk";
    }
 
}

GnollTamahawk.java Full Implementation

package com.nyrds.pixeldungeon.items.common;
 
import androidx.annotation.Keep;
 
import com.nyrds.Packable;
import com.watabou.pixeldungeon.actors.Char;
import com.watabou.pixeldungeon.items.weapon.missiles.Tamahawk;
import com.watabou.utils.Bundle;
import com.watabou.utils.Random;
 
import org.jetbrains.annotations.NotNull;
 
public class GnollTamahawk extends Tamahawk {
 
    @Packable
    public int imageIndex;
 
    @Keep
    public GnollTamahawk() {
        super();
    }
 
    @Override
    public void attackProc(Char attacker, Char defender, int damage) {
        super.attackProc(attacker, defender, damage);
        // Additional gnoll-specific effects could go here
    }
}

ItemFactory Registration

In ItemFactory.java:

  • Line 197: `import com.watabou.pixeldungeon.items.weapon.missiles.Tamahawk;`
  • Line 347: `registerItemClass(Tamahawk.class);` - Registers Tamahawk for procedural generation

JSON Configuration

  • No dedicated JSON configuration file found for Tamahawk
  • Check `RemixedDungeon/src/main/assets/itemsDesc/` for potential item descriptions
  • Sprite configuration may exist in `RemixedDungeon/src/main/assets/spritesDesc/tamahawk.json`

String Resources

<string name="Tamahawk_Name">tomahawk</string>
<string name="Tamahawk_Info">While this throwing axe is not that heavy, yet still it requires significant strength to be used effectively.</string>
<string name="Tamahawk_Gender">masculine</string>

Lua Scripts

This entity is implemented in Java, no Lua script exists for base Tamahawk functionality.

Usage in Game Code

  • Challenges.java: Referenced in NO_HEALING challenge category (as PotionOfHealing, not directly Tamahawk)
  • ShopPainter.java: May appear in shop inventories
  • Mob loot tables: Various mobs can drop Tamahawk (Bat, Scorpio, SpiderNest, etc.)
  • Alchemy: Not directly craftable via alchemy recipes

Item Properties

  • Type: MissileWeapon (throwing axe)
  • Strength Requirement: 17 STR
  • Damage: 4-20 (scales with quantity)
  • Price: 20 gold per unit
  • Special Effect: Applies Bleeding on hit (damage = hit damage)
  • Quantity: 5-12 when randomly generated
  • Sprite: ItemSpriteSheet.TOMAHAWK
  • Attack Animation: SWORD_ATTACK
  • Visual Name: “Tomahawk”
mr/tamahawk_item.txt · Last modified: by 127.0.0.1