summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/garden/CropAccessory.kt
blob: c11c2640d72b2d21e1bd7f06d8b097cba034d7a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package at.hannibal2.skyhanni.features.garden

import at.hannibal2.skyhanni.utils.NEUInternalName
import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName

enum class CropAccessory(
    val internalName: NEUInternalName?,
    private val affectedCrops: Set<CropType>,
    private val fortune: Double,
    val upgradeCost: Pair<String, Int>?,
) {

    NONE(null, emptySet(), 0.0, null),
    CROPIE(
        "CROPIE_TALISMAN".asInternalName(),
        setOf(CropType.WHEAT, CropType.POTATO, CropType.CARROT),
        10.0,
        Pair("CROPIE", 256)
    ),
    SQUASH(
        "SQUASH_RING".asInternalName(),
        setOf(CropType.WHEAT, CropType.POTATO, CropType.CARROT, CropType.COCOA_BEANS, CropType.MELON, CropType.PUMPKIN),
        20.0, Pair("SQUASH", 128)
    ),
    FERMENTO("FERMENTO_ARTIFACT".asInternalName(), CropType.entries.toSet(), 30.0, Pair("CONDENSED_FERMENTO", 8)),
    ;

    fun getFortune(cropType: CropType): Double {
        return if (this.affectedCrops.contains(cropType)) this.fortune else 0.0
    }

    companion object {

        fun getByName(internalName: NEUInternalName) = entries.firstOrNull { internalName == it.internalName }
    }
}