- Add sound effects for scroll, call, summon, point recharge (also ectophial refill sfx).
- Fix the check for summoning/calling a size > 1 familiar into an enclosed space.
- Fix some combat interactions with multi-square npcs.
- The price of recharging bows/shields decreases by 180k per recharge, to a minimum of 180k.
- The price of a new bow/shield is always 900k.
- Elven teleport crystals similarly decrease from 750 to 150 by 150, using a separate recharge counter.
- Eluned doesn't sell additional teleport crystals, only recharges them.
- Removed custom functionality from teleport crystals that allowed teleporting into unallocated instances.
This commit allows players to theive from the Ardougne spice stall as
they should be able to.
It also corrects the theiving XP from 16 to 81 as it should be.
This commit fixes an issue where the DumpContainer dialogue hangs when
a player attempts to deposit their inventory or equipped items when they
do not have any items in their inventory or are not wearing any items.
This commit also converts the DumpContainer dialogue plugin from Java to
Kotlin to work towards converting the 2009scape codebase to Kotlin.
- Charge now clears the state when it finishes, allowing consecutive uses without relogging.
- Ava's device clears the state when unequipped, allong it to be equipped again later.
- (Unrelated to states) Binding necklace now uses amulet-slot degradation instead of degrading your hat.
There is a fairly significant bug with clue scrolls. The only npcs that drops clue scrolls right now are hellhonds (that is because their ids are hard-coded in TreasureTrailPlugin.createDrop()). All other npcs do not drop clues due to a bug in `NPCDropTables`.
`NPCDropTables` has two separate ways to access the actual table: one is though `List<WeightedChanceItem> defaultTable`, ` List<WeightedChanceItem> charmTable`, and `List<WeightedChanceItem> mainTable`; And the other is though a combined table `NPCDropTable table`. The problem is that only `NPCDropTable table` is set properly--the other 3 tables are always empty.
The reason clues were bugged was because `TreasureTrailPlugin.createDrop()` has a check for `npc.getDefinition().getDropTables().getMainTable().size() < 3`, which always fails. I really do not see the point in this check to begin with, so i am going to remove it. The hard-coded check for hellounds is pointless as well and should be removed.
I am also going to remove the 3 empty tables from `NPCDropTables` to avoid and similar bugs in the future.
Alternatively, it is possible to make changes to `DropTableParser` and keep those tables, then add post-parsing step to populate `NPCDropTable table` from them. However that would just duplicate all the data in all drops table, and since nothing else was using these individual tables, i just opted for removing them.