diff --git a/assets/mods/basegame/crafting/tools.json b/assets/mods/basegame/crafting/tools.json index af9bad49b..9b6393e76 100644 --- a/assets/mods/basegame/crafting/tools.json +++ b/assets/mods/basegame/crafting/tools.json @@ -10,5 +10,13 @@ "item@basegame:15": { /* wooden mallet */ "workbench": "basiccrafting", "ingredients": [[1, 6, "$WOOD", 2, "item@basegame:18"]] - } + }, + "item@basegame:23": { /* stone pick */ + "workbench": "basiccrafting", + "ingredients": [[1, 6, "$ROCK", 2, "item@basegame:18"]] + }, + "item@basegame:24": { /* stone axe */ + "workbench": "basiccrafting", + "ingredients": [[1, 6, "$ROCK", 2, "item@basegame:18"]] +} } \ No newline at end of file diff --git a/assets/mods/basegame/items/itemid.csv b/assets/mods/basegame/items/itemid.csv index 0b924756d..224dc70be 100644 --- a/assets/mods/basegame/items/itemid.csv +++ b/assets/mods/basegame/items/itemid.csv @@ -21,6 +21,8 @@ id;classname 20;net.torvald.terrarum.modulebasegame.gameitems.AxeIron 21;net.torvald.terrarum.modulebasegame.gameitems.AxeSteel #22;net.torvald.terrarum.modulebasegame.gameitems.AxeWood +23;net.torvald.terrarum.modulebasegame.gameitems.PickaxeStone +24;net.torvald.terrarum.modulebasegame.gameitems.AxeStone # ores 128;net.torvald.terrarum.modulebasegame.gameitems.OreCopper diff --git a/assets/mods/basegame/items/items.tga b/assets/mods/basegame/items/items.tga index 424476686..0d2162bc9 100644 --- a/assets/mods/basegame/items/items.tga +++ b/assets/mods/basegame/items/items.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6dc4c1a8df06f05dd7ade87cce56cf6c988d2ccdbc5182d0715aaf91e867643e +oid sha256:56c7fd92474ca35865fc07d6477a56825e74f8a9e947c5db03cee175232cceb9 size 2408466 diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/AxeCore.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/AxeCore.kt index 4b46a4e78..c2354b4be 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/AxeCore.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/AxeCore.kt @@ -308,4 +308,33 @@ class AxeWood(originalID: ItemID) : GameItem(originalID) { // override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = AxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY) override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) } +} +/** + * Created by minjaesong on 2023-11-22. + */ +class AxeStone(originalID: ItemID) : GameItem(originalID) { + internal constructor() : this("-uninitialised-") + + override var baseToolSize: Double? = BASE_MASS_AND_SIZE + override var inventoryCategory = Category.TOOL + override val isDynamic = true + override val materialId = "ROCK" + override var baseMass = material.density.toDouble() / MaterialCodex["IRON"].density * BASE_MASS_AND_SIZE + override val itemImage: TextureRegion + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(12,4) + + init { + equipPosition = GameItem.EquipPosition.HAND_GRIP + maxDurability = (TOOL_DURABILITY_BASE * material.enduranceMod).roundToInt() + durability = maxDurability.toFloat() + tags.add("AXE") + originalName = "ITEM_HATCHET_STONE" + } + + override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = + if (AxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L + override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = AxeCore.endPrimaryUse(actor, this) + // override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = AxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY) + override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) } + } \ No newline at end of file diff --git a/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt b/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt index 89c313b39..7aa68fb57 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameitems/PickaxeGeneric.kt @@ -322,4 +322,34 @@ class PickaxeWood(originalID: ItemID) : GameItem(originalID) { override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = PickaxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY) override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) } +} + +/** + * Created by minjaesong on 2023-11-22. + */ +class PickaxeStone(originalID: ItemID) : GameItem(originalID) { + internal constructor() : this("-uninitialised-") + + override var baseToolSize: Double? = BASE_MASS_AND_SIZE + override var inventoryCategory = Category.TOOL + override val isDynamic = true + override val materialId = "ROCK" + override var baseMass = material.density.toDouble() / MaterialCodex["IRON"].density * BASE_MASS_AND_SIZE + override val itemImage: TextureRegion + get() = CommonResourcePool.getAsItemSheet("basegame.items").get(11,4) + + init { + equipPosition = GameItem.EquipPosition.HAND_GRIP + maxDurability = (TOOL_DURABILITY_BASE * material.enduranceMod).roundToInt() + durability = maxDurability.toFloat() + tags.add("PICK") + originalName = "ITEM_PICK_STONE" + } + + override fun startPrimaryUse(actor: ActorWithBody, delta: Float) = + if (PickaxeCore.startPrimaryUse(actor, delta, this, Terrarum.mouseTileX, Terrarum.mouseTileY)) 0L else -1L + override fun endPrimaryUse(actor: ActorWithBody, delta: Float) = PickaxeCore.endPrimaryUse(actor, this) + override fun effectWhileEquipped(actor: ActorWithBody, delta: Float) = PickaxeCore.showOresTooltip(actor, this, Terrarum.mouseTileX, Terrarum.mouseTileY) + override fun effectOnUnequip(actor: ActorWithBody) { INGAME.setTooltipMessage(null) } + } \ No newline at end of file diff --git a/work_files/graphics/items/basegame_items.kra b/work_files/graphics/items/basegame_items.kra index 09f42527f..a1786126a 100644 --- a/work_files/graphics/items/basegame_items.kra +++ b/work_files/graphics/items/basegame_items.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c12fba0ff0ba76e75732961185b1b45611776724a96ecb1ef8586028a4bd9ad -size 896425 +oid sha256:26fff22a1f56c058517fd896ddcbec8fca50902cadb10c99ebe521bbf62c853e +size 917672