mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-07 08:39:17 +00:00
Port Herblore plugin to Kotlin
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
import CrushableIngredient.CHOCOLATE_BAR
|
||||
import CrushableIngredient.DRAGON_SCALE
|
||||
import CrushableIngredient.UNICORN_HORN
|
||||
import NormalIngredient.*
|
||||
import UnfinishedPotion.*
|
||||
import org.apollo.game.plugin.api.Definitions
|
||||
|
||||
const val VIAL_OF_WATER = 227
|
||||
|
||||
enum class UnfinishedPotion(val id: Int, herb: Herb, val level: Int) {
|
||||
GUAM(id = 91, herb = Herb.GUAM_LEAF, level = 1),
|
||||
MARRENTILL(id = 93, herb = Herb.MARRENTILL, level = 5),
|
||||
TARROMIN(id = 95, herb = Herb.TARROMIN, level = 12),
|
||||
HARRALANDER(id = 97, herb = Herb.HARRALANDER, level = 22),
|
||||
RANARR(id = 99, herb = Herb.RANARR, level = 30),
|
||||
TOADFLAX(id = 3002, herb = Herb.TOADFLAX, level = 34),
|
||||
IRIT(id = 101, herb = Herb.IRIT_LEAF, level = 45),
|
||||
AVANTOE(id = 103, herb = Herb.AVANTOE, level = 50),
|
||||
KWUARM(id = 105, herb = Herb.KWUARM, level = 55),
|
||||
SNAPDRAGON(id = 3004, herb = Herb.SNAPDRAGON, level = 63),
|
||||
CADANTINE(id = 107, herb = Herb.CADANTINE, level = 66),
|
||||
LANTADYME(id = 2483, herb = Herb.LANTADYME, level = 69),
|
||||
DWARF_WEED(id = 109, herb = Herb.DWARF_WEED, level = 72),
|
||||
TORSTOL(id = 111, herb = Herb.TORSTOL, level = 78);
|
||||
|
||||
val herb = herb.identified
|
||||
val herbName: String = Definitions.item(herb.identified)!!.name
|
||||
|
||||
companion object {
|
||||
private val ids = values().map(UnfinishedPotion::id).toHashSet()
|
||||
private val potions = values().associateBy(UnfinishedPotion::herb)
|
||||
|
||||
operator fun get(id: Int) = potions[id]
|
||||
internal fun Int.isUnfinished(): Boolean = this in ids
|
||||
}
|
||||
}
|
||||
|
||||
enum class FinishedPotion(
|
||||
val id: Int,
|
||||
val unfinished: UnfinishedPotion,
|
||||
ingredient: Ingredient,
|
||||
val level: Int,
|
||||
val experience: Double
|
||||
) {
|
||||
ATTACK(id = 121, unfinished = GUAM, ingredient = EYE_NEWT, level = 1, experience = 25.0),
|
||||
ANTIPOISON(id = 175, unfinished = MARRENTILL, ingredient = UNICORN_HORN, level = 5, experience = 37.5),
|
||||
STRENGTH(id = 115, unfinished = TARROMIN, ingredient = LIMPWURT_ROOT, level = 12, experience = 50.0),
|
||||
RESTORE(id = 127, unfinished = HARRALANDER, ingredient = RED_SPIDERS_EGGS, level = 18, experience = 62.5),
|
||||
ENERGY(id = 3010, unfinished = HARRALANDER, ingredient = CHOCOLATE_BAR, level = 26, experience = 67.5),
|
||||
DEFENCE(id = 133, unfinished = RANARR, ingredient = WHITE_BERRIES, level = 30, experience = 75.0),
|
||||
AGILITY(id = 3034, unfinished = TOADFLAX, ingredient = TOADS_LEGS, level = 34, experience = 80.0),
|
||||
PRAYER(id = 139, unfinished = RANARR, ingredient = SNAPE_GRASS, level = 38, experience = 87.5),
|
||||
SUPER_ATTACK(id = 145, unfinished = IRIT, ingredient = EYE_NEWT, level = 45, experience = 100.0),
|
||||
SUPER_ANTIPOISON(id = 181, unfinished = IRIT, ingredient = UNICORN_HORN, level = 48, experience = 106.3),
|
||||
FISHING(id = 151, unfinished = AVANTOE, ingredient = SNAPE_GRASS, level = 50, experience = 112.5),
|
||||
SUPER_ENERGY(id = 3018, unfinished = AVANTOE, ingredient = MORT_MYRE_FUNGI, level = 52, experience = 117.5),
|
||||
SUPER_STRENGTH(id = 157, unfinished = KWUARM, ingredient = LIMPWURT_ROOT, level = 55, experience = 125.0),
|
||||
WEAPON_POISON(id = 187, unfinished = KWUARM, ingredient = DRAGON_SCALE, level = 60, experience = 137.5),
|
||||
SUPER_RESTORE(id = 3026, unfinished = SNAPDRAGON, ingredient = RED_SPIDERS_EGGS, level = 63, experience = 142.5),
|
||||
SUPER_DEFENCE(id = 163, unfinished = CADANTINE, ingredient = WHITE_BERRIES, level = 66, experience = 150.0),
|
||||
ANTIFIRE(id = 2428, unfinished = LANTADYME, ingredient = DRAGON_SCALE, level = 69, experience = 157.5),
|
||||
RANGING(id = 169, unfinished = DWARF_WEED, ingredient = WINE_ZAMORAK, level = 72, experience = 162.5),
|
||||
MAGIC(id = 3042, unfinished = LANTADYME, ingredient = POTATO_CACTUS, level = 76, experience = 172.5),
|
||||
ZAMORAK_BREW(id = 189, unfinished = TORSTOL, ingredient = JANGERBERRIES, level = 78, experience = 175.0);
|
||||
|
||||
val ingredientName = Definitions.item(ingredient.id)!!.name.toLowerCase()
|
||||
val ingredient = ingredient.id
|
||||
|
||||
companion object {
|
||||
private val potions = FinishedPotion.values().associateBy { Pair(it.unfinished.id, it.ingredient) }
|
||||
operator fun get(key: Pair<Int, Int>) = potions[key]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user