Big bass, shark, and swordfish are now obtainable from fishing
The message for catching shark now ends with an authentic exclamation mark The fishing skill cape perk now logs catching a second fish in player stats
This commit is contained in:
@@ -36,10 +36,14 @@ enum class Fish(val id: Int, val level: Int, val experience: Double, val lowChan
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
val fishMap: HashMap<Int, Fish> = HashMap()
|
val fishMap: HashMap<Int, Fish> = HashMap()
|
||||||
|
val bigFishMap: HashMap<Fish, Int> = HashMap()
|
||||||
init {
|
init {
|
||||||
for(fish in values()) {
|
for(fish in values()) {
|
||||||
fishMap[fish.id] = fish
|
fishMap[fish.id] = fish
|
||||||
}
|
}
|
||||||
|
bigFishMap[Fish.BASS] = Items.BIG_BASS_7989
|
||||||
|
bigFishMap[Fish.SWORDFISH] = Items.BIG_SWORDFISH_7991
|
||||||
|
bigFishMap[Fish.SHARK] = Items.BIG_SHARK_7993
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@@ -47,7 +51,10 @@ enum class Fish(val id: Int, val level: Int, val experience: Double, val lowChan
|
|||||||
return fishMap[item.id]
|
return fishMap[item.id]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@JvmStatic
|
||||||
|
fun getBigFish(fish: Fish) : Int? {
|
||||||
|
return bigFishMap[fish]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getSuccessChance(level: Int): Double {
|
fun getSuccessChance(level: Int): Double {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import core.game.node.entity.skill.Skills
|
|||||||
import core.game.node.item.Item
|
import core.game.node.item.Item
|
||||||
import core.game.system.command.sets.STATS_BASE
|
import core.game.system.command.sets.STATS_BASE
|
||||||
import core.game.system.command.sets.STATS_FISH
|
import core.game.system.command.sets.STATS_FISH
|
||||||
|
import core.game.world.GameWorld
|
||||||
import core.game.world.map.path.Pathfinder
|
import core.game.world.map.path.Pathfinder
|
||||||
import core.tools.RandomFunction
|
import core.tools.RandomFunction
|
||||||
import core.tools.colorize
|
import core.tools.colorize
|
||||||
@@ -68,13 +69,25 @@ class FishingListener : InteractionListener{
|
|||||||
if (!hasSpaceFor(player, Item(fish.id)) || !op.removeBait(player)) return restartScript(player)
|
if (!hasSpaceFor(player, Item(fish.id)) || !op.removeBait(player)) return restartScript(player)
|
||||||
player.dispatch(ResourceProducedEvent(fish.id, fish.getItem().amount, node))
|
player.dispatch(ResourceProducedEvent(fish.id, fish.getItem().amount, node))
|
||||||
val item = fish.getItem()
|
val item = fish.getItem()
|
||||||
sendMessage(player, "You successfully catch some ${item.name.lowercase().replace("raw ", "")}.")
|
val bigFishId = Fish.getBigFish(fish)
|
||||||
|
val bigFishChance = if (GameWorld.settings?.isDevMode == true) 10 else 5000
|
||||||
|
if (bigFishId != null && RandomFunction.roll(bigFishChance)) {
|
||||||
|
sendMessage(player, "You catch an enormous" + getItemName(fish!!.id).lowercase().replace("raw", "") + "!")
|
||||||
|
addItemOrDrop(player, bigFishId, 1)
|
||||||
|
} else {
|
||||||
|
var msg = if (fish == Fish.ANCHOVIE || fish == Fish.SHRIMP) "You catch some" else "You catch a"
|
||||||
|
msg += getItemName(fish!!.id).lowercase().replace("raw", "").replace("big", "")
|
||||||
|
msg += if (fish == Fish.SHARK) "!" else "."
|
||||||
|
sendMessage(player, msg)
|
||||||
|
addItemOrDrop(player, item.id, item.amount)
|
||||||
|
}
|
||||||
|
|
||||||
if (isActive(SkillcapePerks.GREAT_AIM, player) && RandomFunction.roll(20)) {
|
if (isActive(SkillcapePerks.GREAT_AIM, player) && RandomFunction.roll(20)) {
|
||||||
addItemOrDrop(player, item.id, item.amount)
|
addItemOrDrop(player, item.id, item.amount)
|
||||||
sendMessage(player, colorize("%RYour expert aim catches you a second fish."))
|
sendMessage(player, colorize("%RYour expert aim catches you a second fish."))
|
||||||
|
player.incrementAttribute("$STATS_BASE:$STATS_FISH")
|
||||||
}
|
}
|
||||||
|
|
||||||
addItemOrDrop(player, item.id, item.amount)
|
|
||||||
player.incrementAttribute("$STATS_BASE:$STATS_FISH")
|
player.incrementAttribute("$STATS_BASE:$STATS_FISH")
|
||||||
var xp = fish.experience
|
var xp = fish.experience
|
||||||
if ((item.id == Items.RAW_SWORDFISH_371 && inEquipment(player, Items.SWORDFISH_GLOVES_12860))
|
if ((item.id == Items.RAW_SWORDFISH_371 && inEquipment(player, Items.SWORDFISH_GLOVES_12860))
|
||||||
|
|||||||
Reference in New Issue
Block a user