DEADSOFTWARE

Add tools
[cavedroid.git] / core / src / ru / deadsoftware / cavedroid / game / model / item / Item.kt
index b56f068892af48aebac980418468edc02d51196d..2b6b5fcd2498e82c29e925a685473dafd1d0e360 100644 (file)
@@ -54,6 +54,7 @@ sealed class Item {
     sealed class Tool : Item() {
         abstract val mobDamageMultiplier: Float
         abstract val blockDamageMultiplier: Float
+        abstract val level: Int
     }
 
     sealed class Usable : Item() {
@@ -90,6 +91,7 @@ sealed class Item {
         override val sprite: Sprite,
         override val mobDamageMultiplier: Float,
         override val blockDamageMultiplier: Float,
+        override val level: Int,
     ) : Tool()
 
     data class Shovel(
@@ -97,6 +99,31 @@ sealed class Item {
         override val sprite: Sprite,
         override val mobDamageMultiplier: Float,
         override val blockDamageMultiplier: Float,
+        override val level: Int,
+    ) : Tool()
+
+    data class Axe(
+        override val params: CommonItemParams,
+        override val sprite: Sprite,
+        override val mobDamageMultiplier: Float,
+        override val blockDamageMultiplier: Float,
+        override val level: Int,
+    ) : Tool()
+
+    data class Pickaxe(
+        override val params: CommonItemParams,
+        override val sprite: Sprite,
+        override val mobDamageMultiplier: Float,
+        override val blockDamageMultiplier: Float,
+        override val level: Int,
+    ) : Tool()
+
+    data class Shears(
+        override val params: CommonItemParams,
+        override val sprite: Sprite,
+        override val mobDamageMultiplier: Float,
+        override val blockDamageMultiplier: Float,
+        override val level: Int,
     ) : Tool()
     
     data class Bucket(