====== Tamahawk Item - Code References ====== {{ rpd:images:tamahawk_item.png|Tamahawk }} ===== Java Classes ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/weapon/missiles/Tamahawk.java|Tamahawk.java]] - Base throwing axe implementation * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/common/GnollTamahawk.java|GnollTamahawk.java]] - Gnoll variant implementation * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/common/ItemFactory.java|ItemFactory.java]] - Registers Tamahawk class for generation ===== 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 [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/common/ItemFactory.java|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 ===== tomahawk While this throwing axe is not that heavy, yet still it requires significant strength to be used effectively. masculine ===== 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 ===== Related mr Entities ===== * [[mr:gnoll_tamahawk_item|Gnoll Tamahawk (Item)]] - Gnoll variant with additional properties * [[mr:javelin_item|Javelin]] - Similar throwing weapon * [[mr:shuriken_item|Shuriken]] - Similar throwing weapon * [[mr:boomerang_item|Boomerang]] - Similar returning weapon ===== 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" {{tag> rpd items weapons throwing_axes missiles bleeding}}