Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
4f18b5f
Close interfaces on hitsplat closes #1098
GregHib Aug 1, 2026
6b0c8ab
Use summoning combat level on members worlds, add combat level up mes…
GregHib Aug 1, 2026
63ed00e
Add proper skill level up messages and skip dialogue command
GregHib Aug 1, 2026
bb65041
Skip level up dialogues and messages when using admin commands
GregHib Aug 1, 2026
8150278
Fix FixItems.kt not correctly encoding params
GregHib Aug 1, 2026
33cbce2
Fix wolf combat and drop tables
GregHib Aug 1, 2026
7a49f00
Add velrak the explorer to taverley dungeon
GregHib Aug 1, 2026
3ed8768
Allow combat regardless of being attacked by death spawns
GregHib Aug 2, 2026
a4a121c
Fix killing death spawns not respawning
GregHib Aug 2, 2026
6db1d40
Fix in combat with nechryaels and death spawns
GregHib Aug 2, 2026
a57eed5
Make nechs not aggressive
GregHib Aug 2, 2026
86bdae7
Formatting
GregHib Aug 2, 2026
edc269d
Fix mods being able to shift click teleport
GregHib Aug 2, 2026
91deda1
Fix light sources and extinguishing
GregHib Aug 2, 2026
8138098
Fix redberry pie recipe
GregHib Aug 2, 2026
70ab74f
Add opening all item packs
GregHib Aug 2, 2026
ab5afd4
Fix attack potion herblore experience
GregHib Aug 2, 2026
7c15193
Add aleck and leon in yannile
GregHib Aug 2, 2026
e393c70
Fix make amount dialogue double closing dialogues after it
GregHib Aug 2, 2026
67192da
Add frenita's shop in yannile
GregHib Aug 2, 2026
cbbb49b
Add Nardah shops and npcs
GregHib Aug 2, 2026
846916e
Fix waterskin cactus refilling
GregHib Aug 2, 2026
5f7b867
Formatting
GregHib Aug 2, 2026
ae6fa7f
Add crystal chest opening
GregHib Aug 2, 2026
6a68cf0
Fix items kept on death type defaults causing incorrect priorities
GregHib Aug 2, 2026
6cb1773
Fix mining stardust not giving exp after collecting over 200
GregHib Aug 2, 2026
1e1c764
Fix bobs item repairing
GregHib Aug 2, 2026
07ec0c9
Fix nechryael test
GregHib Aug 2, 2026
4fa45e7
Add freaky forester exit portal
GregHib Aug 2, 2026
cdeef40
Fix nechryael test
GregHib Aug 2, 2026
398a6ab
Fix mime event soft lock
GregHib Aug 2, 2026
6e44dbb
Add talking to mysterious old man inside pinball
GregHib Aug 2, 2026
31febaa
Fix abyssal demon test
GregHib Aug 2, 2026
3d562d3
Tweak abyssal demon test
GregHib Aug 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,44 @@ object Category {
else -> error("Category $id not found")
}

fun id(name: String) = when (name) {
"throwable" -> THROWABLE
"arrow" -> ARROW
"bolt" -> BOLT
"construction" -> CONSTRUCTION
"furniture" -> FURNITURE
"uncooked_food" -> UNCOOKED_FOOD
"construction_storable_clothes" -> CONSTRUCTION_STORABLE_CLOTHES
"crafting" -> CRAFTING
"summoning_pouches" -> SUMMONING_POUCHES
"construction_plant" -> CONSTRUCTION_PLANT
"fletching" -> FLETCHING
"edible" -> EDIBLE
"herblore" -> HERBLORE
"hunter_required_item" -> HUNTER_REQUIRED_ITEM
"hunter_reward" -> HUNTER_REWARD
"jewellery" -> JEWELLERY
"magic_armour" -> MAGIC_ARMOUR
"magic_weapon" -> MAGIC_WEAPON
"melee_armour_low" -> MELEE_ARMOUR_LOW
"melee_armour_mid" -> MELEE_ARMOUR_MID
"melee_armour_high" -> MELEE_ARMOUR_HIGH
"melee_weapon_low" -> MELEE_WEAPON_LOW
"melee_weapon_mid" -> MELEE_WEAPON_MID
"melee_weapon_high" -> MELEE_WEAPON_HIGH
"mining_smelting" -> MINING_SMELTING
"potion" -> POTION
"prayer_armour" -> PRAYER_ARMOUR
"prayer_consumable" -> PRAYER_CONSUMABLE
"range_armour" -> RANGE_ARMOUR
"range_weapon" -> RANGE_WEAPON
"runecrafting" -> RUNECRAFTING
"teleport" -> TELEPORT
"seed" -> SEED
"summoning_scroll" -> SUMMONING_SCROLL
"item_on_item" -> ITEM_ON_ITEM
"log" -> LOG
else -> error("Category $name not found")
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import world.gregs.voidps.cache.definition.Params.CATEGORY
import world.gregs.voidps.cache.definition.Params.MAGIC_STRENGTH
import world.gregs.voidps.cache.definition.Params.RANGED_STRENGTH
import world.gregs.voidps.cache.definition.Params.STRENGTH
import kotlin.collections.set

@Suppress("UNCHECKED_CAST")
interface Parameterized {
Expand Down Expand Up @@ -67,11 +68,12 @@ interface Parameterized {
writer.writeByte(params.size)
params.forEach { (id, value) ->
writer.writeByte(value is String)
writer.writeMedium(id)
if (value is String) {
writer.writeString(value)
} else if (value is Int) {
writer.writeInt(value)
writer.writeMedium(if (value is Set<*>) CATEGORY else id)
when (value) {
is String -> writer.writeString(value)
is Int -> writer.writeInt(value)
is Double -> writer.writeInt((value * 10.0).toInt())
is Set<*> -> writer.writeInt(Category.id((value as Set<String>).first()))
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,8 +262,10 @@ object Params {
const val VARIABLES = 5263
const val SUMMONING_BEAST_OF_BURDEN_ESSENCE = 5264
const val SUMMONING_SPECIAL_COST = 5265
const val DISENGAGE = 5266

private fun custom(name: String) = when (name) {
"disengage" -> DISENGAGE
"summoning_beast_of_burden_essence" -> SUMMONING_BEAST_OF_BURDEN_ESSENCE
"summoning_special_cost" -> SUMMONING_SPECIAL_COST
"variables" -> VARIABLES
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[bank_deposit_box_freaky_forester]
id = 32931
examine = "Lets you put items into your bank."

[exit_portal_freaky_forester]
id = 15645
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[jailer_black_knights_base_drop_table]
type = "all"
drops = [
{ id = "bones" },
{ id = "jail_key" },
]
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,17 @@ examine = "One of the Black Knights."
id = 200
examine = "Wears a stylish suit of armour."

[velrak_the_explorer]
id = 798
examine = "He looks cold and hungry."

[jailer_black_knights_base]
id = 201
hitpoints = 470
att = 40
str = 40
def = 40
drop_table = "jailer_black_knights_base"
combat_def = "man"
max_hit_crush = 50
respawn_delay = 50
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,6 @@ spawns = [
{ id = "jailer_black_knights_base", x = 2933, y = 9693 },
{ id = "captain_gilroy", x = 2915, y = 9674, members = true },
{ id = "lord_daquarius", x = 2892, y = 9680, members = true },
{ id = "velrak_the_explorer", x = 2931, y = 9686, members = true },
{ id = "black_knight_void_stares_back", x = 2913, y = 9674, members = true },
]
80 changes: 80 additions & 0 deletions data/area/asgarnia/taverley/taverley.drops.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,83 @@ drops = [
{ id = "limpwurt_root", chance = 3 },
{ id = "antipoison_3" },
]

[crystal_chest_drop_table]
type = "all"
drops = [
{ id = "uncut_dragonstone" },
{ table = "crystal_chest_secondary" },
]

[crystal_chest_secondary]
roll = 128
drops = [
{ table = "crystal_chest_1", chance = 34 },
{ table = "crystal_chest_2", chance = 12 },
{ table = "crystal_chest_3", chance = 12 },
{ id = "rune_bar", amount = 3, chance = 12 },
{ table = "crystal_chest_5", chance = 10 },
{ id = "iron_ore_noted", amount = 150, chance = 10 },
{ id = "coal_noted", amount = 100, chance = 10 },
{ table = "crystal_chest_8", chance = 8 },
{ id = "adamant_sq_shield", chance = 2 },
{ table = "crystal_chest_10", chance = 1 },
]

[crystal_chest_1]
type = "all"
drops = [
{ id = "spinach_roll" },
{ id = "coins", amount = 2000 },
]

[crystal_chest_2]
type = "all"
drops = [
{ id = "air_rune", amount = 50 },
{ id = "water_rune", amount = 50 },
{ id = "earth_rune", amount = 50 },
{ id = "fire_rune", amount = 50 },
{ id = "body_rune", amount = 50 },
{ id = "mind_rune", amount = 50 },
{ id = "chaos_rune", amount = 10 },
{ id = "death_rune", amount = 10 },
{ id = "cosmic_rune", amount = 10 },
{ id = "nature_rune", amount = 10 },
{ id = "law_rune", amount = 10 },
]

[crystal_chest_3]
type = "all"
drops = [
{ id = "ruby", amount = 2 },
{ id = "diamond", amount = 2 },
]

[crystal_chest_5]
type = "all"
drops = [
{ id = "coins", amount = 750 },
{ table = "crystal_key" },
]

[crystal_key]
roll = 10
drops = [
{ id = "loop_half_of_a_key", chance = 5 },
{ id = "tooth_half_of_a_key", chance = 5 },
]

[crystal_chest_8]
type = "all"
drops = [
{ id = "raw_swordfish", amount = 5 },
{ id = "coins", amount = 1000 },
]

[crystal_chest_10]
roll = 2
drops = [
{ id = "rune_platelegs" },
{ id = "rune_plateskirt" },
]
7 changes: 7 additions & 0 deletions data/area/asgarnia/taverley/taverley.objs.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[crystal_chest]
id = 172
examine = "I wonder what's inside."

[crystal_chest_open]
id = 173
examine = "Perhaps I should search it."
4 changes: 4 additions & 0 deletions data/area/asgarnia/taverley/taverley.recipes.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[crystal_key]
remove = ["tooth_half_of_a_key", "loop_half_of_a_key"]
add = ["crystal_key"]
message = "You join the two halves of the key together."
2 changes: 2 additions & 0 deletions data/area/kandarin/yanille/yanille.npcs.toml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ examine = "A Supplier of Magical items."

[aleck]
id = 5110
shop = "alecks_hunter_emporium"
examine = "He acts as if he owns the place."

[leon]
Expand All @@ -76,6 +77,7 @@ examine = "A wizard."

[frenita]
id = 593
shop = "frenitas_cookery_shop"
examine = "A recipe for success- in Cooking."

[pet_shop_owner_yanille]
Expand Down
2 changes: 1 addition & 1 deletion data/area/kharidian_desert/nardah/nardah.npc-spawns.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ spawns = [
{ id = "meskhenet", x = 3427, y = 2900 },
{ id = "zahra", x = 3448, y = 2898 },
{ id = "zahur", x = 3442, y = 2886 },
{ id = "seddu", x = 3407, y = 2926 },
{ id = "seddu", x = 3406, y = 2922 },
{ id = "kazemde", x = 3414, y = 2906 },
{ id = "awusah_the_mayor", x = 3442, y = 2912, members = true },
{ id = "tarik_nardah", x = 3438, y = 2917 },
Expand Down
4 changes: 4 additions & 0 deletions data/area/kharidian_desert/nardah/nardah.npcs.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[rokuh]
id = 13181
shop = "roks_chocs_box"

[ghaslor_the_elder]
id = 3029
Expand Down Expand Up @@ -35,10 +36,12 @@ examine = "A herbalist... sells herbs."

[seddu]
id = 3038
shop = "seddus_adventurers_store"
examine = "An armour merchant."

[kazemde]
id = 3039
shop = "nardah_general_store"
examine = "A seller of many things."

[awusah_the_mayor]
Expand Down Expand Up @@ -106,6 +109,7 @@ examine = "They'll eat anything!"

[artimeus]
id = 5109
shop = "nardah_hunter_shop"
examine = "He looks like he knows what he's doing."

[ali_the_wise]
Expand Down
3 changes: 3 additions & 0 deletions data/area/kharidian_desert/nardah/nardah.vars.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[spoke_nardah_herblist]
format = "boolean"
persist = true
Loading
Loading