Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions .github/workflows/test-with-coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ jobs:
- name: Run all tests
if: steps.check-cache-files.outputs.cache_exists == 'true'
run: ./gradlew test
env:
GRADLE_OPTS: -Xmx5g -Xms1g -XX:MaxMetaspaceSize=1g

- name: Run unit tests
if: steps.check-cache-files.outputs.cache_exists != 'true'
Expand Down
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ allprojects {

if (name != "tools") {
tasks.test {
maxHeapSize = "4096m"
maxHeapSize = "5120m"
useJUnitPlatform()
failFast = true
testLogging {
Expand Down
3 changes: 3 additions & 0 deletions config/src/main/kotlin/world/gregs/config/ConfigReader.kt
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,12 @@ class ConfigReader(
}

private fun skipEquals() {
var found = false
while (byte == SPACE || byte == TAB || byte == EQUALS) {
found = found || byte == EQUALS
byte = input.read()
}
require(found) { "Expected equals after key. ${exception()}" }
}

/**
Expand Down
15 changes: 11 additions & 4 deletions config/src/test/kotlin/world/gregs/config/ConfigReaderTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,22 @@ internal class ConfigReaderTest {

@Test
fun `Read key`() {
Config.stringReader("bare-key") {
Config.stringReader("bare_key ") {
assertTrue(nextPair())
assertEquals("bare-key", key())
val exception = assertThrows<IllegalArgumentException> {
key()
}
assertEquals("Expected equals after key. line=1 char='<end-of-file>'", exception.message)
}
Config.stringReader("bare_key = 0") {
assertTrue(nextPair())
assertEquals("bare_key", key())
}
Config.stringReader("\"quoted \\n key\"") {
Config.stringReader("\"quoted \\n key\" = 0") {
assertTrue(nextPair())
assertEquals("quoted \\n key", key())
}
Config.stringReader("'literal \n key'") {
Config.stringReader("'literal \n key' = 0") {
assertTrue(nextPair())
assertEquals("literal \n key", key())
}
Expand Down
6 changes: 3 additions & 3 deletions data/activity/event/easter/easter.npcs.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ examine = "A cute, cuddly, little squirrel - with teeth."

[goblin_courier]
id = 9683
categories = ["goblin"]
categories = ["goblins"]
examine = "An ugly green creature. He seems to be waiting for something."

[a_strange_courier]
Expand All @@ -35,13 +35,13 @@ examine = "A squirrel wearing weird face paint."

[easter_bunny_2010]
id = 9687
categories = ["bird"]
categories = ["rabbit"]
examine = "The loveable protector of Easter."

[easta_buni_spawn]
id = 9688

[easter_bird_2010]
id = 9696
categories = ["bird"]
categories = ["birds"]
examine = "The bird looks awake and alert."
3 changes: 3 additions & 0 deletions data/area/asgarnia/port_sarim/port_sarim.npc-spawns.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ spawns = [
{ id = "rat", x = 3011, y = 3189 },
{ id = "rat", x = 3013, y = 3183 },
{ id = "rat", x = 3015, y = 3182 },
{ id = "trader_crewmember_blue", x = 3039, y = 3193, members = true },
{ id = "trader_crewmember_hat", x = 3042, y = 3192, members = true },
{ id = "trader_stan", x = 3033, y = 3192, members = true },
# 12082
{ id = "man", x = 3017, y = 3238 },
{ id = "bartender_rusty_anchor", x = 3045, y = 3257 },
Expand Down
5 changes: 2 additions & 3 deletions data/area/kandarin/catherby/catherby.npc-spawns.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ spawns = [
{ id = "banker_4", x = 2811, y = 3443, direction = "SOUTH", members = true },
{ id = "candle_maker", x = 2799, y = 3438, members = true },
{ id = "arheins", x = 2803, y = 3430, members = true },
{ id = "trader_crewmember_1", x = 2794, y = 3414, members = true },
{ id = "trader_crewmember_2", x = 2795, y = 3414, members = true },
{ id = "trader_crewmember_hat", x = 2794, y = 3414, members = true },
{ id = "trader_crewmember_blue", x = 2795, y = 3414, members = true },
{ id = "sir_mordred", x = 1695, y = 4258, level = 2, members = true },
{ id = "renegade_knight", x = 2766, y = 3397, members = true },
{ id = "renegade_knight", x = 2767, y = 3399, members = true },
Expand All @@ -19,7 +19,6 @@ spawns = [
{ id = "renegade_knight", x = 2770, y = 3396, level = 1, members = true },
{ id = "renegade_knight", x = 2771, y = 3402, level = 1, members = true },
{ id = "renegade_knight", x = 2774, y = 3405, level = 1, members = true },

# 11317
{ id = "man_3", x = 2818, y = 3443, members = true },
{ id = "woman_2", x = 2817, y = 3447, members = true },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,6 @@ spawns = [
{ id = "penelope_platypus_3", x = 2610, y = 2865, members = true },
{ id = "peter_platypus_3", x = 2611, y = 2862, members = true },
{ id = "peanut_platypus_3", x = 2611, y = 2864, members = true },
{ id = "trader_crewmember_black", x = 2619, y = 2856, members = true },
{ id = "trader_crewmember_pink", x = 2621, y = 2857, members = true },
]
2 changes: 1 addition & 1 deletion data/area/kandarin/ourania/ourania.npcs.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ attack_radius = 11
wander_radius = 5
max_hit_melee = 50
hunt_mode = "aggressive"
drop_table = "empty"
respawn_delay = 50
combat_anims = "gecko"
examine = "A cave dweller."
2 changes: 2 additions & 0 deletions data/area/kandarin/port_khazard/port_khazard.npc-spawns.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
spawns = [
# 10545
{ id = "musician_port_khazard", x = 2630, y = 3196, direction = "WEST", members = true },
{ id = "trader_crewmember_grey", x = 2673, y = 3144, members = true },
{ id = "trader_crewmember_pink", x = 2675, y = 3144, members = true },
]
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ delta = { level = 1 }

[3205]
option = "Climb-down"
tile = { x = 2515, y = 3173, level 1 }
tile = { x = 2515, y = 3173, level = 1 }
delta = { level = -1 }

[1750]
Expand All @@ -15,7 +15,7 @@ delta = { level = 1 }

[basic_ladder_top]
option = "Climb-down"
tile = { x = 2525, y = 3172, level 1 }
tile = { x = 2525, y = 3172, level = 1 }
delta = { level = -1 }

[1750]
Expand All @@ -25,7 +25,7 @@ delta = { level = 1 }

[basic_ladder_top]
option = "Climb-down"
tile = { x = 2516, y = 3165, level 1 }
tile = { x = 2516, y = 3165, level = 1 }
delta = { level = -1 }

[1750]
Expand All @@ -35,7 +35,7 @@ delta = { level = 1 }

[1749]
option = "Climb-down"
tile = { x = 2521, y = 3162, level 1 }
tile = { x = 2521, y = 3162, level = 1 }
delta = { level = -1 }

[1750]
Expand All @@ -45,7 +45,7 @@ delta = { level = 1 }

[basic_ladder_top]
option = "Climb-down"
tile = { x = 2525, y = 3162, level 1 }
tile = { x = 2525, y = 3162, level = 1 }
delta = { level = -1 }

[5250]
Expand Down
3 changes: 3 additions & 0 deletions data/area/karamja/brimhaven/brimhaven.npc-spawns.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,14 @@ spawns = [
{ id = "snake", x = 2754, y = 3171, members = true },
{ id = "snake", x = 2786, y = 3174, members = true },
# 10801
{ id = "saniboch", x = 2744, y = 3152, members = true },
{ id = "snake", x = 2739, y = 3169, members = true },
{ id = "snake", x = 2733, y = 3165, members = true },
{ id = "snake", x = 2751, y = 3166, members = true },
{ id = "snake", x = 2734, y = 3147, members = true },
{ id = "snake", x = 2749, y = 3151, members = true },
# 11058
{ id = "snake", x = 2772, y = 3209, members = true },
{ id = "trader_crewmember_blue", x = 2759, y = 3239, members = true },
{ id = "trader_crewmember_black", x = 2760, y = 3239, members = true },
]
40 changes: 40 additions & 0 deletions data/area/karamja/brimhaven/brimhaven.objs.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,43 @@ examine = "I hope I don't fall off this."
[brimhaven_log_balance_end]
id = 5090
examine = "I hope I don't fall off this."

[brimhaven_dungeon_entrance]
id = 5083
examine = "An overgrown dungeon entrance."

[brimhaven_dungeon_exit]
id = 5084
examine = "A closed overgrown dungeon entrance"

[brimhaven_walk_up_1]
id = 5094
examine = "A closed overgrown dungeon entrance"

[brimhaven_walk_down_2]
id = 5096
examine = "A closed overgrown dungeon entrance"

[brimhaven_walk_up_3]
id = 5097
examine = "A closed overgrown dungeon entrance"

[brimhaven_walk_down_4]
id = 5098
examine = "A closed overgrown dungeon entrance"

[brimhaven_vine_1]
id = 5103
examine = "A closed overgrown dungeon entrance"

[brimhaven_vine_2]
id = 5104
examine = "A closed overgrown dungeon entrance"

[brimhaven_vine_3]
id = 5105
examine = "A closed overgrown dungeon entrance"

[brimhaven_vine_4]
id = 5106
examine = "A closed overgrown dungeon entrance"
32 changes: 31 additions & 1 deletion data/area/karamja/brimhaven/brimhaven.teles.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,34 @@ delta = { level = 1 }
[basic_ladder_top]
option = "Climb-down"
tile = { x = 2808, y = 3161, level = 1 }
delta = { level = -1 }
delta = { level = -1 }

[brimhaven_dungeon_entrance]
option = "Enter"
tile = { x = 2743, y = 3153 }
to = { x = 2712, y = 9564 }

[brimhaven_dungeon_exit]
option = "Leave"
tile = { x = 2714, y = 9564 }
to = { x = 2744, y = 3152 }

[brimhaven_walk_up_1]
option = "Walk-up"
tile = { x = 2648, y = 9592}
to = { x = 2643, y = 9594, level = 2}

[brimhaven_walk_down_2]
option = "Walk-down"
tile = { x = 2644, y = 9593, level = 2}
to = { x = 2649, y = 9591}

[brimhaven_walk_up_3]
option = "Walk-up"
tile = { x = 2635, y = 9514 }
to = { x = 2636, y = 9510, level = 2}

[brimhaven_walk_down_4]
option = "Walk-down"
tile = { x = 2635, y = 9511, level = 2}
to = { x = 2636, y = 9517}
3 changes: 3 additions & 0 deletions data/area/karamja/brimhaven/brimhaven_dungeon.vars.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[temporary_saniboch_access]
persist = true
format = "boolean"
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
spawns = [
# 10644
{ id = "fire_giant_3", x = 2664, y = 9482, members = true },
{ id = "fire_giant_5", x = 2659, y = 9481, members = true },
{ id = "fire_giant_4", x = 2655, y = 9480, members = true },
{ id = "fire_giant_4", x = 2667, y = 9496, members = true },
{ id = "fire_giant_5", x = 2658, y = 9501, members = true },
{ id = "bronze_dragon", x = 2731, y = 9482, members = true },
{ id = "bronze_dragon", x = 2731, y = 9491, members = true },
{ id = "bronze_dragon", x = 2740, y = 9492, members = true },
{ id = "moss_giant", x = 2642, y = 9492, members = true },
{ id = "moss_giant", x = 2645, y = 9532, members = true },
{ id = "moss_giant_2", x = 2636, y = 9528, members = true },
Expand All @@ -21,4 +29,59 @@ spawns = [
{ id = "moss_giant_3", x = 2682, y = 9573, members = true },
{ id = "moss_giant_3", x = 2648, y = 9537, members = true },
{ id = "moss_giant_4", x = 2659, y = 9548, members = true },
{ id = "greater_demon_2", x = 2631, y = 9482, level = 2, members = true },
{ id = "greater_demon", x = 2631, y = 9505, level = 2, members = true },
{ id = "greater_demon_4", x = 2633, y = 9491, level = 2, members = true },
{ id = "greater_demon_4", x = 2635, y = 9477, level = 2, members = true },
{ id = "greater_demon_2", x = 2638, y = 9501, level = 2, members = true },
{ id = "greater_demon_3", x = 2642, y = 9506, level = 2, members = true },
{ id = "greater_demon_5", x = 2646, y = 9476, level = 2, members = true },
{ id = "fire_giant_5", x = 2628, y = 9543, level = 2, members = true },
{ id = "fire_giant_3", x = 2630, y = 9551, level = 2, members = true },
{ id = "fire_giant_4", x = 2632, y = 9585, level = 2, members = true },
{ id = "fire_giant_3", x = 2634, y = 9577, level = 2, members = true },
{ id = "fire_giant_3", x = 2635, y = 9557, level = 2, members = true },
{ id = "fire_giant_5", x = 2635, y = 9562, level = 2, members = true },
{ id = "fire_giant_4", x = 2640, y = 9566, level = 2, members = true },
{ id = "fire_giant_3", x = 2643, y = 9563, level = 2, members = true },
# 10899
{ id = "black_demon_2", x = 2700, y = 9489, members = true },
{ id = "black_demon_1", x = 2703, y = 9483, members = true },
{ id = "black_demon", x = 2709, y = 9479, members = true },
{ id = "black_demon", x = 2715, y = 9482, members = true },
{ id = "iron_dragon", x = 2704, y = 9431, members = true },
{ id = "iron_dragon", x = 2704, y = 9457, members = true },
{ id = "iron_dragon", x = 2705, y = 9424, members = true },
{ id = "iron_dragon", x = 2714, y = 9420, members = true },
{ id = "iron_dragon", x = 2714, y = 9449, members = true },
{ id = "iron_dragon", x = 2714, y = 9460, members = true },
{ id = "iron_dragon", x = 2722, y = 9424, members = true },
{ id = "iron_dragon", x = 2724, y = 9435, members = true },
{ id = "iron_dragon", x = 2730, y = 9437, members = true },
{ id = "iron_dragon", x = 2732, y = 9459, members = true },
{ id = "iron_dragon", x = 2736, y = 9424, members = true },
{ id = "iron_dragon", x = 2738, y = 9440, members = true },
{ id = "iron_dragon", x = 2739, y = 9450, members = true },
{ id = "steel_dragon", x = 2712, y = 9435, members = true },
{ id = "steel_dragon", x = 2702, y = 9447, members = true },
{ id = "steel_dragon", x = 2723, y = 9458, members = true },
{ id = "steel_dragon", x = 2726, y = 9445, members = true },
# 10900
{ id = "baby_red_dragon", x = 2696, y = 9501, members = true },
{ id = "baby_red_dragon_2", x = 2698, y = 9524, members = true },
{ id = "baby_red_dragon_1", x = 2708, y = 9500, members = true },
{ id = "baby_red_dragon_1", x = 2708, y = 9526, members = true },
{ id = "baby_red_dragon", x = 2711, y = 9516, members = true },
{ id = "baby_red_dragon_2", x = 2714, y = 9505, members = true },
{ id = "baby_red_dragon_1", x = 2730, y = 9512, members = true },
{ id = "red_dragon", x = 2697, y = 9506, members = true },
{ id = "red_dragon_1", x = 2702, y = 9504, members = true },
{ id = "red_dragon", x = 2703, y = 9522, members = true },
{ id = "red_dragon", x = 2706, y = 9516, members = true },
{ id = "red_dragon_1", x = 2708, y = 9508, members = true },
{ id = "red_dragon", x = 2711, y = 9500, members = true },
{ id = "red_dragon_1", x = 2714, y = 9526, members = true },
{ id = "red_dragon", x = 2717, y = 9516, members = true },
{ id = "red_dragon_2", x = 2721, y = 9522, members = true },
{ id = "red_dragon", x = 2724, y = 9516, members = true },
]
2 changes: 2 additions & 0 deletions data/area/karamja/musa_point/musa_point.npc-spawns.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ spawns = [
{ id = "bartender_zambo", x = 2926, y = 3145 },
{ id = "snake", x = 2881, y = 3157 },
{ id = "snake", x = 2889, y = 3146 },
{ id = "trader_crewmember_hat", x = 2954, y = 3157, members = true },
{ id = "trader_crewmember_purple", x = 2954, y = 3156, members = true },
]
4 changes: 4 additions & 0 deletions data/area/karamja/ship_yard/karamja_ship_yard.npc-spawns.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
spawns = [
{ id = "trader_crewmember_grey", x = 3001, y = 3033, members = true },
{ id = "trader_crewmember_pink", x = 3001, y = 3034, members = true },
]
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ wander_radius = 6
attack_radius = 8
slayer_xp = 40.0
hunt_mode = "cowardly"
categories = ["catablepon", "catablepons"]
drop_table = "catablepon"
combat_anims = "catablepon"
categories = ["catablepons"]
examine = "Big... Cow-like... But cows don't have serpent tails!"

[catablepon_mid]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@ attack_radius = 11
slayer_xp = 25.0
hunt_mode = "aggressive"
hunt_range = 3
categories = ["flesh_crawler", "flesh_crawlers"]
drop_table = "flesh_crawler"
combat_anims = "flesh_crawler"
combat_sounds = "flesh_crawler"
categories = ["flesh_crawlers"]
examine = "I don't think insect repellent will work..."

[flesh_crawler_2]
Expand Down
Loading
Loading