├── .dockerignore ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── codecov.yml └── workflows │ ├── create_release.yml │ ├── qodana_code_quality.yml │ └── test-with-coverage.yml ├── .gitignore ├── .run └── Void.run.xml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── README.md ├── buffer ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ └── world │ │ └── gregs │ │ └── voidps │ │ └── buffer │ │ ├── read │ │ ├── BufferReader.kt │ │ └── Reader.kt │ │ └── write │ │ ├── BufferWriter.kt │ │ └── Writer.kt │ └── test │ └── kotlin │ └── world │ └── gregs │ └── voidps │ └── buffer │ ├── BufferReaderTest.kt │ └── BufferWriterTest.kt ├── build.gradle.kts ├── cache ├── build.gradle.kts └── src │ ├── main │ ├── kotlin │ │ └── world │ │ │ └── gregs │ │ │ └── voidps │ │ │ └── cache │ │ │ ├── Cache.kt │ │ │ ├── CacheDelegate.kt │ │ │ ├── CacheLoader.kt │ │ │ ├── Config.kt │ │ │ ├── Definition.kt │ │ │ ├── DefinitionDecoder.kt │ │ │ ├── DefinitionEncoder.kt │ │ │ ├── FileCache.kt │ │ │ ├── Index.kt │ │ │ ├── MemoryCache.kt │ │ │ ├── ReadOnlyCache.kt │ │ │ ├── compress │ │ │ ├── BZIP2Compressor.kt │ │ │ └── DecompressionContext.kt │ │ │ ├── config │ │ │ ├── ConfigDecoder.kt │ │ │ ├── ConfigEncoder.kt │ │ │ ├── data │ │ │ │ ├── ClientVariableParameterDefinition.kt │ │ │ │ ├── HitSplatDefinition.kt │ │ │ │ ├── IdentityKitDefinition.kt │ │ │ │ ├── InventoryDefinition.kt │ │ │ │ ├── MapSceneDefinition.kt │ │ │ │ ├── OverlayDefinition.kt │ │ │ │ ├── PlayerVariableParameterDefinition.kt │ │ │ │ ├── QuestDefinition.kt │ │ │ │ ├── RenderAnimationDefinition.kt │ │ │ │ ├── StructDefinition.kt │ │ │ │ ├── UnderlayDefinition.kt │ │ │ │ └── WorldMapInfoDefinition.kt │ │ │ ├── decoder │ │ │ │ ├── ClientVariableParameterDecoder.kt │ │ │ │ ├── HitSplatDecoder.kt │ │ │ │ ├── IdentityKitDecoder.kt │ │ │ │ ├── InventoryDecoder.kt │ │ │ │ ├── MapSceneDecoder.kt │ │ │ │ ├── OverlayDecoder.kt │ │ │ │ ├── PlayerVariableParameterDecoder.kt │ │ │ │ ├── QuestDecoder.kt │ │ │ │ ├── RenderAnimationDecoder.kt │ │ │ │ ├── StructDecoder.kt │ │ │ │ ├── UnderlayDecoder.kt │ │ │ │ └── WorldMapInfoDecoder.kt │ │ │ └── encoder │ │ │ │ └── InventoryEncoder.kt │ │ │ ├── definition │ │ │ ├── ColourPalette.kt │ │ │ ├── Extra.kt │ │ │ ├── Parameterized.kt │ │ │ ├── Parameters.kt │ │ │ ├── Recolourable.kt │ │ │ ├── Transforms.kt │ │ │ ├── data │ │ │ │ ├── AnimationDefinition.kt │ │ │ │ ├── AnimationDefinitionFull.kt │ │ │ │ ├── BodyDefinition.kt │ │ │ │ ├── CanoeDefinition.kt │ │ │ │ ├── ClientScriptDefinition.kt │ │ │ │ ├── EnumDefinition.kt │ │ │ │ ├── FontDefinition.kt │ │ │ │ ├── GraphicDefinition.kt │ │ │ │ ├── IndexedSprite.kt │ │ │ │ ├── Instructions.kt │ │ │ │ ├── InterfaceComponentDefinition.kt │ │ │ │ ├── InterfaceComponentDefinitionFull.kt │ │ │ │ ├── InterfaceComponentSetting.kt │ │ │ │ ├── InterfaceDefinition.kt │ │ │ │ ├── InterfaceDefinitionFull.kt │ │ │ │ ├── ItemDefinition.kt │ │ │ │ ├── ItemDefinitionFull.kt │ │ │ │ ├── MapDefinition.kt │ │ │ │ ├── MapObject.kt │ │ │ │ ├── MapTile.kt │ │ │ │ ├── MaterialDefinition.kt │ │ │ │ ├── NPCDefinition.kt │ │ │ │ ├── NPCDefinitionFull.kt │ │ │ │ ├── ObjectDefinition.kt │ │ │ │ ├── ObjectDefinitionFull.kt │ │ │ │ ├── QuickChatOptionDefinition.kt │ │ │ │ ├── QuickChatPhraseDefinition.kt │ │ │ │ ├── QuickChatType.kt │ │ │ │ ├── SpriteDefinition.kt │ │ │ │ ├── VarBitDefinition.kt │ │ │ │ ├── WorldMapDefinition.kt │ │ │ │ ├── WorldMapIcon.kt │ │ │ │ ├── WorldMapIconDefinition.kt │ │ │ │ └── WorldMapSection.kt │ │ │ ├── decoder │ │ │ │ ├── AnimationDecoder.kt │ │ │ │ ├── AnimationDecoderFull.kt │ │ │ │ ├── BodyDecoder.kt │ │ │ │ ├── ClientScriptDecoder.kt │ │ │ │ ├── EnumDecoder.kt │ │ │ │ ├── FontDecoder.kt │ │ │ │ ├── GraphicDecoder.kt │ │ │ │ ├── InterfaceDecoder.kt │ │ │ │ ├── InterfaceDecoderFull.kt │ │ │ │ ├── ItemDecoder.kt │ │ │ │ ├── ItemDecoderFull.kt │ │ │ │ ├── MapObjectDecoder.kt │ │ │ │ ├── MapTileDecoder.kt │ │ │ │ ├── MaterialDecoder.kt │ │ │ │ ├── NPCDecoder.kt │ │ │ │ ├── NPCDecoderFull.kt │ │ │ │ ├── ObjectDecoder.kt │ │ │ │ ├── ObjectDecoderFull.kt │ │ │ │ ├── QuickChatOptionDecoder.kt │ │ │ │ ├── QuickChatPhraseDecoder.kt │ │ │ │ ├── SpriteDecoder.kt │ │ │ │ ├── VarBitDecoder.kt │ │ │ │ ├── WorldMapDetailsDecoder.kt │ │ │ │ └── WorldMapIconDecoder.kt │ │ │ └── encoder │ │ │ │ ├── ClientScriptEncoder.kt │ │ │ │ ├── InterfaceEncoder.kt │ │ │ │ ├── ItemEncoder.kt │ │ │ │ ├── MapObjectEncoder.kt │ │ │ │ ├── MapTileEncoder.kt │ │ │ │ ├── NPCEncoder.kt │ │ │ │ └── ObjectEncoder.kt │ │ │ └── secure │ │ │ ├── CRC.kt │ │ │ ├── Huffman.kt │ │ │ ├── RSA.kt │ │ │ ├── VersionTableBuilder.kt │ │ │ ├── Whirlpool.kt │ │ │ └── Xtea.kt │ └── resources │ │ └── logback.xml │ └── test │ ├── kotlin │ └── world │ │ └── gregs │ │ └── voidps │ │ └── cache │ │ ├── definition │ │ ├── data │ │ │ ├── MapDefinitionTest.kt │ │ │ ├── MapObjectTest.kt │ │ │ └── MapTileTest.kt │ │ └── encoder │ │ │ ├── ClientScriptEncoderTest.kt │ │ │ ├── EncoderComparator.kt │ │ │ ├── InterfaceEncoderTest.kt │ │ │ ├── ItemEncoderTest.kt │ │ │ ├── MapObjectEncoderTest.kt │ │ │ ├── MapTileEncoderTest.kt │ │ │ ├── NPCEncoderTest.kt │ │ │ └── ObjectEncoderTest.kt │ │ └── secure │ │ ├── HuffmanTest.kt │ │ └── VersionTableBuilderTest.kt │ └── resources │ └── huffman.csv ├── config ├── README.md ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ └── world │ │ └── gregs │ │ └── config │ │ ├── Config.kt │ │ ├── ConfigReader.kt │ │ └── ConfigWriter.kt │ └── test │ ├── kotlin │ └── world │ │ └── gregs │ │ └── config │ │ ├── ConfigReaderTest.kt │ │ └── ConfigWriterTest.kt │ └── resources │ └── world │ └── gregs │ └── config │ ├── read │ ├── invalid │ │ ├── array-comma-less.toml │ │ ├── array-commas.toml │ │ ├── array-of-tables.toml │ │ ├── array-space-less.toml │ │ ├── integer-prefixes.toml │ │ ├── invalid-float-infix.toml │ │ ├── invalid-float-prefix.toml │ │ ├── invalid-float-suffix.toml │ │ ├── map-comma-less.toml │ │ ├── map-space-less.toml │ │ ├── missing-key.toml │ │ ├── missing-value.toml │ │ └── whitespace-in-key.toml │ ├── multi-sections.toml │ ├── next-line.toml │ ├── root-pairs.toml │ └── valid │ │ ├── array-comma-only.toml │ │ ├── array-comma-only.txt │ │ ├── arrays.toml │ │ ├── arrays.txt │ │ ├── bare-keys.toml │ │ ├── bare-keys.txt │ │ ├── basic-string-newline.toml │ │ ├── basic-string-newline.txt │ │ ├── basic-string.toml │ │ ├── basic-string.txt │ │ ├── booleans.toml │ │ ├── booleans.txt │ │ ├── comment.toml │ │ ├── comment.txt │ │ ├── dotted-float.toml │ │ ├── dotted-float.txt │ │ ├── dotted-keys.toml │ │ ├── dotted-keys.txt │ │ ├── example.toml │ │ ├── example.txt │ │ ├── float-underscores.toml │ │ ├── float-underscores.txt │ │ ├── floats.toml │ │ ├── floats.txt │ │ ├── inline-map.toml │ │ ├── inline-map.txt │ │ ├── integers.toml │ │ ├── integers.txt │ │ ├── key-value-pair.toml │ │ ├── key-value-pair.txt │ │ ├── large-numbers.toml │ │ ├── large-numbers.txt │ │ ├── literal-strings.toml │ │ ├── literal-strings.txt │ │ ├── map-comma-only.toml │ │ ├── map-comma-only.txt │ │ ├── multi-line-arrays.toml │ │ ├── multi-line-arrays.txt │ │ ├── multi-line-maps.toml │ │ ├── multi-line-maps.txt │ │ ├── nested-inline-map-array.toml │ │ ├── nested-inline-map-array.txt │ │ ├── quoted-keys.toml │ │ ├── quoted-keys.txt │ │ ├── redefined-tables.toml │ │ ├── redefined-tables.txt │ │ ├── root-section.toml │ │ ├── root-section.txt │ │ ├── section-headers.toml │ │ ├── section-headers.txt │ │ ├── section-indentation.toml │ │ ├── section-indentation.txt │ │ ├── section-inheritance.toml │ │ ├── section-inheritance.txt │ │ ├── section-names.toml │ │ ├── section-names.txt │ │ ├── section-redefine.toml │ │ ├── section-redefine.txt │ │ ├── section-whitespace.toml │ │ ├── section-whitespace.txt │ │ ├── section.toml │ │ ├── section.txt │ │ ├── sub-sections.toml │ │ ├── sub-sections.txt │ │ ├── unrelated-dotted-keys.toml │ │ └── unrelated-dotted-keys.txt │ └── write │ └── valid │ ├── boolean-value.toml │ ├── double-value.toml │ ├── inline-array.toml │ ├── inline-map.toml │ ├── key-value-pair.toml │ ├── multiple-sections.toml │ ├── multiple-values-in-a-section.toml │ ├── nested-list-of-maps.toml │ ├── nested-lists.toml │ ├── nested-map-of-lists.toml │ ├── nested-maps.toml │ └── number-value.toml ├── data ├── achievement │ ├── achievement_diary.items.toml │ ├── achievement_task.ifaces.toml │ ├── achievement_task.jingles.toml │ ├── achievement_task.varbits.toml │ ├── achievement_task.varcs.toml │ ├── achievement_task.varps.toml │ ├── achievement_task.vars.toml │ ├── ardougne_tasks.varbits.toml │ ├── falador_easy.varbits.toml │ ├── fremennik_tasks.varbits.toml │ ├── karamja_tasks.varbits.toml │ ├── lumbridge_draynor_tasks.varbits.toml │ ├── seers_village_tasks.varbits.toml │ └── varrock_tasks.varbits.toml ├── activity │ ├── ancient_effigies.items.toml │ ├── circus │ │ ├── circus.ifaces.toml │ │ ├── circus.items.toml │ │ └── circus.varbits.toml │ ├── court_summons.items.toml │ ├── event │ │ ├── christmas │ │ │ ├── christmas.gfx.toml │ │ │ ├── christmas.items.toml │ │ │ ├── christmas.jingles.toml │ │ │ ├── christmas.npc-spawns.toml │ │ │ └── christmas.teles.toml │ │ ├── cryptic_clue_fest.items.toml │ │ ├── easter │ │ │ ├── easter.anims.toml │ │ │ ├── easter.items.toml │ │ │ ├── easter.jingles.toml │ │ │ ├── easter.npc-spawns.toml │ │ │ └── easter.npcs.toml │ │ ├── halloween │ │ │ ├── halloween.anims.toml │ │ │ ├── halloween.gfxs.toml │ │ │ ├── halloween.items.toml │ │ │ └── halloween.teles.toml │ │ ├── oktoberfest.items.toml │ │ ├── random │ │ │ ├── kiss_the_frog.npc-spawns.toml │ │ │ ├── pillory.shops.toml │ │ │ ├── random-events.npcs.toml │ │ │ ├── random_event.jingles.toml │ │ │ └── random_event.npc-spawns.toml │ │ ├── random_event.items.toml │ │ ├── spring.items.toml │ │ └── thanksgiving.items.toml │ ├── evil_tree │ │ ├── evil_tree.gfx.toml │ │ ├── evil_tree.items.toml │ │ └── evil_tree.varbits.toml │ ├── fish_flingers.items.toml │ ├── penguin_hide_and_seek │ │ ├── penguin_hide_and_seek.items.toml │ │ └── penguin_hide_and_seek.varbits.toml │ ├── sawmill_training │ │ ├── sawmill.shops.toml │ │ └── sawmill_training.items.toml │ ├── shooting_star │ │ ├── shooting_star.items.toml │ │ ├── shooting_star.jingles.toml │ │ ├── shooting_star.npcs.toml │ │ ├── shooting_star.objs.toml │ │ ├── shooting_star.sounds.toml │ │ └── shooting_star.vars.toml │ └── treasure_trails │ │ └── clue_scroll.drops.toml ├── area │ ├── asgarnia │ │ ├── burthorpe │ │ │ ├── burthorpe.areas.toml │ │ │ ├── burthorpe.item-spawns.toml │ │ │ ├── burthorpe.npc-spawns.toml │ │ │ ├── burthorpe.shops.toml │ │ │ ├── burthorpe.teles.toml │ │ │ └── heroes_guild │ │ │ │ ├── heroes_guild.objs.toml │ │ │ │ └── heroes_guild.teles.toml │ │ ├── dwarven_mines │ │ │ ├── dwarven_mine.item-spawns.toml │ │ │ ├── dwarven_mine.npc-spawns.toml │ │ │ ├── dwarven_mine.shops.toml │ │ │ ├── dwarven_mine.teles.toml │ │ │ ├── living_rock_cavern.items.toml │ │ │ └── living_rock_cavern.objs.toml │ │ ├── entrana │ │ │ ├── entrana.item-spawns.toml │ │ │ ├── entrana.npc-spawns.toml │ │ │ ├── entrana.objs.toml │ │ │ ├── entrana.shops.toml │ │ │ └── entrana.teles.toml │ │ ├── falador │ │ │ ├── falador.areas.toml │ │ │ ├── falador.item-spawns.toml │ │ │ ├── falador.items.toml │ │ │ ├── falador.npc-spawns.toml │ │ │ ├── falador.npcs.toml │ │ │ ├── falador.objs.toml │ │ │ ├── falador.shops.toml │ │ │ ├── falador.teles.toml │ │ │ └── party_room │ │ │ │ ├── party_room.ifaces.toml │ │ │ │ └── party_room.items.toml │ │ ├── goblin_village │ │ │ ├── goblin_village.npc-spawns.toml │ │ │ └── goblin_village.teles.toml │ │ ├── mudskipper_point │ │ │ ├── asgarnian_ice_dungeon │ │ │ │ ├── asgarnian_ice_dungeon.item-spawns.toml │ │ │ │ ├── asgarnian_ice_dungeon.npc-spawns.toml │ │ │ │ ├── asgarnian_ice_dungeon.objs.toml │ │ │ │ └── asgarnian_ice_dungeon.teles.toml │ │ │ ├── mudskipper_point.items.toml │ │ │ ├── mudskipper_point.npc-spawns.toml │ │ │ ├── mudskipper_point.npcs.toml │ │ │ └── mudskipper_point.teles.toml │ │ ├── port_sarim │ │ │ ├── port_sarim.item-spawns.toml │ │ │ ├── port_sarim.items.toml │ │ │ ├── port_sarim.npc-spawns.toml │ │ │ ├── port_sarim.npcs.toml │ │ │ ├── port_sarim.obj-spawns.toml │ │ │ ├── port_sarim.patrols.toml │ │ │ ├── port_sarim.shops.toml │ │ │ └── port_sarim.teles.toml │ │ ├── rimmington │ │ │ ├── melzars_maze │ │ │ │ ├── melzars_maze.npc-spawns.toml │ │ │ │ └── melzars_maze.teles.toml │ │ │ ├── rimmington.npc-spawns.toml │ │ │ ├── rimmington.npcs.toml │ │ │ ├── rimmington.shops.toml │ │ │ └── rimmington.teles.toml │ │ ├── taverley │ │ │ ├── dungeon │ │ │ │ ├── taverley_dungeon.item-spawns.toml │ │ │ │ ├── taverley_dungeon.items.toml │ │ │ │ ├── taverley_dungeon.npc-spawns.toml │ │ │ │ ├── taverley_dungeon.objs.toml │ │ │ │ └── taverley_dungeon.teles.toml │ │ │ ├── lightsources.items.toml │ │ │ ├── taverley.item-spawns.toml │ │ │ ├── taverley.items.toml │ │ │ ├── taverley.npc-spawns.toml │ │ │ ├── taverley.shops.toml │ │ │ └── taverley.teles.toml │ │ └── white_wolf_mountain │ │ │ ├── white_wolf_mountain.areas.toml │ │ │ ├── white_wolf_mountain.item-spawns.toml │ │ │ ├── white_wolf_mountain.npc-spawns.toml │ │ │ ├── white_wolf_mountain.shops.toml │ │ │ ├── white_wolf_mountain.teles.toml │ │ │ └── white_wolf_mountain_underground.teles.toml │ ├── entrana.teles.toml │ ├── fremennik_province │ │ ├── iceberg │ │ │ └── penguin_hunter_area.shops.toml │ │ ├── jatizso │ │ │ └── jatizso.shops.toml │ │ ├── keldagrim │ │ │ ├── keldagrim.item-spawns.toml │ │ │ ├── keldagrim.items.toml │ │ │ ├── keldagrim.npc-spawns.toml │ │ │ ├── keldagrim.objs.toml │ │ │ └── keldagrim.shops.toml │ │ ├── lighthouse │ │ │ ├── lighthouse.areas.toml │ │ │ ├── lighthouse.objs.toml │ │ │ ├── lighthouse.shops.toml │ │ │ └── lighthouse.teles.toml │ │ ├── lunar_isle │ │ │ ├── lunar_isle.areas.toml │ │ │ ├── lunar_isle.npc-spawns.toml │ │ │ ├── lunar_isle.objs.toml │ │ │ └── lunar_isle.shops.toml │ │ ├── miscellania │ │ │ ├── miscellania.areas.toml │ │ │ ├── miscellania.item-spawns.toml │ │ │ ├── miscellania.npc-spawns.toml │ │ │ └── miscellania.shops.toml │ │ ├── neitiznot │ │ │ ├── neitiznot.areas.toml │ │ │ ├── neitiznot.npc-spawns.toml │ │ │ ├── neitiznot.objs.toml │ │ │ └── neitiznot.shops.toml │ │ ├── pirates_cove.areas.toml │ │ ├── pirates_cove.npc-spawns.toml │ │ ├── rellekka │ │ │ ├── rellekka.areas.toml │ │ │ ├── rellekka.invs.toml │ │ │ ├── rellekka.item-spawns.toml │ │ │ ├── rellekka.items.toml │ │ │ ├── rellekka.npc-spawns.toml │ │ │ ├── rellekka.npcs.toml │ │ │ ├── rellekka.objs.toml │ │ │ ├── rellekka.shops.toml │ │ │ ├── rellekka.teles.toml │ │ │ └── rellekka_hunter_area.item-spawns.toml │ │ └── waterbirth_island │ │ │ ├── waterbirth_island.areas.toml │ │ │ ├── waterbirth_island.item-spawns.toml │ │ │ ├── waterbirth_island.items.toml │ │ │ └── waterbirth_island.npc-spawns.toml │ ├── kandarin │ │ ├── ancient_cavern │ │ │ ├── ancient_cavern.areas.toml │ │ │ └── ancient_cavern.items.toml │ │ ├── ape_atoll │ │ │ ├── ape_atoll.areas.toml │ │ │ ├── ape_atoll.gfx.toml │ │ │ ├── ape_atoll.item-spawns.toml │ │ │ ├── ape_atoll.shops.toml │ │ │ └── ape_atoll.teles.toml │ │ ├── arandar │ │ │ ├── arandar.item-spawns.toml │ │ │ └── arandar_pass.npc-spawns.toml │ │ ├── ardougne │ │ │ ├── ardougne.areas.toml │ │ │ ├── ardougne_sewers.npc-spawns.toml │ │ │ ├── ardougne_sewers_mine.npc-spawns.toml │ │ │ ├── ardougne_underground.teles.toml │ │ │ ├── east_ardougne.item-spawns.toml │ │ │ ├── east_ardougne.items.toml │ │ │ ├── east_ardougne.npc-spawns.toml │ │ │ ├── east_ardougne.objs.toml │ │ │ ├── east_ardougne.shops.toml │ │ │ ├── east_ardougne.teles.toml │ │ │ ├── outpost.item-spawns.toml │ │ │ ├── outpost.npc-spawns.toml │ │ │ ├── outpost.teles.toml │ │ │ ├── underground_pass │ │ │ │ ├── underground_pass.item-spawns.toml │ │ │ │ ├── underground_pass.npc-spawns.toml │ │ │ │ ├── underground_pass_dungeon.item-spawns.toml │ │ │ │ └── underground_pass_dungeon.npc-spawns.toml │ │ │ ├── west_ardougne.item-spawns.toml │ │ │ ├── west_ardougne.shops.toml │ │ │ ├── west_ardougne.teles.toml │ │ │ ├── witchaven.npc-spawns.toml │ │ │ └── witchaven.teles.toml │ │ ├── barbarian_outpost │ │ │ ├── barbarian_outpost.areas.toml │ │ │ ├── barbarian_outpost.item-spawns.toml │ │ │ ├── barbarian_outpost.npc-spawns.toml │ │ │ ├── barbarian_outpost.teles.toml │ │ │ └── barbarian_outpost.vars.toml │ │ ├── battlefield │ │ │ ├── battlefield.areas.toml │ │ │ ├── battlefield.item-spawns.toml │ │ │ └── battlefield.teles.toml │ │ ├── baxtorian_falls │ │ │ ├── baxtorian_falls.npc-spawns.toml │ │ │ ├── baxtorian_falls.shops.toml │ │ │ └── baxtorian_falls.teles.toml │ │ ├── camelot │ │ │ ├── camelot.areas.toml │ │ │ ├── camelot.teles.toml │ │ │ ├── camelot_castle.item-spawns.toml │ │ │ └── camelot_castle.npc-spawns.toml │ │ ├── catherby │ │ │ ├── catherby.areas.toml │ │ │ ├── catherby.item-spawns.toml │ │ │ ├── catherby.items.toml │ │ │ ├── catherby.npc-spawns.toml │ │ │ ├── catherby.objs.toml │ │ │ ├── catherby.shops.toml │ │ │ ├── catherby.teles.toml │ │ │ └── mcgrubors_wood.item-spawns.toml │ │ ├── clock_tower │ │ │ ├── clock_tower.obj-spawns.toml │ │ │ ├── clock_tower.objs.toml │ │ │ └── clock_tower.teles.toml │ │ ├── feldip_hills │ │ │ ├── feldip_hills.areas.toml │ │ │ ├── feldip_hills.item-spawns.toml │ │ │ ├── feldip_hills.npc-spawns.toml │ │ │ ├── feldip_hills.shops.toml │ │ │ ├── gu_tanoth │ │ │ │ ├── gu_tanoth.item-spawns.toml │ │ │ │ ├── gu_tanoth.npc-spawns.toml │ │ │ │ └── gu_tanoth.shops.toml │ │ │ ├── jiggig │ │ │ │ ├── jiggig.areas.toml │ │ │ │ └── jiggig.shops.toml │ │ │ └── oo_glog │ │ │ │ ├── oo_glog.item-spawns.toml │ │ │ │ ├── oo_glog.npc-spawns.toml │ │ │ │ ├── oo_glog.objs.toml │ │ │ │ └── oo_glog.shops.toml │ │ ├── fishing_guild │ │ │ ├── fishing_guild.areas.toml │ │ │ ├── fishing_guild.item-spawns.toml │ │ │ ├── fishing_guild.npc-spawns.toml │ │ │ ├── fishing_guild.objs.toml │ │ │ ├── fishing_guild.shops.toml │ │ │ └── fishing_guild.teles.toml │ │ ├── goblin_cave.npc-spawns.toml │ │ ├── kandarin.teles.toml │ │ ├── legends_guild │ │ │ ├── legends_guild.item-spawns.toml │ │ │ ├── legends_guild.npc-spawns.toml │ │ │ ├── legends_guild.objs.toml │ │ │ ├── legends_guild.shops.toml │ │ │ └── legends_guild.teles.toml │ │ ├── mcgrubors_wood.teles.toml │ │ ├── observatory.teles.toml │ │ ├── ourania │ │ │ ├── ourania.areas.toml │ │ │ ├── ourania.drops.toml │ │ │ ├── ourania.item-spawns.toml │ │ │ ├── ourania.npc-spawns.toml │ │ │ ├── ourania.npcs.toml │ │ │ ├── ourania.objs.toml │ │ │ ├── ourania.patrols.toml │ │ │ ├── ourania.teles.toml │ │ │ ├── ourania_cave.npc-spawns.toml │ │ │ ├── ourania_cave.teles.toml │ │ │ └── ourania_runes.drops.toml │ │ ├── piscatoris │ │ │ ├── piscatoris.areas.toml │ │ │ ├── piscatoris.npc-spawns.toml │ │ │ └── piscatoris.shops.toml │ │ ├── port_khazard │ │ │ ├── khazard_battlefield.items.toml │ │ │ ├── port_khazard.areas.toml │ │ │ ├── port_khazard.invs.toml │ │ │ ├── port_khazard.item-spawns.toml │ │ │ ├── port_khazard.npc-spawns.toml │ │ │ └── port_khazard.teles.toml │ │ ├── ranging_guild │ │ │ ├── ranging_guild.areas.toml │ │ │ ├── ranging_guild.item-spawns.toml │ │ │ ├── ranging_guild.items.toml │ │ │ ├── ranging_guild.npc-spawns.toml │ │ │ ├── ranging_guild.shops.toml │ │ │ └── ranging_guild.teles.toml │ │ ├── seers_village │ │ │ ├── seers_village.item-spawns.toml │ │ │ ├── seers_village.npc-spawns.toml │ │ │ ├── seers_village.objs.toml │ │ │ ├── seers_village.shops.toml │ │ │ ├── seers_village.teles.toml │ │ │ ├── sorcerers_tower.item-spawns.toml │ │ │ └── temple_of_ikov_dungeon.npc-spawns.toml │ │ ├── sinclair_mansion │ │ │ ├── sinclair_mansion.item-spawns.toml │ │ │ ├── sinclair_mansion.npc-spawns.toml │ │ │ └── sinclair_mansion.teles.toml │ │ ├── temple_of_ikov │ │ │ └── temple_of_ikov.teles.toml │ │ ├── tower_of_life.teles.toml │ │ ├── tree_gnome_stronghold │ │ │ ├── brimstails_home │ │ │ │ ├── brimstails_home.areas.toml │ │ │ │ ├── brimstails_home.item-spawns.toml │ │ │ │ ├── brimstails_home.npc-spawns.toml │ │ │ │ └── brimstails_home.teles.toml │ │ │ ├── grand_tree │ │ │ │ ├── grand_tree.item-spawns.toml │ │ │ │ ├── grand_tree.npc-spawns.toml │ │ │ │ ├── grand_tree.objs.toml │ │ │ │ ├── grand_tree.shops.toml │ │ │ │ ├── grand_tree.teles.toml │ │ │ │ └── grand_tree_tunnels.npc-spawns.toml │ │ │ ├── training_camp │ │ │ │ ├── combat_training_camp.item-spawns.toml │ │ │ │ └── combat_training_camp.npc-spawns.toml │ │ │ ├── tree_gnome_stronghold.item-spawns.toml │ │ │ ├── tree_gnome_stronghold.npc-spawns.toml │ │ │ └── tree_gnome_stronghold.teles.toml │ │ ├── tree_gnome_village │ │ │ ├── tree_gnome_village.invs.toml │ │ │ ├── tree_gnome_village.npc-spawns.toml │ │ │ ├── tree_gnome_village.teles.toml │ │ │ └── tree_gnome_village_dungeon.npc-spawns.toml │ │ └── yanille │ │ │ ├── watchtower │ │ │ └── watchtower.areas.toml │ │ │ ├── yanille.anims.toml │ │ │ ├── yanille.areas.toml │ │ │ ├── yanille.item-spawns.toml │ │ │ ├── yanille.npc-spawns.toml │ │ │ ├── yanille.objs.toml │ │ │ ├── yanille.shops.toml │ │ │ ├── yanille.teles.toml │ │ │ ├── yanille_agility_dungeon.item-spawns.toml │ │ │ └── yanille_agility_dungeon.items.toml │ ├── karamja │ │ ├── brimhaven │ │ │ ├── brimhaven.item-spawns.toml │ │ │ ├── brimhaven.npc-spawns.toml │ │ │ ├── brimhaven.objs.toml │ │ │ ├── brimhaven.shops.toml │ │ │ ├── brimhaven.teles.toml │ │ │ ├── brimhaven_dungeon.vars.toml │ │ │ └── dungeon │ │ │ │ └── brimhaven_dungeon.npc-spawns.toml │ │ ├── crandor │ │ │ ├── crandor.item-spawns.toml │ │ │ ├── crandor.npc-spawns.toml │ │ │ ├── crandor.teles.toml │ │ │ ├── crandor_dungeon.item-spawns.toml │ │ │ ├── crandor_dungeon.npc-spawns.toml │ │ │ └── crandor_dungeon.teles.toml │ │ ├── dungeon │ │ │ ├── karamja_dungeon.item-spawns.toml │ │ │ └── karamja_dungeon.npc-spawns.toml │ │ ├── herblore_habitat │ │ │ └── herblore_habitat.shops.toml │ │ ├── karamja.areas.toml │ │ ├── karamja.item-spawns.toml │ │ ├── karamja.npc-spawns.toml │ │ ├── karamja.npcs.toml │ │ ├── karamja.shops.toml │ │ ├── karamja.teles.toml │ │ ├── kharazi_jungle │ │ │ └── kharazi_jungle.npc-spawns.toml │ │ ├── musa_point │ │ │ ├── musa_point.item-spawns.toml │ │ │ ├── musa_point.npc-spawns.toml │ │ │ └── musa_point.npcs.toml │ │ ├── shilo_village │ │ │ ├── shilo_village.item-spawns.toml │ │ │ ├── shilo_village.npc-spawns.toml │ │ │ ├── shilo_village.objs.toml │ │ │ ├── shilo_village.shops.toml │ │ │ └── shilo_village.teles.toml │ │ ├── ship_yard │ │ │ ├── karamja_ship_yard.item-spawns.toml │ │ │ └── karamja_ship_yard.npc-spawns.toml │ │ ├── tai_bwo_wannai │ │ │ ├── tai_bwo_wannai.areas.toml │ │ │ ├── tai_bwo_wannai.item-spawns.toml │ │ │ ├── tai_bwo_wannai.items.toml │ │ │ ├── tai_bwo_wannai.jingles.toml │ │ │ ├── tai_bwo_wannai.npc-spawns.toml │ │ │ ├── tai_bwo_wannai.shops.toml │ │ │ └── tai_bwo_wannai.teles.toml │ │ ├── tzhaar_city │ │ │ ├── tzhaar_city.items.toml │ │ │ └── tzhaar_city.shops.toml │ │ └── volcano │ │ │ ├── karamja_volcano.npc-spawns.toml │ │ │ └── karamja_volcano.teles.toml │ ├── kharidian_desert │ │ ├── al_kharid │ │ │ ├── al_kharid.areas.toml │ │ │ ├── al_kharid.item-spawns.toml │ │ │ ├── al_kharid.items.toml │ │ │ ├── al_kharid.npc-spawns.toml │ │ │ ├── al_kharid.npcs.toml │ │ │ ├── al_kharid.objs.toml │ │ │ ├── al_kharid.shops.toml │ │ │ ├── al_kharid.teles.toml │ │ │ ├── al_kharid.vars.toml │ │ │ ├── faruqs_tools_for_games.items.toml │ │ │ └── shantay_pass │ │ │ │ ├── shantay_pass.npc-spawns.toml │ │ │ │ └── shantay_pass.shops.toml │ │ ├── bandit_camp │ │ │ ├── bandit_camp.areas.toml │ │ │ └── bandit_camp.shops.toml │ │ ├── bedabin_camp │ │ │ └── bedabin.shops.toml │ │ ├── desert.items.toml │ │ ├── harmony_island │ │ │ └── harmony.item-spawns.toml │ │ ├── mining_camp │ │ │ └── desert_mining_camp.item-spawns.toml │ │ ├── monkey_colony │ │ │ └── monkey_colony.shops.toml │ │ ├── nardah │ │ │ ├── nardah.item-spawns.toml │ │ │ ├── nardah.objs.toml │ │ │ └── nardah.shops.toml │ │ ├── pollnivneach │ │ │ ├── pollnivneach.areas.toml │ │ │ ├── pollnivneach.item-spawns.toml │ │ │ └── pollnivneach.shops.toml │ │ ├── ruins_of_uzer.item-spawns.toml │ │ └── sophanem │ │ │ ├── sophanem.areas.toml │ │ │ ├── sophanem.items.toml │ │ │ ├── sophanem.npc-spawns.toml │ │ │ ├── sophanem.objs.toml │ │ │ ├── sophanem.shops.toml │ │ │ ├── sophanem.teles.toml │ │ │ └── sophanem_dungeon.npc-spawns.toml │ ├── misthalin │ │ ├── barbarian_village │ │ │ ├── barbarian_village.areas.toml │ │ │ ├── barbarian_village.npc-spawns.toml │ │ │ ├── barbarian_village.objs.toml │ │ │ ├── barbarian_village.shops.toml │ │ │ ├── barbarian_village.teles.toml │ │ │ └── stronghold_of_security │ │ │ │ ├── catablepon │ │ │ │ ├── catablepon.anims.toml │ │ │ │ ├── catablepon.drops.toml │ │ │ │ ├── catablepon.npc-spawns.toml │ │ │ │ └── catablepon.npcs.toml │ │ │ │ ├── flesh_crawler │ │ │ │ ├── flesh_crawler.anims.toml │ │ │ │ ├── flesh_crawler.drops.toml │ │ │ │ ├── flesh_crawler.npcs.toml │ │ │ │ └── flesh_crawler.sounds.toml │ │ │ │ ├── minotaur │ │ │ │ ├── minotaur.anims.toml │ │ │ │ ├── minotaur.drops.toml │ │ │ │ ├── minotaur.npc-spawns.toml │ │ │ │ ├── minotaur.npcs.toml │ │ │ │ └── minotaur.sounds.toml │ │ │ │ ├── stronghold_of_security.anims.toml │ │ │ │ ├── stronghold_of_security.areas.toml │ │ │ │ ├── stronghold_of_security.books.toml │ │ │ │ ├── stronghold_of_security.gfx.toml │ │ │ │ ├── stronghold_of_security.items.toml │ │ │ │ ├── stronghold_of_security.jingles.toml │ │ │ │ ├── stronghold_of_security.npc-spawns.toml │ │ │ │ ├── stronghold_of_security.npcs.toml │ │ │ │ ├── stronghold_of_security.objs.toml │ │ │ │ ├── stronghold_of_security.recipes.toml │ │ │ │ ├── stronghold_of_security.sounds.toml │ │ │ │ ├── stronghold_of_security.teles.toml │ │ │ │ └── stronghold_of_security.vars.toml │ │ ├── border_guard.anims.toml │ │ ├── border_guard.areas.toml │ │ ├── border_guard.objs.toml │ │ ├── dorgesh_kaan │ │ │ ├── dorgesh_kaan.areas.toml │ │ │ ├── dorgesh_kaan.items.toml │ │ │ ├── dorgesh_kaan.npc-spawns.toml │ │ │ ├── dorgesh_kaan.objs.toml │ │ │ └── dorgesh_kaan.shops.toml │ │ ├── draynor │ │ │ ├── diango │ │ │ │ ├── diango.gfx.toml │ │ │ │ ├── diango.ifaces.toml │ │ │ │ ├── diango.invs.toml │ │ │ │ ├── diango.items.toml │ │ │ │ ├── diango.vars.toml │ │ │ │ └── diango_codes.toml │ │ │ ├── draynor.areas.toml │ │ │ ├── draynor.gfx.toml │ │ │ ├── draynor.item-spawns.toml │ │ │ ├── draynor.items.toml │ │ │ ├── draynor.npc-spawns.toml │ │ │ ├── draynor.npcs.toml │ │ │ ├── draynor.objs.toml │ │ │ ├── draynor.shops.toml │ │ │ ├── draynor.teles.toml │ │ │ ├── draynor_sewers.npc-spawns.toml │ │ │ └── draynor_sewers.teles.toml │ │ ├── edgeville │ │ │ ├── dungeon │ │ │ │ ├── edgeville_dungeon.item-spawns.toml │ │ │ │ ├── edgeville_dungeon.items.toml │ │ │ │ ├── edgeville_dungeon.npc-spawns.toml │ │ │ │ └── edgeville_dungeon.teles.toml │ │ │ ├── edgeville.areas.toml │ │ │ ├── edgeville.npc-spawns.toml │ │ │ ├── edgeville.npcs.toml │ │ │ ├── edgeville.obj-spawns.toml │ │ │ ├── edgeville.objs.toml │ │ │ ├── edgeville.shops.toml │ │ │ ├── edgeville.teles.toml │ │ │ ├── monastery │ │ │ │ └── monastery.item-spawns.toml │ │ │ └── stronghold_of_player_safety │ │ │ │ └── stronghold_of_player_safety.teles.toml │ │ ├── gnomecopters.items.toml │ │ ├── lumbridge │ │ │ ├── church │ │ │ │ ├── church.jingles.toml │ │ │ │ ├── gravestone.anims.toml │ │ │ │ ├── gravestone.ifaces.toml │ │ │ │ ├── gravestone.npcs.toml │ │ │ │ ├── gravestone.varbits.toml │ │ │ │ └── lumbridge_church.midis.toml │ │ │ ├── combat_hall │ │ │ │ ├── combat_hall.npcs.toml │ │ │ │ ├── combat_hall.objs.toml │ │ │ │ └── combat_hall.vars.toml │ │ │ ├── freds_farm │ │ │ │ ├── freds_farm.item-spawns.toml │ │ │ │ ├── freds_farm.npc-spawns.toml │ │ │ │ └── freds_farm.teles.toml │ │ │ ├── lumbridge.anims.toml │ │ │ ├── lumbridge.areas.toml │ │ │ ├── lumbridge.item-spawns.toml │ │ │ ├── lumbridge.items.toml │ │ │ ├── lumbridge.npc-spawns.toml │ │ │ ├── lumbridge.npcs.toml │ │ │ ├── lumbridge.objs.toml │ │ │ ├── lumbridge.shops.toml │ │ │ ├── lumbridge.teles.toml │ │ │ ├── lumbridge_basement.item-spawns.toml │ │ │ ├── lumbridge_basement.teles.toml │ │ │ ├── lumbridge_catacombs_statuettes.varbits.toml │ │ │ ├── swamp │ │ │ │ ├── lumbridge_swamp.item-spawns.toml │ │ │ │ ├── lumbridge_swamp.npc-spawns.toml │ │ │ │ ├── lumbridge_swamp.teles.toml │ │ │ │ └── lumbridge_swamp_caves.items.toml │ │ │ └── thieves_guild │ │ │ │ ├── thieves_guild.items.toml │ │ │ │ ├── thieves_guild.objs.toml │ │ │ │ └── thieves_guild.shops.toml │ │ ├── signposts.ifaces.toml │ │ ├── signposts.objs.toml │ │ ├── training_centre.items.toml │ │ ├── tutorial_island │ │ │ ├── tutorial_island.items.toml │ │ │ ├── tutorial_island.npc-spawns.toml │ │ │ ├── tutorial_island.npcs.toml │ │ │ ├── tutorial_island.objs.toml │ │ │ └── tutorial_island.teles.toml │ │ ├── varrock │ │ │ ├── digsite │ │ │ │ ├── digsite.areas.toml │ │ │ │ ├── digsite.item-spawns.toml │ │ │ │ ├── exam_centre.item-spawns.toml │ │ │ │ └── exam_centre.npc-spawns.toml │ │ │ ├── sewer │ │ │ │ ├── varrock_sewer.item-spawns.toml │ │ │ │ ├── varrock_sewer.npc-spawns.toml │ │ │ │ └── varrock_sewer.teles.toml │ │ │ ├── varrock.anims.toml │ │ │ ├── varrock.areas.toml │ │ │ ├── varrock.item-spawns.toml │ │ │ ├── varrock.npc-spawns.toml │ │ │ ├── varrock.npcs.toml │ │ │ ├── varrock.objs.toml │ │ │ ├── varrock.shops.toml │ │ │ ├── varrock.teles.toml │ │ │ └── varrock_museum.items.toml │ │ ├── wizards_tower │ │ │ ├── wizards_tower.areas.toml │ │ │ ├── wizards_tower.item-spawns.toml │ │ │ ├── wizards_tower.npc-spawns.toml │ │ │ ├── wizards_tower.objs.toml │ │ │ ├── wizards_tower.shops.toml │ │ │ └── wizards_tower.teles.toml │ │ └── zanaris │ │ │ ├── zanaris.item-spawns.toml │ │ │ ├── zanaris.npc-spawns.toml │ │ │ ├── zanaris.objs.toml │ │ │ ├── zanaris.shops.toml │ │ │ └── zanaris.teles.toml │ ├── morytania │ │ ├── burgh_de_rott │ │ │ ├── burgh_de_rott.areas.toml │ │ │ ├── burgh_de_rott.item-spawns.toml │ │ │ ├── burgh_de_rott.npc-spawns.toml │ │ │ ├── burgh_de_rott.objs.toml │ │ │ └── burgh_de_rott.shops.toml │ │ ├── canifis │ │ │ ├── canifis.areas.toml │ │ │ ├── canifis.item-spawns.toml │ │ │ ├── canifis.items.toml │ │ │ ├── canifis.npc-spawns.toml │ │ │ ├── canifis.objs.toml │ │ │ └── canifis.shops.toml │ │ ├── fenkenstrains_castle │ │ │ └── fenkenstrains_castle.npc-spawns.toml │ │ ├── meiyerditch │ │ │ ├── meiyerditch.item-spawns.toml │ │ │ ├── meiyerditch.shops.toml │ │ │ ├── meiyerditch_tunnels.item-spawns.toml │ │ │ ├── meiyerditch_tunnels.npc-spawns.toml │ │ │ └── meiyerditch_tunnels.teles.toml │ │ ├── mort_myre_swamp │ │ │ ├── grotto │ │ │ │ └── grotto.objs.toml │ │ │ ├── mort_myre_swamp.item-spawns.toml │ │ │ ├── mort_myre_swamp.items.toml │ │ │ └── mort_myre_swamp.npc-spawns.toml │ │ ├── mort_ton │ │ │ ├── mort_ton.item-spawns.toml │ │ │ └── mort_ton.shops.toml │ │ ├── mos_le_harmless │ │ │ ├── mos_le_harmless.items.toml │ │ │ ├── mos_le_harmless.npc-spawns.toml │ │ │ ├── mos_le_harmless.objs.toml │ │ │ └── mos_le_harmless.shops.toml │ │ └── port_phasmatys │ │ │ ├── port_phasmatys.areas.toml │ │ │ ├── port_phasmatys.items.toml │ │ │ ├── port_phasmatys.npc-spawns.toml │ │ │ ├── port_phasmatys.objs.toml │ │ │ ├── port_phasmatys.shops.toml │ │ │ └── port_phasmatys.teles.toml │ ├── realm │ │ ├── enchanted_valley │ │ │ └── enchanted_valley.areas.toml │ │ └── rune_essence_mine │ │ │ └── rune_essence_mine.areas.toml │ ├── tirannwn │ │ ├── iorwerth_camp │ │ │ ├── iorwerth_camp.item-spawns.toml │ │ │ └── iorwerth_camp.npc-spawns.toml │ │ ├── isafdar │ │ │ ├── isafdar.item-spawns.toml │ │ │ └── isafdar.npc-spawns.toml │ │ ├── lletya │ │ │ ├── lletya.npc-spawns.toml │ │ │ └── lletya.shops.toml │ │ └── tyras_camp │ │ │ ├── tyras_camp.item-spawns.toml │ │ │ ├── tyras_camp.npc-spawns.toml │ │ │ └── tyras_camp.shops.toml │ ├── troll_country │ │ ├── death_plateau │ │ │ ├── death_plateau.areas.toml │ │ │ ├── death_plateau.item-spawns.toml │ │ │ └── death_plateau.shops.toml │ │ ├── god_wars_dungeon │ │ │ ├── god_wars.areas.toml │ │ │ ├── god_wars.ifaces.toml │ │ │ ├── god_wars_dungeon.items.toml │ │ │ ├── god_wars_dungeon.npc-spawns.toml │ │ │ ├── god_wars_dungeon.objs.toml │ │ │ └── godwars.midis.toml │ │ ├── mountain_camp.item-spawns.toml │ │ ├── troll_stronghold │ │ │ ├── troll_stronghold.shops.toml │ │ │ └── troll_stronghold.teles.toml │ │ ├── trollheim │ │ │ └── trollheim.areas.toml │ │ └── trollweiss.item-spawns.toml │ └── wilderness │ │ ├── abyss │ │ ├── abyss.anims.toml │ │ ├── abyss.areas.toml │ │ ├── abyss.drops.toml │ │ ├── abyss.npc-spawns.toml │ │ ├── abyss.npcs.toml │ │ ├── abyss.objs.toml │ │ ├── abyss.sounds.toml │ │ └── abyss.teles.toml │ │ ├── agility_course │ │ ├── wilderness_agility.anims.toml │ │ ├── wilderness_agility_course.item-spawns.toml │ │ ├── wilderness_agility_course.npc-spawns.toml │ │ └── wilderness_agility_course.teles.toml │ │ ├── bandit_camp │ │ ├── wilderness_bandit_camp.item-spawns.toml │ │ ├── wilderness_bandit_camp.npc-spawns.toml │ │ └── wilderness_bandit_camp.teles.toml │ │ ├── chaos_tunnels │ │ └── chaos_tunnels.npc-spawns.toml │ │ ├── deep_dungeon │ │ ├── deep_wilderness_dungeon.item-spawns.toml │ │ ├── deep_wilderness_dungeon.npc-spawns.toml │ │ └── deep_wilderness_dungeon.teles.toml │ │ ├── mage_arena │ │ ├── mage_arena.areas.toml │ │ └── mage_arena.shops.toml │ │ ├── wilderness.areas.toml │ │ ├── wilderness.ifaces.toml │ │ ├── wilderness.item-spawns.toml │ │ ├── wilderness.items.toml │ │ ├── wilderness.npc-spawns.toml │ │ ├── wilderness.objs.toml │ │ ├── wilderness.shops.toml │ │ ├── wilderness.teles.toml │ │ ├── wilderness.varbits.toml │ │ └── wilderness.vars.toml ├── client │ ├── categories.toml │ ├── enums.toml │ ├── parameters.toml │ ├── scripts.toml │ └── structs.toml ├── entity │ ├── bot │ │ ├── gear_sets.toml │ │ └── nav_graph.toml │ ├── npc │ │ ├── animal │ │ │ ├── bat │ │ │ │ ├── bat.anims.toml │ │ │ │ ├── bat.drops.toml │ │ │ │ ├── bat.npc-spawns.toml │ │ │ │ ├── bat.npcs.toml │ │ │ │ └── bat.sounds.toml │ │ │ ├── bear │ │ │ │ ├── bear.anims.toml │ │ │ │ ├── bear.drops.toml │ │ │ │ ├── bear.npc-spawns.toml │ │ │ │ ├── bear.npcs.toml │ │ │ │ └── bear.sounds.toml │ │ │ ├── birds.npcs.toml │ │ │ ├── butterflies.npcs.toml │ │ │ ├── camels.npcs.toml │ │ │ ├── chicken │ │ │ │ ├── chicken.anims.toml │ │ │ │ ├── chicken.drops.toml │ │ │ │ ├── chicken.npcs.toml │ │ │ │ └── chicken.sounds.toml │ │ │ ├── cow │ │ │ │ ├── cow.anims.toml │ │ │ │ ├── cow.drops.toml │ │ │ │ ├── cow.npcs.toml │ │ │ │ └── cow.sounds.toml │ │ │ ├── crab │ │ │ │ └── crab.npcs.toml │ │ │ ├── dog │ │ │ │ ├── dog.anims.toml │ │ │ │ ├── dog.drops.toml │ │ │ │ ├── dog.npc-spawns.toml │ │ │ │ ├── dog.npcs.toml │ │ │ │ └── dog.sounds.toml │ │ │ ├── gecko.anims.toml │ │ │ ├── monkey │ │ │ │ ├── monkey.anims.toml │ │ │ │ ├── monkey.drops.toml │ │ │ │ ├── monkey.npc-spawns.toml │ │ │ │ ├── monkey.npcs.toml │ │ │ │ └── monkey.sounds.toml │ │ │ ├── rat │ │ │ │ ├── rat.anims.toml │ │ │ │ ├── rat.drops.toml │ │ │ │ ├── rat.npcs.toml │ │ │ │ └── rat.sounds.toml │ │ │ ├── sheep.npcs.toml │ │ │ └── wolf │ │ │ │ ├── wolf.anims.toml │ │ │ │ ├── wolf.npcs.toml │ │ │ │ └── wolf.sounds.toml │ │ ├── boss │ │ │ ├── giant_mole │ │ │ │ ├── giant_mole.anims.toml │ │ │ │ ├── giant_mole.areas.toml │ │ │ │ ├── giant_mole.drops.toml │ │ │ │ ├── giant_mole.gfx.toml │ │ │ │ ├── giant_mole.ifaces.toml │ │ │ │ ├── giant_mole.items.toml │ │ │ │ ├── giant_mole.npcs.toml │ │ │ │ ├── giant_mole.objs.toml │ │ │ │ ├── giant_mole.sounds.toml │ │ │ │ └── giant_mole_lair.npc-spawns.toml │ │ │ ├── haakon_the_champion │ │ │ │ └── haakon_the_champion.drops.toml │ │ │ ├── kalphite_queen │ │ │ │ └── kalphite_queen.areas.toml │ │ │ ├── king_black_dragon │ │ │ │ ├── king_black_dragon.areas.toml │ │ │ │ ├── king_black_dragon.drops.toml │ │ │ │ ├── king_black_dragons_lair.npc-spawns.toml │ │ │ │ └── king_black_dragons_lair.teles.toml │ │ │ └── skeletal_horror.gfx.toml │ │ ├── dark_wizard.drops.toml │ │ ├── giants │ │ │ ├── hill_giant.anims.toml │ │ │ ├── hill_giant.npcs.toml │ │ │ ├── hill_giant.sounds.toml │ │ │ ├── moss_giant.anims.toml │ │ │ ├── moss_giant.drops.toml │ │ │ ├── moss_giant.npcs.toml │ │ │ └── moss_giant.sounds.toml │ │ ├── humanoid │ │ │ ├── bankers.npcs.toml │ │ │ ├── dwarf │ │ │ │ ├── dwarf.anims.toml │ │ │ │ ├── dwarf.drops.toml │ │ │ │ ├── dwarf.npc-spawns.toml │ │ │ │ ├── dwarf.npcs.toml │ │ │ │ └── dwarf.sounds.toml │ │ │ ├── gnomes.npcs.toml │ │ │ ├── human │ │ │ │ ├── human.drops.toml │ │ │ │ ├── humans.npcs.toml │ │ │ │ ├── man.sounds.toml │ │ │ │ └── woman.sounds.toml │ │ │ └── musicians.npcs.toml │ │ ├── hunt │ │ │ └── hunt.vars.toml │ │ ├── hunt_modes.toml │ │ ├── misc.drops.toml │ │ ├── monster │ │ │ ├── cave_bug │ │ │ │ ├── cave_bug.anims.toml │ │ │ │ ├── cave_bug.drops.toml │ │ │ │ ├── cave_bug.npc-spawns.toml │ │ │ │ ├── cave_bug.npcs.toml │ │ │ │ └── cave_bug.sounds.toml │ │ │ ├── cave_crawler │ │ │ │ ├── cave_crawler.anims.toml │ │ │ │ ├── cave_crawler.drops.toml │ │ │ │ ├── cave_crawler.npc-spawns.toml │ │ │ │ ├── cave_crawler.npcs.toml │ │ │ │ └── cave_crawler.sounds.toml │ │ │ ├── cave_slime │ │ │ │ ├── cave_slime.anims.toml │ │ │ │ ├── cave_slime.drops.toml │ │ │ │ ├── cave_slime.npc-spawns.toml │ │ │ │ ├── cave_slime.npcs.toml │ │ │ │ └── cave_slime.sounds.toml │ │ │ ├── chaos_druid │ │ │ │ ├── chaos_druid.anims.toml │ │ │ │ ├── chaos_druid.drops.toml │ │ │ │ ├── chaos_druid.npcs.toml │ │ │ │ └── chaos_druid.sounds.toml │ │ │ ├── demon │ │ │ │ ├── demon.drops.toml │ │ │ │ └── demons.npcs.toml │ │ │ ├── draconic │ │ │ │ ├── dragon.anims.toml │ │ │ │ ├── dragon.drops.toml │ │ │ │ ├── dragon.gfx.toml │ │ │ │ ├── dragon.sounds.toml │ │ │ │ └── dragons.npcs.toml │ │ │ ├── earth_warrior │ │ │ │ ├── earth_warrior.anims.toml │ │ │ │ ├── earth_warrior.drops.toml │ │ │ │ ├── earth_warrior.npcs.toml │ │ │ │ └── earth_warrior.sounds.toml │ │ │ ├── fiend │ │ │ │ └── ice │ │ │ │ │ ├── icefiend.anims.toml │ │ │ │ │ ├── icefiend.drops.toml │ │ │ │ │ ├── icefiend.npc-spawns.toml │ │ │ │ │ ├── icefiend.npcs.toml │ │ │ │ │ └── icefiend.sounds.toml │ │ │ ├── fire_giant │ │ │ │ ├── fire_giant.anims.toml │ │ │ │ ├── fire_giant.drops.toml │ │ │ │ ├── fire_giant.npcs.toml │ │ │ │ └── fire_giant.sounds.toml │ │ │ ├── goblin │ │ │ │ ├── goblin.anims.toml │ │ │ │ ├── goblin.drops.toml │ │ │ │ ├── goblin.npcs.toml │ │ │ │ ├── goblin.sounds.toml │ │ │ │ ├── hobgoblins.anims.toml │ │ │ │ ├── hobgoblins.drops.toml │ │ │ │ ├── hobgoblins.npcs.toml │ │ │ │ └── hobgoblins.sounds.toml │ │ │ ├── ice_giant │ │ │ │ ├── ice_giant.anims.toml │ │ │ │ ├── ice_giant.drops.toml │ │ │ │ ├── ice_giant.npcs.toml │ │ │ │ └── ice_giant.sounds.toml │ │ │ ├── ice_warrior │ │ │ │ ├── ice_warrior.anims.toml │ │ │ │ ├── ice_warrior.drops.toml │ │ │ │ ├── ice_warrior.npcs.toml │ │ │ │ └── ice_warrior.sounds.toml │ │ │ ├── kalphite │ │ │ │ ├── kalphite.anims.toml │ │ │ │ ├── kalphite.drops.toml │ │ │ │ ├── kalphite.npc-spawns.toml │ │ │ │ ├── kalphite.npcs.toml │ │ │ │ └── kalphite.sounds.toml │ │ │ ├── lizard │ │ │ │ ├── lizard.anims.toml │ │ │ │ ├── lizard.drops.toml │ │ │ │ ├── lizard.gfx.toml │ │ │ │ ├── lizard.npc-spawns.toml │ │ │ │ ├── lizard.npcs.toml │ │ │ │ └── lizard.sounds.toml │ │ │ ├── mugger │ │ │ │ ├── mugger.anims.toml │ │ │ │ ├── mugger.drops.toml │ │ │ │ ├── mugger.npcs.toml │ │ │ │ └── mugger.sounds.toml │ │ │ ├── pirate │ │ │ │ ├── pirate.anims.toml │ │ │ │ ├── pirate.drops.toml │ │ │ │ ├── pirate.npcs.toml │ │ │ │ └── pirate.sounds.toml │ │ │ ├── scorpion │ │ │ │ ├── scorpion.anims.toml │ │ │ │ ├── scorpion.drops.toml │ │ │ │ ├── scorpion.npc-spawns.toml │ │ │ │ ├── scorpion.npcs.toml │ │ │ │ └── scorpion.sounds.toml │ │ │ ├── skeletal_wyvern │ │ │ │ ├── skeletal_wyvern.anims.toml │ │ │ │ ├── skeletal_wyvern.drops.toml │ │ │ │ ├── skeletal_wyvern.gfx.toml │ │ │ │ ├── skeletal_wyvern.npcs.toml │ │ │ │ └── skeletal_wyvern.sounds.toml │ │ │ ├── snake │ │ │ │ ├── snake.drops.toml │ │ │ │ ├── snake.npcs.toml │ │ │ │ └── snake.sounds.toml │ │ │ ├── spider │ │ │ │ ├── spider.anims.toml │ │ │ │ ├── spider.npc-spawns.toml │ │ │ │ ├── spider.npcs.toml │ │ │ │ └── spider.sounds.toml │ │ │ ├── thug │ │ │ │ ├── thug.anims.toml │ │ │ │ ├── thug.drops.toml │ │ │ │ ├── thug.npcs.toml │ │ │ │ └── thug.sounds.toml │ │ │ └── undead │ │ │ │ ├── ankou │ │ │ │ ├── ankou.drops.toml │ │ │ │ ├── ankou.npc-spawns.toml │ │ │ │ ├── ankou.npcs.toml │ │ │ │ └── ankou.sounds.toml │ │ │ │ ├── banshee │ │ │ │ ├── banshee.anims.toml │ │ │ │ ├── banshee.drops.toml │ │ │ │ ├── banshee.gfx.toml │ │ │ │ ├── banshee.npc-spawns.toml │ │ │ │ ├── banshee.npcs.toml │ │ │ │ └── banshee.sounds.toml │ │ │ │ ├── corpse │ │ │ │ ├── corpse.anims.toml │ │ │ │ ├── corpse.drops.toml │ │ │ │ ├── corpse.npc-spawns.toml │ │ │ │ └── corpse.npcs.toml │ │ │ │ ├── crawling_hand │ │ │ │ ├── crawling_hand.anims.toml │ │ │ │ ├── crawling_hand.drops.toml │ │ │ │ ├── crawling_hand.npc-spawns.toml │ │ │ │ ├── crawling_hand.npcs.toml │ │ │ │ └── crawling_hand.sounds.toml │ │ │ │ ├── dragith_nurn │ │ │ │ ├── dragith_nurn.anims.toml │ │ │ │ ├── dragith_nurn.drops.toml │ │ │ │ └── dragith_nurn.npcs.toml │ │ │ │ ├── ghost │ │ │ │ ├── ghost.anims.toml │ │ │ │ ├── ghost.npc-spawns.toml │ │ │ │ ├── ghost.npcs.toml │ │ │ │ └── ghost.sounds.toml │ │ │ │ ├── shade │ │ │ │ ├── shade.anims.toml │ │ │ │ ├── shade.drops.toml │ │ │ │ ├── shade.npc-spawns.toml │ │ │ │ ├── shade.npcs.toml │ │ │ │ └── shade.sounds.toml │ │ │ │ ├── skeleton │ │ │ │ ├── skeleton.anims.toml │ │ │ │ ├── skeleton.drops.toml │ │ │ │ ├── skeleton.npc-spawns.toml │ │ │ │ └── skeletons.npcs.toml │ │ │ │ ├── skoblin │ │ │ │ ├── skoblin.anims.toml │ │ │ │ ├── skoblin.drops.toml │ │ │ │ ├── skoblin.npc-spawns.toml │ │ │ │ └── skoblin.npcs.toml │ │ │ │ ├── warped │ │ │ │ ├── warped.anims.toml │ │ │ │ ├── warped.drops.toml │ │ │ │ ├── warped.npc-spawns.toml │ │ │ │ └── warped.npcs.toml │ │ │ │ └── zombie │ │ │ │ ├── zombie.anims.toml │ │ │ │ ├── zombie.drops.toml │ │ │ │ ├── zombie.npc-spawns.toml │ │ │ │ ├── zombie.npcs.toml │ │ │ │ └── zombie.sounds.toml │ │ ├── rare_drop_table.drops.toml │ │ └── shop │ │ │ ├── shop.ifaces.toml │ │ │ ├── shop.items.toml │ │ │ ├── shop.varps.toml │ │ │ └── team_cape.items.toml │ ├── obj │ │ ├── all.objs.toml │ │ ├── balloon │ │ │ └── balloon_transport.ifaces.toml │ │ ├── boat │ │ │ ├── boat.jingles.toml │ │ │ ├── charter_ship.areas.toml │ │ │ ├── charter_ship.ifaces.toml │ │ │ ├── charter_ship.npcs.toml │ │ │ ├── charter_ship.objs.toml │ │ │ ├── charter_ship.teles.toml │ │ │ ├── charter_ship_prices.toml │ │ │ └── trader_stans_trading_post.shops.toml │ │ ├── canoe │ │ │ ├── canoe.anims.toml │ │ │ ├── canoe.ifaces.toml │ │ │ ├── canoe.items.toml │ │ │ ├── canoe.objs.toml │ │ │ ├── canoe.sounds.toml │ │ │ ├── canoe.varbits.toml │ │ │ └── canoe_stations.toml │ │ ├── chairs.objs.toml │ │ ├── crates.objs.toml │ │ ├── door │ │ │ ├── door.objs.toml │ │ │ ├── door.sounds.toml │ │ │ └── door.vars.toml │ │ ├── fairy_ring │ │ │ ├── fairy_ring.ifaces.toml │ │ │ └── fairy_ring.objs.toml │ │ ├── gates.objs.toml │ │ ├── gnome_glider │ │ │ └── gnome_glider.ifaces.toml │ │ ├── obj.sounds.toml │ │ ├── stairs_ladders.objs.toml │ │ ├── stones.objs.toml │ │ ├── trapdoors.objs.toml │ │ ├── trees.objs.toml │ │ └── windmill │ │ │ ├── windmill.varps.toml │ │ │ └── windmill.vars.toml │ └── player │ │ ├── bank │ │ ├── bank.ifaces.toml │ │ ├── bank.invs.toml │ │ ├── bank.varbits.toml │ │ ├── bank.varcs.toml │ │ └── bank.varps.toml │ │ ├── cape.items.toml │ │ ├── charges.vars.toml │ │ ├── combat │ │ ├── combat.sounds.toml │ │ ├── combat.varcs.toml │ │ ├── combat_styles │ │ │ ├── attack_style.vars.toml │ │ │ ├── combat_style.ifaces.toml │ │ │ ├── combat_style.varps.toml │ │ │ └── weapon_styles.toml │ │ ├── special_attack.gfx.toml │ │ ├── weapon.anims.toml │ │ └── weapon_animations.toml │ │ ├── credit.varps.toml │ │ ├── dialogue │ │ ├── dialogue.ifaces.toml │ │ ├── dialogue.varbits.toml │ │ ├── dialogue.varcs.toml │ │ └── dialogue_expressions.anims.toml │ │ ├── effect │ │ ├── energy │ │ │ ├── rest.anims.toml │ │ │ └── rest.gfx.toml │ │ ├── poison │ │ │ ├── poison.varps.toml │ │ │ └── poison.vars.toml │ │ ├── skull │ │ │ └── skull.vars.toml │ │ └── stun │ │ │ └── stun.vars.toml │ │ ├── equipment │ │ ├── equipment.sounds.toml │ │ ├── worn_equipment.ifaces.toml │ │ ├── worn_equipment.invs.toml │ │ ├── worn_equipment.strings.toml │ │ ├── worn_equipment.varbits.toml │ │ └── worn_equipment.varcs.toml │ │ ├── human.anims.toml │ │ ├── inventory │ │ ├── inventory.ifaces.toml │ │ ├── inventory.invs.toml │ │ └── inventory_side.ifaces.toml │ │ ├── kept │ │ └── items_kept_on_death.ifaces.toml │ │ ├── misc.invs.toml │ │ ├── modal │ │ ├── book │ │ │ └── books.ifaces.toml │ │ ├── character_creation │ │ │ ├── character_creation.ifaces.toml │ │ │ ├── character_creation.invs.toml │ │ │ ├── character_creation.varbits.toml │ │ │ ├── character_rename.ifaces.toml │ │ │ └── character_rename.vars.toml │ │ ├── chat_box │ │ │ ├── chat_box.ifaces.toml │ │ │ ├── chat_box.varbits.toml │ │ │ ├── chat_box.varcs.toml │ │ │ ├── chat_box.varps.toml │ │ │ ├── chat_box.vars.toml │ │ │ ├── warning.varbits.toml │ │ │ └── warnings.ifaces.toml │ │ ├── fonts.toml │ │ ├── icon.items.toml │ │ ├── interface_types.toml │ │ ├── makeover │ │ │ ├── makeover.gfx.toml │ │ │ ├── makeover.ifaces.toml │ │ │ ├── makeover.varbits.toml │ │ │ └── makeover.varcs.toml │ │ ├── scrolls.ifaces.toml │ │ ├── tab │ │ │ ├── emote │ │ │ │ ├── emotes.anims.toml │ │ │ │ ├── emotes.gfx.toml │ │ │ │ ├── emotes.ifaces.toml │ │ │ │ ├── emotes.jingles.toml │ │ │ │ ├── emotes.npcs.toml │ │ │ │ └── emotes.varbits.toml │ │ │ ├── logout.ifaces.toml │ │ │ ├── music_player │ │ │ │ ├── music.varbits.toml │ │ │ │ ├── music.varps.toml │ │ │ │ ├── music_player.ifaces.toml │ │ │ │ └── music_tracks.toml │ │ │ ├── notes │ │ │ │ └── notes.ifaces.toml │ │ │ ├── options │ │ │ │ └── options.ifaces.toml │ │ │ └── tab.varcs.toml │ │ ├── toplevel │ │ │ ├── fade.ifaces.toml │ │ │ ├── fade.varbits.toml │ │ │ ├── gameframe.ifaces.toml │ │ │ ├── gameframe.varbits.toml │ │ │ ├── gameframe.varps.toml │ │ │ └── gameframe.vars.toml │ │ └── world_map │ │ │ ├── world_map.strings.toml │ │ │ ├── world_map.varbits.toml │ │ │ ├── world_map.varcs.toml │ │ │ └── world_map.varps.toml │ │ ├── player.gfx.toml │ │ ├── player.jingles.toml │ │ ├── player.sounds.toml │ │ ├── player.vars.toml │ │ ├── price_checker │ │ ├── price_checker.ifaces.toml │ │ └── price_checker.varcs.toml │ │ ├── render_emotes.toml │ │ └── unobtainable.items.toml ├── minigame │ ├── barbarian_assault │ │ ├── barbarian_assault.items.toml │ │ ├── barbarian_assault.jingles.toml │ │ ├── barbarian_assault.varbits.toml │ │ └── barbarian_assult.ifaces.toml │ ├── barrows_brothers │ │ ├── barrows.item-spawns.toml │ │ ├── barrows_brother.vars.toml │ │ ├── barrows_brothers.ifaces.toml │ │ ├── barrows_brothers.items.toml │ │ └── barrows_brothers.jingles.toml │ ├── blast_furnace │ │ ├── blast_furnace.ifaces.toml │ │ ├── blast_furnace.item-spawns.toml │ │ └── blast_furnace.items.toml │ ├── bounty_hunter │ │ ├── bounty_hunter.ifaces.toml │ │ └── bounty_hunter.npc-spawns.toml │ ├── burthorpe_games_room │ │ ├── burthorpe_games_room.jingles.toml │ │ └── burthorpe_games_room.teles.toml │ ├── castle_wars │ │ ├── castle_wars.areas.toml │ │ ├── castle_wars.ifaces.toml │ │ ├── castle_wars.items.toml │ │ ├── castle_wars.jingles.toml │ │ ├── castle_wars.objs.toml │ │ └── castle_wars.shops.toml │ ├── champions_challenge │ │ ├── champions_challenge.items.toml │ │ ├── champions_challenge.jingles.toml │ │ ├── champions_challenge.teles.toml │ │ └── champions_challenge.varbits.toml │ ├── clan_wars │ │ ├── clan_wars.areas.toml │ │ └── clan_wars.ifaces.toml │ ├── clue_scrolls │ │ └── clue_scrolls.items.toml │ ├── conquest │ │ ├── conquest.ifaces.toml │ │ └── conquest.items.toml │ ├── duel_arena │ │ ├── duel_arena.areas.toml │ │ ├── duel_arena.ifaces.toml │ │ ├── duel_arena.jingles.toml │ │ ├── duel_arena.npc-spawns.toml │ │ ├── duel_arena.shops.toml │ │ └── duel_arena.teles.toml │ ├── familiarisation │ │ ├── familiarisation.items.toml │ │ └── familiarisation.varbits.toml │ ├── first_of_guthix │ │ ├── fist_of_guthix.areas.toml │ │ ├── fist_of_guthix.ifaces.toml │ │ ├── fist_of_guthix.items.toml │ │ ├── fist_of_guthix.npc-spawns.toml │ │ ├── fist_of_guthix.varbits.toml │ │ └── fist_of_guthix.varps.toml │ ├── fishing_trawler │ │ └── fishing_trawler.items.toml │ ├── gnome_resturant │ │ ├── gnome_restaurant.jingles.toml │ │ └── gnome_resturant.items.toml │ ├── gnomeball │ │ ├── gnomeball.items.toml │ │ └── gnomeball.jingles.toml │ ├── great_orb_project │ │ ├── great_orb_project.gfx.toml │ │ ├── great_orb_project.ifaces.toml │ │ └── great_orb_project.items.toml │ ├── hand_in_the_sand │ │ └── hand_in_the_sand.items.toml │ ├── herblore_habitat │ │ └── herblore_habitat.items.toml │ ├── impetuous_impulses │ │ ├── impetuous_impulses.items.toml │ │ └── impetuous_impulses.shops.toml │ ├── mage_training_arena │ │ ├── mage_training_arena.items.toml │ │ ├── mage_training_arena.shops.toml │ │ └── mage_training_arena.teles.toml │ ├── mobilising_armies │ │ ├── mobilising_armies.areas.toml │ │ ├── mobilising_armies.ifaces.toml │ │ ├── mobilising_armies.items.toml │ │ └── mobilising_armies.varbits.toml │ ├── pest_control │ │ ├── pest_control.areas.toml │ │ ├── pest_control.gfx.toml │ │ ├── pest_control.ifaces.toml │ │ ├── pest_control.items.toml │ │ ├── pest_control.jingles.toml │ │ ├── pest_control.objs.toml │ │ ├── pest_control.vars.toml │ │ └── post_control.shops.toml │ ├── pyramid_plunder │ │ ├── pyramid_plunder.items.toml │ │ ├── pyramid_plunder.jingles.toml │ │ ├── pyramid_plunder.npc-spawns.toml │ │ ├── pyramid_plunder.npcs.toml │ │ └── pyramid_plunder.teles.toml │ ├── rogues_den │ │ ├── rogues_den.items.toml │ │ ├── rogues_den.jingles.toml │ │ └── rogues_den.shops.toml │ ├── shades_of_mort'ton │ │ ├── shades_of_mort'ton.items.toml │ │ └── shades_of_mort'ton.jingles.toml │ ├── sorceress's_garden │ │ └── sorceress's_garden.items.toml │ ├── soul_wars │ │ ├── soul_wars.ifaces.toml │ │ ├── soul_wars.items.toml │ │ ├── soul_wars.jingles.toml │ │ └── soul_wars.objs.toml │ ├── stealing_creation │ │ ├── stealing_creation.ifaces.toml │ │ ├── stealing_creation.items.toml │ │ └── stealing_creation.varbits.toml │ ├── tai_bwo_wannai_cleanup │ │ └── tai_bwo_wannai_cleanup.items.toml │ ├── temple_trekking │ │ ├── temple_trekking.items.toml │ │ └── temple_trekking.jingles.toml │ ├── treasure_trail │ │ ├── treasure_trail.items.toml │ │ └── treasure_trail.jingles.toml │ ├── trouble_brewing │ │ ├── trouble_brewing.item-spawns.toml │ │ ├── trouble_brewing.items.toml │ │ └── trouble_brewing.shops.toml │ ├── tzhaar_fight_cave │ │ ├── tzhaar_fight_cave.areas.toml │ │ └── tzhaar_fight_pit.jingles.toml │ ├── tzhaar_fight_pits │ │ └── fight_pits.jingles.toml │ ├── vinesweeper │ │ ├── vinesweeper.gfx.toml │ │ └── vinesweeper.items.toml │ └── warriors_guild │ │ ├── warriors_guild.areas.toml │ │ ├── warriors_guild.ifaces.toml │ │ ├── warriors_guild.items.toml │ │ └── warriors_guild.shops.toml ├── quest │ ├── free │ │ ├── blood_pact │ │ │ ├── blood_pact.items.toml │ │ │ └── the_blood_pact.teles.toml │ │ ├── cooks_assistant │ │ │ ├── cooks_assistant.invs.toml │ │ │ ├── cooks_assistant.items.toml │ │ │ ├── cooks_assistant.objs.toml │ │ │ ├── cooks_assistant.varps.toml │ │ │ └── cooks_assistant.vars.toml │ │ ├── demon_slayer │ │ │ ├── demon_slayer.anims.toml │ │ │ ├── demon_slayer.areas.toml │ │ │ ├── demon_slayer.gfx.toml │ │ │ ├── demon_slayer.items.toml │ │ │ ├── demon_slayer.npc-spawns.toml │ │ │ ├── demon_slayer.objs.toml │ │ │ ├── demon_slayer.sounds.toml │ │ │ ├── demon_slayer.varbits.toml │ │ │ └── demon_slayer.vars.toml │ │ ├── dorics_quest │ │ │ └── dorics_quest.varps.toml │ │ ├── dragon_slayer │ │ │ ├── dragon_slayer.items.toml │ │ │ └── dragon_slayer.jingles.toml │ │ ├── ernest_the_chicken │ │ │ └── ernest_the_chicken.items.toml │ │ ├── goblin_diplomacy │ │ │ └── goblin_diplomacy.items.toml │ │ ├── gunnars_ground │ │ │ ├── gunnars_ground.anims.toml │ │ │ ├── gunnars_ground.items.toml │ │ │ ├── gunnars_ground.objs.toml │ │ │ ├── gunnars_ground.varbits.toml │ │ │ └── gunnars_ground.vars.toml │ │ ├── imp_catcher │ │ │ └── imp_catcher.items.toml │ │ ├── learning_the_ropes │ │ │ └── learning_the_ropes.items.toml │ │ ├── myths_of_the_white_lands │ │ │ └── myths_of_the_white_lands.items.toml │ │ ├── prince_ali_rescue │ │ │ ├── prince_ali_rescue.anims.toml │ │ │ ├── prince_ali_rescue.gfx.toml │ │ │ ├── prince_ali_rescue.items.toml │ │ │ ├── prince_ali_rescue.npcs.toml │ │ │ ├── prince_ali_rescue.objs.toml │ │ │ ├── prince_ali_rescue.recipes.toml │ │ │ ├── prince_ali_rescue.sounds.toml │ │ │ ├── prince_ali_rescue.varps.toml │ │ │ └── prince_ali_rescue.vars.toml │ │ ├── romeo_juliet │ │ │ └── romeo_juliet.items.toml │ │ ├── sheep_shearer │ │ │ └── sheep_shearer.items.toml │ │ ├── shield_of_arrav │ │ │ ├── shield_of_arrav.books.toml │ │ │ ├── shield_of_arrav.items.toml │ │ │ └── shield_of_arrav.objs.toml │ │ ├── swept_away │ │ │ ├── swept_away.items.toml │ │ │ ├── swept_away.npc-spawns.toml │ │ │ ├── swept_away.npcs.toml │ │ │ └── swept_away.teles.toml │ │ ├── the_knights_sword │ │ │ ├── the_knights_sword.items.toml │ │ │ ├── the_knights_sword.objs.toml │ │ │ └── the_knights_sword.varps.toml │ │ ├── the_restless_ghost │ │ │ ├── the_restless_ghost.anims.toml │ │ │ ├── the_restless_ghost.gfx.toml │ │ │ ├── the_restless_ghost.items.toml │ │ │ ├── the_restless_ghost.objs.toml │ │ │ ├── the_restless_ghost.sounds.toml │ │ │ ├── the_restless_ghost.varbits.toml │ │ │ └── the_restless_ghost.varps.toml │ │ ├── unstable_foundations │ │ │ ├── unstable_foundations.ifaces.toml │ │ │ ├── unstable_foundations.items.toml │ │ │ ├── unstable_foundations.teles.toml │ │ │ └── unstable_foundations.varps.toml │ │ └── vampyre_slayer │ │ │ └── vampyre_slayer.items.toml │ ├── members │ │ ├── a_souls_bane │ │ │ └── a_souls_bane.items.toml │ │ ├── a_tail_of_two_cats │ │ │ └── a_tail_of_two_cats.items.toml │ │ ├── a_void_dance │ │ │ └── a_void_dance.items.toml │ │ ├── all_fired_up │ │ │ └── all_fired_up.items.toml │ │ ├── animal_magnetism │ │ │ ├── animal_magnetism.items.toml │ │ │ └── animal_magnetism.jingles.toml │ │ ├── another_slice_of_ham │ │ │ └── another_slice_of_ham.items.toml │ │ ├── as_a_first_resort │ │ │ ├── as_a_first_resort.items.toml │ │ │ ├── as_a_first_resort.npc-spawns.toml │ │ │ └── as_a_first_resort.npcs.toml │ │ ├── back_to_my_roots │ │ │ └── back_to_my_roots.items.toml │ │ ├── between_a_rock │ │ │ ├── between_a_rock.items.toml │ │ │ └── between_a_rock.jingles.toml │ │ ├── big_chompy_bird_hunting │ │ │ ├── big_chompy_bird_hunting.gfx.toml │ │ │ └── big_chompy_bird_hunting.items.toml │ │ ├── biohazard │ │ │ └── biohazard.items.toml │ │ ├── black_knights_fortress │ │ │ └── black_knights_fortress.items.toml │ │ ├── blood_runs_deep │ │ │ └── blood_runs_deep.items.toml │ │ ├── buyers_and_cellars │ │ │ └── buyers_and_cellars.items.toml │ │ ├── cabin_fever │ │ │ ├── cabin_fever.items.toml │ │ │ └── cabin_fever.npc-spawns.toml │ │ ├── catapult_construction │ │ │ └── catapult_construction.items.toml │ │ ├── chosen_commander │ │ │ └── chosen_commander.items.toml │ │ ├── clock_tower │ │ │ ├── clock_tower.items.toml │ │ │ ├── clock_tower_dungeon.item-spawns.toml │ │ │ └── clock_tower_dungeon.npc-spawns.toml │ │ ├── cold_war │ │ │ ├── cold_war.items.toml │ │ │ └── cold_war.jingles.toml │ │ ├── contact │ │ │ └── contact.items.toml │ │ ├── creature_of_fenkenstrain │ │ │ └── creature_of_fenkenstrain.items.toml │ │ ├── curse_of_arrav │ │ │ └── curse_of_arrav.items.toml │ │ ├── darkness_of_hallowvale │ │ │ └── darkness_of_hallowvale.items.toml │ │ ├── dealing_with_scabaras │ │ │ └── dealing_with_scabaras.items.toml │ │ ├── death_plateau │ │ │ ├── death_plateau.items.toml │ │ │ └── death_plateau.jingles.toml │ │ ├── death_to_the_dorgeshuun │ │ │ ├── death_to_the_dorgeshuun.items.toml │ │ │ └── death_to_the_dorgeshuun.jingles.toml │ │ ├── defender_of_varrock │ │ │ └── defender_of_varrock.items.toml │ │ ├── desert_treasure │ │ │ ├── desert_treasure.areas.toml │ │ │ ├── desert_treasure.items.toml │ │ │ └── shadow_dungeon.npc-spawns.toml │ │ ├── devious_minds │ │ │ └── devious_minds.items.toml │ │ ├── do_no_evil │ │ │ └── do_no_evil.items.toml │ │ ├── dream_mentor │ │ │ └── dream_mentor.items.toml │ │ ├── druidic_ritual │ │ │ ├── druidic_ritual.items.toml │ │ │ ├── druidic_ritual.objs.toml │ │ │ └── druidic_ritual.varps.toml │ │ ├── dwarf_cannon │ │ │ ├── dwarf_cannon.items.toml │ │ │ ├── dwarven_outpost.item-spawns.toml │ │ │ └── dwarven_outpost.npc-spawns.toml │ │ ├── eadgars_ruse │ │ │ └── eadgars_ruse.items.toml │ │ ├── eagles_peak │ │ │ ├── eagels_peak.item-spawns.toml │ │ │ ├── eagels_peak.npc-spawns.toml │ │ │ ├── eagles_peak.items.toml │ │ │ └── eagles_peak.objs.toml │ │ ├── elemental_workshop_1 │ │ │ └── elemental_workshop_1.items.toml │ │ ├── elemental_workshop_2 │ │ │ └── elemental_workshop_2.items.toml │ │ ├── elemental_workshop_3 │ │ │ └── elemental_workshop_3.items.toml │ │ ├── enakhras_lament │ │ │ └── enakhras_lament.items.toml │ │ ├── enlightened_journey │ │ │ ├── enlightened_journey.items.toml │ │ │ └── enlightened_journey.jingles.toml │ │ ├── eyes_of_glouphrie │ │ │ ├── eyes_of_glouphrie.invs.toml │ │ │ └── eyes_of_glouphrie.items.toml │ │ ├── fairy_tale_part_1 │ │ │ └── fairy_tale_part_1.items.toml │ │ ├── fairy_tale_part_2 │ │ │ ├── fairy_tale_part_2.items.toml │ │ │ └── fairy_tale_part_2.jingles.toml │ │ ├── fairy_tale_part_3 │ │ │ ├── fairy_tale_part_3.gfx.toml │ │ │ └── fairy_tale_part_3.items.toml │ │ ├── family_crest │ │ │ └── family_crest.items.toml │ │ ├── fight_arena │ │ │ └── fight_arena.items.toml │ │ ├── fishing_contest │ │ │ └── fishing_contest.items.toml │ │ ├── forgettable_tale │ │ │ ├── forgettable_tale.items.toml │ │ │ └── forgettable_tale.jingles.toml │ │ ├── forgiveness_of_a_chaos_dwarf │ │ │ └── forgiveness_of_a_chaos_dwarf.items.toml │ │ ├── fremennik_isles │ │ │ ├── fremennik_isles.items.toml │ │ │ └── fremennik_isles.jingles.toml │ │ ├── fremennik_trials │ │ │ ├── fremennik_trials.items.toml │ │ │ └── fremennik_trials.jingles.toml │ │ ├── fur_n_seek │ │ │ └── fur_n_seek.items.toml │ │ ├── garden_of_tranquillity │ │ │ └── garden_of_tranquillity.items.toml │ │ ├── gertrudes_cat │ │ │ ├── gertrudes_cat.invs.toml │ │ │ └── gertrudes_cat.items.toml │ │ ├── ghosts_ahoy │ │ │ ├── ghosts_ahoy.items.toml │ │ │ └── ghosts_ahoy.objs.toml │ │ ├── glorious_memories │ │ │ └── glorious_memories.items.toml │ │ ├── great_brain_robbery │ │ │ ├── great_brain_robbery.items.toml │ │ │ └── great_brain_robbery.jingles.toml │ │ ├── grim_tales │ │ │ ├── grim_tales.items.toml │ │ │ └── grim_tales.jingles.toml │ │ ├── haunted_mine │ │ │ ├── abandoned_mine.item-spawns.toml │ │ │ ├── abandoned_mine.npc-spawns.toml │ │ │ ├── haunted_mine.areas.toml │ │ │ └── haunted_mine.items.toml │ │ ├── hazeel_cult │ │ │ └── hazeel_cult.items.toml │ │ ├── heroes_quest │ │ │ └── heroes_quest.items.toml │ │ ├── holy_grail │ │ │ ├── fisher_realm.npc-spawns.toml │ │ │ └── holy_grail.items.toml │ │ ├── horror_from_the_deep │ │ │ └── horror_from_the_deep.items.toml │ │ ├── hunt_for_red_raktuber │ │ │ └── hunt_for_red_raktuber.items.toml │ │ ├── icthlarins_little_helper │ │ │ └── icthlarins_little_helper.items.toml │ │ ├── in_aid_of_the_myreque │ │ │ └── in_aid_of_the_myreque.items.toml │ │ ├── in_pyre_need │ │ │ └── in_pyre_need.items.toml │ │ ├── in_search_of_the_myreque │ │ │ └── in_search_of_the_myreque.npc-spawns.toml │ │ ├── jungle_potion │ │ │ └── jungle_potion.items.toml │ │ ├── kenniths_concerns │ │ │ └── kenniths_concerns.items.toml │ │ ├── king_of_the_dwarves │ │ │ └── king_of_the_dwarves.items.toml │ │ ├── kings_ransom │ │ │ ├── kings_ransom.items.toml │ │ │ └── kings_ransom.jingles.toml │ │ ├── land_of_the_goblins │ │ │ └── land_of_the_goblins.items.toml │ │ ├── legacy_of_seergaze │ │ │ └── legacy_of_seergaze.items.toml │ │ ├── legends_quest │ │ │ ├── legends_quest.items.toml │ │ │ └── viyeldi_cave.npc-spawns.toml │ │ ├── lost_city │ │ │ └── lost_city.items.toml │ │ ├── love_story │ │ │ └── love_story.items.toml │ │ ├── lunar_diplomacy │ │ │ ├── lunar_diplomacy.items.toml │ │ │ └── lunar_diplomacy.jingles.toml │ │ ├── making_history │ │ │ └── making_history.items.toml │ │ ├── meeting_history │ │ │ └── meeting_history.items.toml │ │ ├── merlins_crystal │ │ │ └── merlins_crystal.items.toml │ │ ├── missing_my_mummy │ │ │ └── missing_my_mummy.items.toml │ │ ├── monkey_madness │ │ │ ├── gnome_glider_hangar.item-spawns.toml │ │ │ ├── gnome_glider_hangar.npc-spawns.toml │ │ │ ├── gnome_glider_hangar.teles.toml │ │ │ ├── monkey_madness.items.toml │ │ │ ├── monkey_madness.jingles.toml │ │ │ └── monkey_madness.sounds.toml │ │ ├── monks_friend │ │ │ └── monks_friend.items.toml │ │ ├── mountain_daughter │ │ │ ├── mountain_daughter.items.toml │ │ │ └── mountain_daughter.jingles.toml │ │ ├── mournings_end_part_1 │ │ │ └── mournings_end_part_1.items.toml │ │ ├── mournings_end_part_2 │ │ │ ├── mournings_end_part_2.ifaces.toml │ │ │ ├── mournings_end_part_2.items.toml │ │ │ ├── mournings_end_part_2.jingles.toml │ │ │ ├── mournings_end_part_2.npc-spawns.toml │ │ │ └── mournings_end_part_2.teles.toml │ │ ├── murder_mystery │ │ │ ├── murder_mystery.items.toml │ │ │ └── murder_mystery.objs.toml │ │ ├── my_arms_big_adventure │ │ │ ├── my_arms_big_adventure.gfx.toml │ │ │ └── my_arms_big_adventure.items.toml │ │ ├── nature_spirit │ │ │ ├── nature_spirit.item-spawns.toml │ │ │ └── nature_spirit.items.toml │ │ ├── nomads_requiem │ │ │ └── nomads_requiem.items.toml │ │ ├── observatory_quest │ │ │ ├── observatory.item-spawns.toml │ │ │ ├── observatory_dungeon.item-spawns.toml │ │ │ ├── observatory_dungeon.npc-spawns.toml │ │ │ └── observatory_quest.items.toml │ │ ├── olafs_quest │ │ │ └── olafs_quest.items.toml │ │ ├── one_small_favour │ │ │ ├── one_small_favour.areas.toml │ │ │ └── one_small_favour.items.toml │ │ ├── path_of_glouphrie │ │ │ └── path_of_glouphrie.items.toml │ │ ├── perils_of_ice_mountain │ │ │ └── perils_of_ice_mountain.items.toml │ │ ├── pirates_treasure │ │ │ └── pirates_treasure.items.toml │ │ ├── plague_city │ │ │ └── plague_city.items.toml │ │ ├── priest_in_peril │ │ │ └── priest_in_peril.items.toml │ │ ├── quiet_before_the_swarm │ │ │ ├── quiet_before_the_swarm.gfx.toml │ │ │ └── quiet_before_the_swarm.items.toml │ │ ├── rag_and_bone_man_1 │ │ │ └── rag_and_bone_man_1.items.toml │ │ ├── ratcatchers │ │ │ ├── rat_catchers.npc-spawns.toml │ │ │ ├── rat_pits.npc-spawns.toml │ │ │ ├── rat_pits.teles.toml │ │ │ ├── ratcatchers.items.toml │ │ │ └── ratcatchers.jingles.toml │ │ ├── recipe_for_disaster │ │ │ ├── recipe_for_disaster.ifaces.toml │ │ │ ├── recipe_for_disaster.invs.toml │ │ │ ├── recipe_for_disaster.items.toml │ │ │ ├── recipe_for_disaster.jingles.toml │ │ │ └── recipe_for_disaster.npc-spawns.toml │ │ ├── recruitment_drive │ │ │ ├── recruitment_drive.items.toml │ │ │ └── recruitment_drive.jingles.toml │ │ ├── regicide │ │ │ └── regicide.items.toml │ │ ├── rocking_out │ │ │ └── rocking_out.items.toml │ │ ├── roving_elves │ │ │ └── roving_elves.items.toml │ │ ├── royal_trouble │ │ │ └── royal_trouble.items.toml │ │ ├── rum_deal │ │ │ ├── braindeath_island.item-spawns.toml │ │ │ ├── rum_deal.gfx.toml │ │ │ └── rum_deal.items.toml │ │ ├── rune_mechanics │ │ │ └── rune_mechanics.items.toml │ │ ├── rune_mysteries │ │ │ ├── rune_mysteries.items.toml │ │ │ ├── rune_mysteries.objs.toml │ │ │ └── rune_mysteries.varps.toml │ │ ├── scorpion_catcher │ │ │ └── scorpion_catcher.items.toml │ │ ├── sea_slug │ │ │ ├── sea_slug.gfx.toml │ │ │ └── sea_slug.items.toml │ │ ├── shades_of_mort'ton │ │ │ └── shades_of_mort'ton.items.toml │ │ ├── shadow_of_the_storm │ │ │ └── shadow_of_the_storm.items.toml │ │ ├── sheep_herder │ │ │ └── sheep_herder.items.toml │ │ ├── shilo_village │ │ │ ├── rashiliyias_tomb.npc-spawns.toml │ │ │ └── shilo_village.items.toml │ │ ├── slug_menace │ │ │ └── slug_menace.items.toml │ │ ├── smoking_kills │ │ │ └── smoking_kills.items.toml │ │ ├── spirit_of_summer │ │ │ ├── spirit_of_summer.areas.toml │ │ │ ├── spirit_of_summer.items.toml │ │ │ └── spirit_realm.npc-spawns.toml │ │ ├── spirits_of_the_elid │ │ │ └── spirits_of_the_elid.items.toml │ │ ├── summers_end │ │ │ └── summers_end.items.toml │ │ ├── swan_song │ │ │ └── swan_song.items.toml │ │ ├── tai_bwo_wannai_trio │ │ │ └── tai_bwo_wannai_trio.items.toml │ │ ├── tale_of_the_muspah │ │ │ └── tale_of_the_muspah.items.toml │ │ ├── tears_of_guthix │ │ │ ├── tears_of_guthix.items.toml │ │ │ └── tears_of_guthix.jingles.toml │ │ ├── temple_at_senntisten │ │ │ └── temple_at_senntisten.items.toml │ │ ├── temple_of_ikov │ │ │ ├── temple_of_ikov.items.toml │ │ │ └── temple_of_ikov.npc-spawns.toml │ │ ├── the_dig_site │ │ │ └── the_dig_site.items.toml │ │ ├── the_feud │ │ │ ├── the_feud.items.toml │ │ │ └── the_feud.jingles.toml │ │ ├── the_giant_dwarf │ │ │ └── the_giant_dwarf.items.toml │ │ ├── the_golem │ │ │ └── the_golem.items.toml │ │ ├── the_grand_tree │ │ │ ├── the_grand_tree.anims.toml │ │ │ ├── the_grand_tree.gfx.toml │ │ │ ├── the_grand_tree.ifaces.toml │ │ │ ├── the_grand_tree.items.toml │ │ │ ├── the_grand_tree.npcs.toml │ │ │ ├── the_grand_tree.objs.toml │ │ │ ├── the_grand_tree.varbits.toml │ │ │ └── the_grand_tree.varps.toml │ │ ├── the_lost_tribe │ │ │ └── the_lost_tribe.items.toml │ │ ├── throne_of_miscellania │ │ │ └── throne_of_miscellania.items.toml │ │ ├── toktz_ket_dill │ │ │ └── toktz_ket_dill.items.toml │ │ ├── tourist_trap │ │ │ └── tourist_trap.items.toml │ │ ├── tower_of_life │ │ │ └── tower_of_life.items.toml │ │ ├── tree_gnome_village │ │ │ └── tree_gnome_village.items.toml │ │ ├── tribal_totem │ │ │ └── tribal_totem.items.toml │ │ ├── troll_romance │ │ │ └── troll_romance.items.toml │ │ ├── troll_stronghold │ │ │ └── troll_stronghold.items.toml │ │ ├── underground_pass │ │ │ └── underground_pass.items.toml │ │ ├── void_stares_back │ │ │ └── void_stares_back.items.toml │ │ ├── wanted │ │ │ └── wanted.items.toml │ │ ├── watchtower_quest │ │ │ ├── watchtower.jingles.toml │ │ │ └── watchtower_quest.items.toml │ │ ├── waterfall_quest │ │ │ ├── glarials_tomb.npc-spawns.toml │ │ │ ├── waterfall_dungeon.npc-spawns.toml │ │ │ └── waterfall_quest.items.toml │ │ ├── what_lies_below │ │ │ ├── what_lies_below.items.toml │ │ │ └── what_lies_below.jingles.toml │ │ ├── while_guthix_sleeps │ │ │ ├── while_guthix_sleeps.gfx.toml │ │ │ └── while_guthix_sleeps.items.toml │ │ ├── witches_house │ │ │ └── witches_house.items.toml │ │ ├── witches_potion │ │ │ └── witches_potion.items.toml │ │ ├── within_the_light │ │ │ └── within_the_light.items.toml │ │ └── zogre_flesh_eaters │ │ │ └── zogre_flesh_eaters.items.toml │ ├── mini │ │ ├── a_guild_of_our_own.items.toml │ │ ├── bar_crawl │ │ │ ├── bar_crawl.items.toml │ │ │ ├── bar_crawl.varbits.toml │ │ │ ├── bar_crawl.varps.toml │ │ │ └── bar_crawl.vars.toml │ │ ├── barbarian_training.items.toml │ │ ├── curse_of_the_empty_lord.items.toml │ │ ├── enter_the_abyss │ │ │ ├── enter_the_abyss.items.toml │ │ │ ├── enter_the_abyss.shops.toml │ │ │ ├── enter_the_abyss.varbits.toml │ │ │ └── enter_the_abyss.varps.toml │ │ ├── from_tiny_acorns.items.toml │ │ ├── generals_shadow.items.toml │ │ ├── lair_of_tarn_razorlor.items.toml │ │ ├── lost_her_marbles.items.toml │ │ ├── mage_arena.items.toml │ │ ├── one_foot_in_the_grave.items.toml │ │ ├── rogue_trader.items.toml │ │ └── wise_old_man_tasks.items.toml │ ├── quest.ifaces.toml │ ├── quest.jingles.toml │ ├── quest.varbits.toml │ ├── quest.varps.toml │ └── quests.toml ├── skill │ ├── agility │ │ ├── agility.jingles.toml │ │ ├── agility.sounds.toml │ │ ├── agility.vars.toml │ │ ├── course │ │ │ ├── advanced_agility.items.toml │ │ │ ├── ape_atoll_agility.anims.toml │ │ │ ├── barbarian_agility.anims.toml │ │ │ ├── brimhaven_agility_arena.items.toml │ │ │ ├── course_obstacles.objs.toml │ │ │ ├── dorgesh_kaan_agility.items.toml │ │ │ ├── gnome_agility.anims.toml │ │ │ ├── pyramid_agility.items.toml │ │ │ └── werewolf_agility_course.items.toml │ │ └── shortcut │ │ │ ├── shortcut.anims.toml │ │ │ ├── shortcut.gfx.toml │ │ │ ├── shortcut.obj-spawns.toml │ │ │ ├── shortcut.objs.toml │ │ │ ├── shortcut.sounds.toml │ │ │ └── shortcut.teles.toml │ ├── construction │ │ ├── construction.invs.toml │ │ ├── construction.items.toml │ │ └── construction.jingles.toml │ ├── cooking │ │ ├── brewing.items.toml │ │ ├── cooking.anims.toml │ │ ├── cooking.items.toml │ │ ├── cooking.recipes.toml │ │ ├── pie.items.toml │ │ └── pie.recipes.toml │ ├── crafting │ │ ├── amulet_stringing.recipes.toml │ │ ├── armour.recipes.toml │ │ ├── battlestaff.recipes.toml │ │ ├── colouring.recipes.toml │ │ ├── crafting.anims.toml │ │ ├── crafting.ifaces.toml │ │ ├── crafting.items.toml │ │ ├── crafting.sounds.toml │ │ ├── crafting.vars.toml │ │ ├── gem.recipes.toml │ │ ├── glassblowing.recipes.toml │ │ ├── hide.items.toml │ │ ├── leather.recipes.toml │ │ └── pottery.recipes.toml │ ├── dungeoneering │ │ ├── dungeoneering.gfx.toml │ │ ├── dungeoneering.ifaces.toml │ │ ├── dungeoneering.items.toml │ │ ├── dungeoneering.npcs.toml │ │ ├── dungeoneering.teles.toml │ │ ├── dungeoneering.varbits.toml │ │ ├── dungeoneering.varcs.toml │ │ ├── dungeoneering.vars.toml │ │ ├── dungeoneering_arrows.gfx.toml │ │ ├── dungeoneering_hatchet.anims.toml │ │ ├── dungeoneering_pickaxe.anims.toml │ │ └── resource_dungeons │ │ │ └── resource_dungeons.npc-spawns.toml │ ├── farming │ │ ├── basket.items.toml │ │ ├── farming.items.toml │ │ ├── farming.jingles.toml │ │ ├── plant.items.toml │ │ ├── produce.items.toml │ │ ├── seed.items.toml │ │ └── vegetable_sack.recipes.toml │ ├── firemaking │ │ ├── firemaking.anims.toml │ │ ├── firemaking.items.toml │ │ ├── light_source.recipes.toml │ │ └── log.items.toml │ ├── fishing │ │ ├── fish.items.toml │ │ ├── fishing.anims.toml │ │ ├── fishing.items.toml │ │ ├── fishing.recipes.toml │ │ └── fishing_spots.npcs.toml │ ├── fletching │ │ ├── arrowtip.items.toml │ │ ├── arrowtip.recipes.toml │ │ ├── bolt_tip.items.toml │ │ ├── bolt_tip.recipes.toml │ │ ├── bow.recipes.toml │ │ ├── crossbow.recipes.toml │ │ ├── fletching.anims.toml │ │ └── fletching.items.toml │ ├── herblore │ │ ├── barbarian_mix.items.toml │ │ ├── barbarian_mix.recipes.toml │ │ ├── barbarian_mix_decant.recipes.toml │ │ ├── crushing.recipes.toml │ │ ├── herblore.anims.toml │ │ ├── herblore.gfx.toml │ │ ├── herblore.items.toml │ │ ├── herblore.varbits.toml │ │ ├── herblore.vars.toml │ │ ├── juju_potion.recipes.toml │ │ ├── juju_potion_unfinished.recipes.toml │ │ ├── potion.items.toml │ │ ├── potion.recipes.toml │ │ ├── potion_decant.recipes.toml │ │ ├── potion_unfinished.recipes.toml │ │ └── swamp_tar.recipes.toml │ ├── hunter │ │ ├── hunter.items.toml │ │ └── hunting.gfx.toml │ ├── magic │ │ ├── jewellery │ │ │ └── jewellery.vars.toml │ │ ├── magic.anims.toml │ │ ├── magic.gfx.toml │ │ ├── magic.ifaces.toml │ │ ├── magic.items.toml │ │ ├── magic.sounds.toml │ │ ├── magic.varbits.toml │ │ ├── magic.vars.toml │ │ ├── magic_weapon.items.toml │ │ ├── robe.items.toml │ │ ├── runes.items.toml │ │ ├── spellbook │ │ │ ├── spellbook.ifaces.toml │ │ │ ├── spellbook.varbits.toml │ │ │ └── spellbook.varps.toml │ │ ├── spells.toml │ │ └── teleport │ │ │ ├── teleport.anims.toml │ │ │ ├── teleport.gfx.toml │ │ │ └── teleport.sounds.toml │ ├── melee │ │ ├── melee.anims.toml │ │ ├── melee_armour.items.toml │ │ ├── melee_weapon.items.toml │ │ └── weapon.vars.toml │ ├── mining │ │ ├── mining.vars.toml │ │ ├── ore.items.toml │ │ ├── pickaxe.anims.toml │ │ ├── pickaxe.items.toml │ │ └── rocks.objs.toml │ ├── prayer │ │ ├── altar.objs.toml │ │ ├── bone.items.toml │ │ ├── curses.gfx.toml │ │ ├── prayer.anims.toml │ │ ├── prayer.gfx.toml │ │ ├── prayer.ifaces.toml │ │ ├── prayer.sounds.toml │ │ ├── prayer.varbits.toml │ │ ├── prayer.varcs.toml │ │ ├── prayer.varps.toml │ │ ├── prayer.vars.toml │ │ └── prayers.toml │ ├── range │ │ ├── ammo_groups.toml │ │ ├── arrow.items.toml │ │ ├── arrows.gfx.toml │ │ ├── avas.vars.toml │ │ ├── bolt.items.toml │ │ ├── bolt_special.sounds.toml │ │ ├── bolts.gfx.toml │ │ ├── bow.items.toml │ │ ├── crossbow.items.toml │ │ ├── dart.items.toml │ │ ├── darts.gfx.toml │ │ ├── hand_cannon.gfx.toml │ │ ├── javelin.items.toml │ │ ├── javelins.gfx.toml │ │ ├── ranged_armour.items.toml │ │ ├── throwing_axe.gfx.toml │ │ ├── throwing_axe.items.toml │ │ ├── throwing_knife.gfx.toml │ │ ├── throwing_knife.items.toml │ │ └── thrown.gfx.toml │ ├── runecrafting │ │ ├── runecrafting.anims.toml │ │ ├── runecrafting.areas.toml │ │ ├── runecrafting.gfx.toml │ │ ├── runecrafting.items.toml │ │ ├── runecrafting.sounds.toml │ │ ├── runecrafting.teles.toml │ │ ├── runecrafting.varbits.toml │ │ └── runecrafting_altars.objs.toml │ ├── skill.ifaces.toml │ ├── skill.jingles.toml │ ├── skill.strings.toml │ ├── skill.varps.toml │ ├── skillcape.items.toml │ ├── slayer │ │ ├── slayer.gfx.toml │ │ ├── slayer.ifaces.toml │ │ ├── slayer.items.toml │ │ ├── slayer.npcs.toml │ │ ├── slayer.varbits.toml │ │ ├── slayer.varps.toml │ │ ├── slayer.vars.toml │ │ ├── slayer_challenge.items.toml │ │ └── turael.tasks.toml │ ├── smithing │ │ ├── anvils.objs.toml │ │ ├── bars.items.toml │ │ ├── smithing.anims.toml │ │ ├── smithing.gfx.toml │ │ ├── smithing.ifaces.toml │ │ ├── smithing.invs.toml │ │ ├── smithing.items.toml │ │ └── smithing.sounds.toml │ ├── summoning │ │ ├── summoning.ifaces.toml │ │ ├── summoning.items.toml │ │ └── summoning.teles.toml │ ├── thieving │ │ ├── pickpocket.drops.toml │ │ ├── thieving.anims.toml │ │ ├── thieving.items.toml │ │ └── thieving.sounds.toml │ └── woodcutting │ │ ├── hatchet.anims.toml │ │ ├── hatchet.items.toml │ │ ├── woodcutting.items.toml │ │ └── woodcutting.sounds.toml └── social │ ├── assist │ ├── assist.ifaces.toml │ ├── assist.varbits.toml │ └── assist.vars.toml │ ├── clan │ ├── clan.ifaces.toml │ ├── clan.varbits.toml │ ├── clan.varcs.toml │ ├── clan.vars.toml │ └── clan_chat.varps.toml │ ├── friend │ └── friend.ifaces.toml │ ├── ignore │ └── ignore.ifaces.toml │ ├── photo │ └── photo_booth.ifaces.toml │ ├── report │ └── report.ifaces.toml │ └── trade │ ├── exchange │ ├── grand_exchange.ifaces.toml │ ├── grand_exchange.items.toml │ ├── grand_exchange.jingles.toml │ └── grand_exchange.npc-spawns.toml │ ├── lend │ ├── lend.varbits.toml │ ├── lend.varps.toml │ ├── lend.vars.toml │ └── lent.items.toml │ ├── rare.items.toml │ ├── trade.ifaces.toml │ ├── trade.invs.toml │ ├── trade.strings.toml │ ├── trade.varcs.toml │ └── trade.varps.toml ├── docker-compose.yml ├── engine ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ └── world │ │ └── gregs │ │ └── voidps │ │ └── engine │ │ ├── Contexts.kt │ │ ├── EngineModules.kt │ │ ├── GameLoop.kt │ │ ├── Koin.kt │ │ ├── TimedLoader.kt │ │ ├── client │ │ ├── EncodeExtensions.kt │ │ ├── PlayerAccountLoader.kt │ │ ├── instruction │ │ │ ├── InstructionHandler.kt │ │ │ ├── InstructionHandlers.kt │ │ │ ├── InstructionTask.kt │ │ │ ├── InterfaceHandler.kt │ │ │ └── handle │ │ │ │ ├── DialogueContinueHandler.kt │ │ │ │ ├── ExecuteCommandHandler.kt │ │ │ │ ├── FloorItemOptionHandler.kt │ │ │ │ ├── InterfaceClosedHandler.kt │ │ │ │ ├── InterfaceOnFloorItemOptionHandler.kt │ │ │ │ ├── InterfaceOnInterfaceOptionHandler.kt │ │ │ │ ├── InterfaceOnNPCOptionHandler.kt │ │ │ │ ├── InterfaceOnObjectOptionHandler.kt │ │ │ │ ├── InterfaceOnPlayerOptionHandler.kt │ │ │ │ ├── InterfaceOptionHandler.kt │ │ │ │ ├── InterfaceSwitchHandler.kt │ │ │ │ ├── NPCOptionHandler.kt │ │ │ │ ├── ObjectOptionHandler.kt │ │ │ │ ├── PlayerOptionHandler.kt │ │ │ │ └── SongEndHandler.kt │ │ ├── ui │ │ │ ├── InterfaceOption.kt │ │ │ ├── InterfaceOptions.kt │ │ │ ├── InterfaceSwitch.kt │ │ │ ├── Interfaces.kt │ │ │ ├── SongEndEvent.kt │ │ │ ├── chat │ │ │ │ ├── Colour.kt │ │ │ │ ├── Colours.kt │ │ │ │ └── Text.kt │ │ │ ├── dialogue │ │ │ │ ├── ContinueDialogue.kt │ │ │ │ └── Dialogues.kt │ │ │ ├── event │ │ │ │ ├── CloseInterface.kt │ │ │ │ ├── Command.kt │ │ │ │ ├── InterfaceClosed.kt │ │ │ │ ├── InterfaceOpened.kt │ │ │ │ └── InterfaceRefreshed.kt │ │ │ ├── interact │ │ │ │ ├── InterfaceOnFloorItem.kt │ │ │ │ ├── InterfaceOnItem.kt │ │ │ │ ├── InterfaceOnNPC.kt │ │ │ │ ├── InterfaceOnObject.kt │ │ │ │ ├── InterfaceOnPlayer.kt │ │ │ │ ├── ItemOnFloorItem.kt │ │ │ │ ├── ItemOnItem.kt │ │ │ │ ├── ItemOnNPC.kt │ │ │ │ ├── ItemOnObject.kt │ │ │ │ └── ItemOnPlayer.kt │ │ │ └── menu │ │ │ │ └── InterfaceOptionSettings.kt │ │ ├── update │ │ │ ├── CharacterTask.kt │ │ │ ├── CharacterUpdateTask.kt │ │ │ ├── NPCTask.kt │ │ │ ├── PlayerTask.kt │ │ │ ├── batch │ │ │ │ └── ZoneBatchUpdates.kt │ │ │ ├── iterator │ │ │ │ ├── FireAndForgetIterator.kt │ │ │ │ ├── ParallelIterator.kt │ │ │ │ ├── SequentialIterator.kt │ │ │ │ └── TaskIterator.kt │ │ │ ├── npc │ │ │ │ ├── NPCResetTask.kt │ │ │ │ └── NPCUpdateTask.kt │ │ │ ├── player │ │ │ │ ├── PlayerResetTask.kt │ │ │ │ └── PlayerUpdateTask.kt │ │ │ └── view │ │ │ │ ├── PlayerTrackingSet.kt │ │ │ │ └── Viewport.kt │ │ └── variable │ │ │ ├── Clocks.kt │ │ │ ├── PlayerVariables.kt │ │ │ ├── Variable.kt │ │ │ ├── VariableBitAdded.kt │ │ │ ├── VariableBitRemoved.kt │ │ │ ├── VariableBits.kt │ │ │ ├── VariableSet.kt │ │ │ ├── VariableValues.kt │ │ │ └── Variables.kt │ │ ├── data │ │ ├── AccountManager.kt │ │ ├── AccountStorage.kt │ │ ├── ConfigFiles.kt │ │ ├── PlayerSave.kt │ │ ├── SafeStorage.kt │ │ ├── SaveQueue.kt │ │ ├── Settings.kt │ │ ├── SettingsReload.kt │ │ ├── config │ │ │ ├── AccountDefinition.kt │ │ │ ├── AmmoDefinition.kt │ │ │ ├── CategoryDefinition.kt │ │ │ ├── DiangoCodeDefinition.kt │ │ │ ├── GearDefinition.kt │ │ │ ├── HuntModeDefinition.kt │ │ │ ├── ItemOnItemDefinition.kt │ │ │ ├── JingleDefinition.kt │ │ │ ├── MidiDefinition.kt │ │ │ ├── ParameterDefinition.kt │ │ │ ├── PatrolDefinition.kt │ │ │ ├── PrayerDefinition.kt │ │ │ ├── RenderEmoteDefinition.kt │ │ │ ├── SlayerTaskDefinition.kt │ │ │ ├── SoundDefinition.kt │ │ │ ├── SpellDefinition.kt │ │ │ ├── VariableDefinition.kt │ │ │ ├── WeaponAnimationDefinition.kt │ │ │ └── WeaponStyleDefinition.kt │ │ ├── definition │ │ │ ├── AccountDefinitions.kt │ │ │ ├── AmmoDefinitions.kt │ │ │ ├── AnimationDefinitions.kt │ │ │ ├── AreaDefinition.kt │ │ │ ├── AreaDefinitions.kt │ │ │ ├── CanoeDefinitions.kt │ │ │ ├── CategoryDefinitions.kt │ │ │ ├── ClientScriptDefinitions.kt │ │ │ ├── DefinitionsDecoder.kt │ │ │ ├── DiangoCodeDefinitions.kt │ │ │ ├── EnumDefinitions.kt │ │ │ ├── FontDefinitions.kt │ │ │ ├── GearDefinitions.kt │ │ │ ├── GraphicDefinitions.kt │ │ │ ├── HuntModeDefinitions.kt │ │ │ ├── InterfaceDefinitions.kt │ │ │ ├── InventoryDefinitions.kt │ │ │ ├── ItemDefinitions.kt │ │ │ ├── ItemOnItemDefinitions.kt │ │ │ ├── JingleDefinitions.kt │ │ │ ├── MapDefinitions.kt │ │ │ ├── MidiDefinitions.kt │ │ │ ├── NPCDefinitions.kt │ │ │ ├── ObjectDefinitions.kt │ │ │ ├── ParameterDefinitions.kt │ │ │ ├── PatrolDefinitions.kt │ │ │ ├── PrayerDefinitions.kt │ │ │ ├── QuestDefinitions.kt │ │ │ ├── QuickChatPhraseDefinitions.kt │ │ │ ├── RenderEmoteDefinitions.kt │ │ │ ├── SlayerTaskDefinitions.kt │ │ │ ├── SoundDefinitions.kt │ │ │ ├── SpellDefinitions.kt │ │ │ ├── StructDefinitions.kt │ │ │ ├── VariableDefinitions.kt │ │ │ ├── WeaponAnimationDefinitions.kt │ │ │ ├── WeaponStyleDefinitions.kt │ │ │ └── data │ │ │ │ ├── Catch.kt │ │ │ │ ├── Cleaning.kt │ │ │ │ ├── Fire.kt │ │ │ │ ├── FletchBolts.kt │ │ │ │ ├── FletchDarts.kt │ │ │ │ ├── Fletching.kt │ │ │ │ ├── Jewellery.kt │ │ │ │ ├── LightSources.kt │ │ │ │ ├── Ore.kt │ │ │ │ ├── Pickable.kt │ │ │ │ ├── Pocket.kt │ │ │ │ ├── Pottery.kt │ │ │ │ ├── Rock.kt │ │ │ │ ├── Rune.kt │ │ │ │ ├── Silver.kt │ │ │ │ ├── Smelting.kt │ │ │ │ ├── Smithing.kt │ │ │ │ ├── Spinning.kt │ │ │ │ ├── Spot.kt │ │ │ │ ├── Tanning.kt │ │ │ │ ├── Tree.kt │ │ │ │ ├── Uncooked.kt │ │ │ │ └── Weaving.kt │ │ ├── json │ │ │ └── FileStorage.kt │ │ ├── sql │ │ │ ├── DatabaseStorage.kt │ │ │ └── Tables.kt │ │ └── yaml │ │ │ └── PlayerYamlReaderConfig.kt │ │ ├── entity │ │ ├── AiTick.kt │ │ ├── Despawn.kt │ │ ├── Entity.kt │ │ ├── Spawn.kt │ │ ├── World.kt │ │ ├── character │ │ │ ├── Character.kt │ │ │ ├── CharacterMap.kt │ │ │ ├── CharacterSearch.kt │ │ │ ├── Visuals.kt │ │ │ ├── mode │ │ │ │ ├── EmptyMode.kt │ │ │ │ ├── Face.kt │ │ │ │ ├── Follow.kt │ │ │ │ ├── Mode.kt │ │ │ │ ├── Patrol.kt │ │ │ │ ├── PauseMode.kt │ │ │ │ ├── Rest.kt │ │ │ │ ├── Retreat.kt │ │ │ │ ├── Wander.kt │ │ │ │ ├── combat │ │ │ │ │ ├── CombatMovement.kt │ │ │ │ │ ├── CombatReached.kt │ │ │ │ │ ├── CombatStart.kt │ │ │ │ │ └── CombatStop.kt │ │ │ │ ├── interact │ │ │ │ │ ├── Interact.kt │ │ │ │ │ ├── Interaction.kt │ │ │ │ │ └── TargetInteraction.kt │ │ │ │ └── move │ │ │ │ │ ├── AreaEntered.kt │ │ │ │ │ ├── AreaExited.kt │ │ │ │ │ ├── AreaQueue.kt │ │ │ │ │ ├── Moved.kt │ │ │ │ │ ├── Movement.kt │ │ │ │ │ ├── PathFinder.kt │ │ │ │ │ ├── ReloadRegion.kt │ │ │ │ │ ├── Step.kt │ │ │ │ │ ├── Steps.kt │ │ │ │ │ └── target │ │ │ │ │ ├── CharacterTargetStrategy.kt │ │ │ │ │ ├── DefaultTargetStrategy.kt │ │ │ │ │ ├── FloorItemTargetStrategy.kt │ │ │ │ │ ├── FollowTargetStrategy.kt │ │ │ │ │ ├── ObjectTargetStrategy.kt │ │ │ │ │ ├── TargetStrategy.kt │ │ │ │ │ └── TileTargetStrategy.kt │ │ │ ├── move │ │ │ │ ├── Move.kt │ │ │ │ └── Teleport.kt │ │ │ ├── npc │ │ │ │ ├── NPC.kt │ │ │ │ ├── NPCLevels.kt │ │ │ │ ├── NPCMoveType.kt │ │ │ │ ├── NPCOption.kt │ │ │ │ ├── NPCSpawns.kt │ │ │ │ ├── NPCVisuals.kt │ │ │ │ ├── NPCs.kt │ │ │ │ └── hunt │ │ │ │ │ ├── HuntFloorItem.kt │ │ │ │ │ ├── HuntNPC.kt │ │ │ │ │ ├── HuntObject.kt │ │ │ │ │ ├── HuntPlayer.kt │ │ │ │ │ └── Hunting.kt │ │ │ └── player │ │ │ │ ├── Player.kt │ │ │ │ ├── PlayerOption.kt │ │ │ │ ├── PlayerOptions.kt │ │ │ │ ├── PlayerRights.kt │ │ │ │ ├── PlayerVisuals.kt │ │ │ │ ├── Players.kt │ │ │ │ ├── chat │ │ │ │ ├── ChatType.kt │ │ │ │ ├── Messages.kt │ │ │ │ ├── clan │ │ │ │ │ ├── Clan.kt │ │ │ │ │ ├── ClanChatMessage.kt │ │ │ │ │ ├── ClanQuickChatMessage.kt │ │ │ │ │ ├── ClanRank.kt │ │ │ │ │ └── LeaveClanChat.kt │ │ │ │ ├── friend │ │ │ │ │ ├── PrivateChatMessage.kt │ │ │ │ │ └── PrivateQuickChatMessage.kt │ │ │ │ └── global │ │ │ │ │ ├── PublicChatMessage.kt │ │ │ │ │ └── PublicQuickChatMessage.kt │ │ │ │ ├── equip │ │ │ │ ├── AppearanceOverrides.kt │ │ │ │ ├── BodyParts.kt │ │ │ │ ├── EquipSlot.kt │ │ │ │ └── EquipType.kt │ │ │ │ ├── req │ │ │ │ └── Requests.kt │ │ │ │ └── skill │ │ │ │ ├── Skill.kt │ │ │ │ ├── exp │ │ │ │ ├── BlockedExperience.kt │ │ │ │ ├── Experience.kt │ │ │ │ └── GrantExp.kt │ │ │ │ └── level │ │ │ │ ├── CurrentLevelChanged.kt │ │ │ │ ├── Interpolation.kt │ │ │ │ ├── Level.kt │ │ │ │ ├── Levels.kt │ │ │ │ ├── MaxLevelChanged.kt │ │ │ │ └── PlayerLevels.kt │ │ ├── item │ │ │ ├── Item.kt │ │ │ ├── ItemEquipExtensions.kt │ │ │ ├── ItemKept.kt │ │ │ ├── ItemUse.kt │ │ │ ├── drop │ │ │ │ ├── Drop.kt │ │ │ │ ├── DropTable.kt │ │ │ │ ├── DropTables.kt │ │ │ │ ├── ItemDrop.kt │ │ │ │ └── TableType.kt │ │ │ └── floor │ │ │ │ ├── FloorItem.kt │ │ │ │ ├── FloorItemOption.kt │ │ │ │ ├── FloorItemTracking.kt │ │ │ │ ├── FloorItems.kt │ │ │ │ ├── ItemSpawn.kt │ │ │ │ └── ItemSpawns.kt │ │ └── obj │ │ │ ├── GameObject.kt │ │ │ ├── GameObjectArrayMap.kt │ │ │ ├── GameObjectHashMap.kt │ │ │ ├── GameObjectMap.kt │ │ │ ├── GameObjectTimers.kt │ │ │ ├── GameObjects.kt │ │ │ ├── ObjectLayer.kt │ │ │ ├── ObjectOption.kt │ │ │ ├── ObjectShape.kt │ │ │ └── ObjectSpawns.kt │ │ ├── event │ │ ├── CancellableEvent.kt │ │ ├── Context.kt │ │ ├── Event.kt │ │ ├── EventDispatcher.kt │ │ ├── Events.kt │ │ ├── SuspendableEvent.kt │ │ ├── TargetContext.kt │ │ └── Wildcard.kt │ │ ├── inv │ │ ├── Inventories.kt │ │ ├── Inventory.kt │ │ ├── InventoryOperations.kt │ │ ├── InventorySlotChanged.kt │ │ ├── InventoryUpdate.kt │ │ ├── ItemAdded.kt │ │ ├── ItemRemoved.kt │ │ ├── remove │ │ │ ├── DefaultItemAmountBounds.kt │ │ │ ├── ItemAmountBounds.kt │ │ │ ├── ItemIndexAmountBounds.kt │ │ │ └── ShopItemAmountBounds.kt │ │ ├── restrict │ │ │ ├── ItemRestrictionRule.kt │ │ │ ├── NoRestrictions.kt │ │ │ ├── ShopRestrictions.kt │ │ │ └── ValidItemRestriction.kt │ │ ├── stack │ │ │ ├── AlwaysStack.kt │ │ │ ├── ItemDependentStack.kt │ │ │ ├── ItemStackingRule.kt │ │ │ └── NeverStack.kt │ │ └── transact │ │ │ ├── ChangeManager.kt │ │ │ ├── StateManager.kt │ │ │ ├── Transaction.kt │ │ │ ├── TransactionController.kt │ │ │ ├── TransactionError.kt │ │ │ ├── TransactionOperations.kt │ │ │ └── operation │ │ │ ├── AddCharge.kt │ │ │ ├── AddChargeLimit.kt │ │ │ ├── AddItem.kt │ │ │ ├── AddItemLimit.kt │ │ │ ├── ClearCharge.kt │ │ │ ├── ClearItem.kt │ │ │ ├── MoveItem.kt │ │ │ ├── MoveItemLimit.kt │ │ │ ├── RemoveCharge.kt │ │ │ ├── RemoveChargeLimit.kt │ │ │ ├── RemoveItem.kt │ │ │ ├── RemoveItemLimit.kt │ │ │ ├── ReplaceItem.kt │ │ │ ├── SetCharge.kt │ │ │ ├── ShiftItem.kt │ │ │ ├── SwapItem.kt │ │ │ └── TransactionOperation.kt │ │ ├── log │ │ ├── LogLevelColourConverter.kt │ │ └── LogMessageColourConverter.kt │ │ ├── map │ │ ├── Overlap.kt │ │ ├── Spiral.kt │ │ ├── collision │ │ │ ├── CollisionBlocked.kt │ │ │ ├── CollisionDecoder.kt │ │ │ ├── CollisionFlags.kt │ │ │ ├── CollisionStrategyProvider.kt │ │ │ ├── Collisions.kt │ │ │ ├── GameObjectCollision.kt │ │ │ ├── GameObjectCollisionAdd.kt │ │ │ └── GameObjectCollisionRemove.kt │ │ ├── instance │ │ │ └── Instances.kt │ │ ├── obj │ │ │ ├── MapObjectsDecoder.kt │ │ │ └── MapObjectsRotatedDecoder.kt │ │ ├── region │ │ │ └── RegionRetry.kt │ │ └── zone │ │ │ ├── ClearRegion.kt │ │ │ ├── DynamicZones.kt │ │ │ ├── RegionLoad.kt │ │ │ └── ReloadZone.kt │ │ ├── queue │ │ ├── Action.kt │ │ ├── ActionPriority.kt │ │ ├── ActionQueue.kt │ │ └── LogoutBehaviour.kt │ │ ├── suspend │ │ ├── DialogueSuspension.kt │ │ ├── Suspend.kt │ │ ├── SuspendableContext.kt │ │ └── Suspension.kt │ │ └── timer │ │ ├── Ticks.kt │ │ ├── Timer.kt │ │ ├── TimerQueue.kt │ │ ├── TimerSlot.kt │ │ ├── TimerStart.kt │ │ ├── TimerStop.kt │ │ ├── TimerTick.kt │ │ └── Timers.kt │ └── test │ ├── kotlin │ └── world │ │ └── gregs │ │ └── voidps │ │ └── engine │ │ ├── GameLoopTest.kt │ │ ├── MockkInline.kt │ │ ├── client │ │ ├── PlayerAccountLoaderTest.kt │ │ ├── ui │ │ │ ├── GameFrameTest.kt │ │ │ ├── InterfaceExtensionsTest.kt │ │ │ ├── InterfaceOptionsTest.kt │ │ │ ├── InterfaceTest.kt │ │ │ ├── InterfacesMultipleTest.kt │ │ │ ├── InterfacesSingleTest.kt │ │ │ ├── InterfacesTest.kt │ │ │ ├── chat │ │ │ │ ├── ColoursTest.kt │ │ │ │ └── TextKtTest.kt │ │ │ └── menu │ │ │ │ └── InterfaceOptionSettingsTest.kt │ │ ├── update │ │ │ ├── CharacterUpdateTaskTest.kt │ │ │ ├── npc │ │ │ │ └── NPCUpdateTaskTest.kt │ │ │ ├── player │ │ │ │ └── PlayerUpdateTaskTest.kt │ │ │ └── view │ │ │ │ ├── PlayerTrackingSetTest.kt │ │ │ │ └── ViewportTest.kt │ │ └── variable │ │ │ ├── ClocksTest.kt │ │ │ └── VariablesTest.kt │ │ ├── data │ │ ├── AccountManagerTest.kt │ │ ├── AccountStorageTest.kt │ │ ├── DatabaseTest.kt │ │ ├── SafeStorageTest.kt │ │ ├── SettingsTest.kt │ │ ├── config │ │ │ └── VariableDefinitionTest.kt │ │ ├── definition │ │ │ ├── AnimationDefinitionsTest.kt │ │ │ ├── DefinitionsDecoderTest.kt │ │ │ ├── GraphicDefinitionsTest.kt │ │ │ ├── InventoryDefinitionsTest.kt │ │ │ ├── ItemDefinitionsTest.kt │ │ │ ├── NPCDefinitionsTest.kt │ │ │ └── ObjectDefinitionsTest.kt │ │ ├── json │ │ │ └── FileStorageTest.kt │ │ └── sql │ │ │ └── DatabaseStorageTest.kt │ │ ├── entity │ │ ├── character │ │ │ ├── mode │ │ │ │ ├── interact │ │ │ │ │ └── InteractTest.kt │ │ │ │ └── move │ │ │ │ │ ├── MovementTest.kt │ │ │ │ │ └── StepTest.kt │ │ │ ├── npc │ │ │ │ └── NPCsTest.kt │ │ │ └── player │ │ │ │ ├── PlayerOptionsTest.kt │ │ │ │ ├── PlayersTest.kt │ │ │ │ ├── equip │ │ │ │ └── BodyPartsTest.kt │ │ │ │ ├── req │ │ │ │ └── RequestTest.kt │ │ │ │ └── skill │ │ │ │ ├── ExperienceTableTest.kt │ │ │ │ ├── LevelsTest.kt │ │ │ │ └── level │ │ │ │ └── PlayerLevelsTest.kt │ │ ├── item │ │ │ ├── drop │ │ │ │ ├── DropTableTest.kt │ │ │ │ ├── DropTablesTest.kt │ │ │ │ └── ItemDropTest.kt │ │ │ └── floor │ │ │ │ ├── FloorItemTest.kt │ │ │ │ ├── FloorItemTrackingTest.kt │ │ │ │ └── FloorItemsTest.kt │ │ └── obj │ │ │ ├── GameObjectHashMapTest.kt │ │ │ ├── GameObjectTest.kt │ │ │ ├── GameObjectTimersTest.kt │ │ │ └── GameObjectsTest.kt │ │ ├── event │ │ ├── EventsTest.kt │ │ └── WildcardTest.kt │ │ ├── inv │ │ ├── InventorySlotChangedTest.kt │ │ ├── InventoryTest.kt │ │ └── transact │ │ │ ├── ChangeManagerTest.kt │ │ │ ├── StateManagerTest.kt │ │ │ ├── TransactionControllerTest.kt │ │ │ ├── TransactionOperationsKtTest.kt │ │ │ ├── TransactionTest.kt │ │ │ └── operation │ │ │ ├── AddChargeLimitTest.kt │ │ │ ├── AddChargeTest.kt │ │ │ ├── AddItemLimitTest.kt │ │ │ ├── AddItemTest.kt │ │ │ ├── ClearChargeTest.kt │ │ │ ├── ClearItemTest.kt │ │ │ ├── MoveItemLimitTest.kt │ │ │ ├── MoveItemTest.kt │ │ │ ├── RemoveChargeLimitTest.kt │ │ │ ├── RemoveChargeTest.kt │ │ │ ├── RemoveItemLimitTest.kt │ │ │ ├── RemoveItemTest.kt │ │ │ ├── ReplaceItemTest.kt │ │ │ ├── SetChargeTest.kt │ │ │ ├── ShiftItemTest.kt │ │ │ ├── SwapItemTest.kt │ │ │ └── TransactionOperationTest.kt │ │ ├── map │ │ ├── OverlapTest.kt │ │ ├── SpiralTest.kt │ │ ├── collision │ │ │ ├── CollisionDecoderTest.kt │ │ │ └── CollisionsTest.kt │ │ ├── instance │ │ │ └── InstancesTest.kt │ │ ├── obj │ │ │ ├── MapObjectsDecoderTest.kt │ │ │ └── MapObjectsRotatedDecoderTest.kt │ │ └── zone │ │ │ ├── DynamicZonesTest.kt │ │ │ └── ZoneBatchUpdatesTest.kt │ │ ├── queue │ │ ├── ActionQueueTest.kt │ │ └── ActionTest.kt │ │ ├── script │ │ ├── KoinMock.kt │ │ └── koin │ │ │ ├── KoinTestExtension.kt │ │ │ └── MockProviderExtension.kt │ │ └── timer │ │ ├── TimerQueueTest.kt │ │ ├── TimerSlotTest.kt │ │ ├── TimerTest.kt │ │ └── TimersTest.kt │ └── resources │ ├── logback-test.xml │ ├── player.toml │ └── world │ └── gregs │ └── voidps │ └── engine │ ├── data │ └── definition │ │ ├── test-animation.toml │ │ ├── test-gfx.toml │ │ ├── test-inventory.toml │ │ ├── test-item.toml │ │ ├── test-npc.toml │ │ └── test-object.toml │ └── entity │ └── item │ └── drop │ └── drop-table.toml ├── game ├── build.gradle.kts └── src │ ├── main │ ├── kotlin │ │ ├── ContentLoader.kt │ │ ├── GameModules.kt │ │ ├── GameTick.kt │ │ ├── Main.kt │ │ └── content │ │ │ ├── achievement │ │ │ ├── AntiqueLamp.kts │ │ │ ├── ExplorersRing.kts │ │ │ ├── LumbridgeBeginnerTasks.kts │ │ │ ├── TaskList.kts │ │ │ ├── TaskSystem.kts │ │ │ └── Tasks.kt │ │ │ ├── activity │ │ │ └── shooting_star │ │ │ │ ├── ShootingStar.kts │ │ │ │ ├── ShootingStarHandler.kt │ │ │ │ └── StarLocationData.kt │ │ │ ├── area │ │ │ ├── asgarnia │ │ │ │ ├── asgarnian_ice_dungeon │ │ │ │ │ ├── Ice_Giant.kts │ │ │ │ │ ├── SkeletalWyvern.kts │ │ │ │ │ └── Wyvern_Cave.kts │ │ │ │ ├── burthorpe │ │ │ │ │ └── HeroesGuild.kts │ │ │ │ ├── falador │ │ │ │ │ ├── BarmaidsRisingSunInn.kts │ │ │ │ │ ├── Doric.kts │ │ │ │ │ ├── DressingRoom.kt │ │ │ │ │ ├── DressingRoom.kts │ │ │ │ │ ├── GiantMole.kts │ │ │ │ │ ├── Hairdresser.kts │ │ │ │ │ ├── Iconis.kts │ │ │ │ │ ├── MakeoverMage.kts │ │ │ │ │ ├── SirVyvin.kts │ │ │ │ │ ├── SquireAsrol.kts │ │ │ │ │ └── WysonTheGardener.kts │ │ │ │ ├── goblin_village │ │ │ │ │ └── Goblins.kts │ │ │ │ ├── port_sarim │ │ │ │ │ ├── BartenderRustyAnchor.kts │ │ │ │ │ ├── PortSarim.kts │ │ │ │ │ ├── PortSarimGuard.kts │ │ │ │ │ └── Thurgo.kts │ │ │ │ ├── rimmington │ │ │ │ │ └── CraftingGuild.kts │ │ │ │ └── taverley │ │ │ │ │ ├── Kaqemeex.kts │ │ │ │ │ ├── Sanfew.kts │ │ │ │ │ ├── TaverleyDungeon.kts │ │ │ │ │ └── WitchesHouse.kts │ │ │ ├── fremennik_province │ │ │ │ ├── lighthouse │ │ │ │ │ └── BasaltRock.kts │ │ │ │ ├── neitiznot │ │ │ │ │ └── ThakkradSigmundson.kts │ │ │ │ └── rellekka │ │ │ │ │ └── Yrsa.kts │ │ │ ├── kandarin │ │ │ │ ├── ardougne │ │ │ │ │ ├── BartenderFlyingHorseInn.kts │ │ │ │ │ ├── LegendsGuild.kts │ │ │ │ │ └── WizardCromperty.kts │ │ │ │ ├── barbarian_outpost │ │ │ │ │ ├── BarbarianGuard.kts │ │ │ │ │ ├── BarbarianOutpostGate.kts │ │ │ │ │ └── Gunnjorn.kts │ │ │ │ ├── catherby │ │ │ │ │ ├── Arheins.kts │ │ │ │ │ ├── Caleb.kts │ │ │ │ │ ├── CandleMaker.kts │ │ │ │ │ ├── Ellena.kts │ │ │ │ │ ├── FishBowl.kts │ │ │ │ │ ├── Harry.kts │ │ │ │ │ ├── Hickton.kts │ │ │ │ │ └── Vanessas.kts │ │ │ │ ├── ourania │ │ │ │ │ ├── CaveLizard.kts │ │ │ │ │ ├── Eniola.kts │ │ │ │ │ ├── MageOfZamorakOurania.kts │ │ │ │ │ ├── OuraniaAltar.kts │ │ │ │ │ ├── OuraniaCrack.kts │ │ │ │ │ └── ZamorakCrafter.kts │ │ │ │ ├── seers_village │ │ │ │ │ └── BartenderForestersArms.kts │ │ │ │ ├── tree_gnome_stronghold │ │ │ │ │ ├── Blurberry.kts │ │ │ │ │ ├── Brimstail.kts │ │ │ │ │ ├── GnomeTrainer.kts │ │ │ │ │ └── TreeGnomeStronghold.kts │ │ │ │ └── yanille │ │ │ │ │ ├── BartenderDragonInn.kts │ │ │ │ │ └── WizardDistentor.kts │ │ │ ├── karamja │ │ │ │ ├── BartenderDeadMansChest.kts │ │ │ │ ├── BartenderZambo.kts │ │ │ │ ├── BrimhavenShotcuts.kts │ │ │ │ ├── Stiles.kts │ │ │ │ └── brimhaven │ │ │ │ │ ├── Leather_Dragon.kts │ │ │ │ │ ├── Metal_Dragons.kts │ │ │ │ │ ├── Saniboch.kts │ │ │ │ │ └── Vine.kts │ │ │ ├── kharidian_desert │ │ │ │ ├── al_kharid │ │ │ │ │ ├── AlKharidMine.kts │ │ │ │ │ ├── AlTheCamel.kts │ │ │ │ │ ├── AliMorrisane.kts │ │ │ │ │ ├── Dommik.kts │ │ │ │ │ ├── Ellis.kts │ │ │ │ │ ├── Hassan.kts │ │ │ │ │ ├── Karim.kts │ │ │ │ │ ├── LouieLegs.kts │ │ │ │ │ ├── Osman.kts │ │ │ │ │ ├── Ranael.kts │ │ │ │ │ ├── Tollgate.kts │ │ │ │ │ ├── Zeke.kts │ │ │ │ │ └── duel_arena │ │ │ │ │ │ ├── CaptainDaerkin.kts │ │ │ │ │ │ ├── Fadli.kts │ │ │ │ │ │ ├── Hamid.kts │ │ │ │ │ │ ├── Jaraah.kts │ │ │ │ │ │ ├── Mubariz.kts │ │ │ │ │ │ ├── Nurses.kt │ │ │ │ │ │ ├── Nurses.kts │ │ │ │ │ │ ├── Spectators.kts │ │ │ │ │ │ ├── SurgeonGeneralTafani.kts │ │ │ │ │ │ └── Zahwa.kts │ │ │ │ └── sophanem │ │ │ │ │ └── GuardianMummy.kts │ │ │ ├── misthalin │ │ │ │ ├── Border.kt │ │ │ │ ├── BorderGuard.kts │ │ │ │ ├── Signposts.kts │ │ │ │ ├── barbarian_village │ │ │ │ │ ├── ChieftainGunthor.kts │ │ │ │ │ ├── Dororan.kts │ │ │ │ │ ├── Gudrun.kts │ │ │ │ │ ├── Haakon.kts │ │ │ │ │ ├── Kjell.kts │ │ │ │ │ ├── Sigurd.kts │ │ │ │ │ └── stronghold_of_security │ │ │ │ │ │ ├── Catablepon.kts │ │ │ │ │ │ ├── SkullSceptre.kts │ │ │ │ │ │ ├── StrongholdOfSecurityDoors.kts │ │ │ │ │ │ ├── StrongholdOfSecurityLadders.kts │ │ │ │ │ │ ├── StrongholdOfSecurityPortals.kts │ │ │ │ │ │ └── StrongholdOfSecurityRewards.kts │ │ │ │ ├── draynor_village │ │ │ │ │ ├── Aggie.kts │ │ │ │ │ ├── Diango.kts │ │ │ │ │ ├── DiangoItemRetrieval.kts │ │ │ │ │ ├── DraynorJailGuard.kts │ │ │ │ │ ├── Joe.kts │ │ │ │ │ ├── LadyKeli.kts │ │ │ │ │ ├── Leela.kts │ │ │ │ │ ├── Ned.kts │ │ │ │ │ └── PrinceAli.kts │ │ │ │ ├── edgeville │ │ │ │ │ ├── EdgevilleMonkeyBars.kts │ │ │ │ │ ├── Hari.kts │ │ │ │ │ ├── Jeffery.kts │ │ │ │ │ ├── MultiCombat.kts │ │ │ │ │ ├── Wilderness.kts │ │ │ │ │ └── WildernessIcons.kts │ │ │ │ ├── lumbridge │ │ │ │ │ ├── BarfyBill.kts │ │ │ │ │ ├── Bob.kts │ │ │ │ │ ├── Cook.kts │ │ │ │ │ ├── Doomsayer.kts │ │ │ │ │ ├── DukeHoracio.kts │ │ │ │ │ ├── ExplorerJack.kts │ │ │ │ │ ├── FatherAereck.kts │ │ │ │ │ ├── FatherUrhney.kts │ │ │ │ │ ├── GillieGroats.kts │ │ │ │ │ ├── Hans.kts │ │ │ │ │ ├── Lachtopher.kts │ │ │ │ │ ├── LumbridgeCatacombs.kts │ │ │ │ │ ├── LumbridgeChurch.kts │ │ │ │ │ ├── LumbridgeFlag.kts │ │ │ │ │ ├── LumbridgeSage.kts │ │ │ │ │ ├── LumbridgeSwamp.kts │ │ │ │ │ ├── MillieMiller.kts │ │ │ │ │ ├── RestlessGhost.kts │ │ │ │ │ ├── SkeletonWarlock.kts │ │ │ │ │ ├── Victoria.kts │ │ │ │ │ ├── chicken_farm │ │ │ │ │ │ └── SethGroatsFarm.kts │ │ │ │ │ ├── church │ │ │ │ │ │ ├── Gravestone.kt │ │ │ │ │ │ ├── GravestoneShop.kts │ │ │ │ │ │ └── Gravestones.kts │ │ │ │ │ └── combat_hall │ │ │ │ │ │ ├── ArcheryTarget.kts │ │ │ │ │ │ ├── CombatDummy.kts │ │ │ │ │ │ ├── MagicTutor.kts │ │ │ │ │ │ ├── MeleeTutor.kts │ │ │ │ │ │ └── RangeTutor.kts │ │ │ │ ├── varrock │ │ │ │ │ ├── AshCleaner.kts │ │ │ │ │ ├── Aubury.kts │ │ │ │ │ ├── Baraek.kts │ │ │ │ │ ├── BartenderBlueMoonInn.kts │ │ │ │ │ ├── BartenderJollyBoarInn.kts │ │ │ │ │ ├── BrassKey.kts │ │ │ │ │ ├── Delrith.kts │ │ │ │ │ ├── GypsyAris.kts │ │ │ │ │ ├── Iffie.kts │ │ │ │ │ ├── Tarquin.kts │ │ │ │ │ ├── Thessalia.kts │ │ │ │ │ └── palace │ │ │ │ │ │ ├── CaptainRovin.kts │ │ │ │ │ │ ├── Reldo.kts │ │ │ │ │ │ ├── SirPrysin.kts │ │ │ │ │ │ ├── SurokMagis.kts │ │ │ │ │ │ ├── VarrockManhole.kts │ │ │ │ │ │ └── VarrockPalaceDrain.kts │ │ │ │ └── wizards_tower │ │ │ │ │ ├── Sedridor.kts │ │ │ │ │ └── Traiborn.kts │ │ │ ├── morytania │ │ │ │ ├── mort_myre_swamp │ │ │ │ │ ├── BillBlakey.kts │ │ │ │ │ └── grotto │ │ │ │ │ │ └── Grotto.kts │ │ │ │ └── port_phasmatys │ │ │ │ │ └── WreckedGhostShip.kts │ │ │ └── wilderness │ │ │ │ ├── DrunkenMusician.kts │ │ │ │ ├── GhostlyPiper.kts │ │ │ │ ├── GoblinMusician.kts │ │ │ │ ├── KingBlackDragon.kts │ │ │ │ ├── Web.kts │ │ │ │ ├── Wilderness.kt │ │ │ │ ├── WildernessLevers.kts │ │ │ │ └── abyss │ │ │ │ ├── AbyssObstacles.kts │ │ │ │ ├── AbyssalRift.kts │ │ │ │ ├── DarkMage.kts │ │ │ │ └── MageOfZamorak.kts │ │ │ ├── bot │ │ │ ├── Bot.kt │ │ │ ├── BotSpawns.kts │ │ │ ├── Bots.kt │ │ │ ├── DecisionMaking.kts │ │ │ ├── InterfaceBot.kt │ │ │ ├── StartBot.kt │ │ │ ├── Task.kt │ │ │ ├── TaskManager.kt │ │ │ ├── WalkingBot.kts │ │ │ ├── interact │ │ │ │ ├── bank │ │ │ │ │ ├── BankBot.kt │ │ │ │ │ └── BankBot.kts │ │ │ │ ├── item │ │ │ │ │ ├── FloorItemBot.kt │ │ │ │ │ └── PickupBot.kts │ │ │ │ ├── navigation │ │ │ │ │ ├── GoTo.kt │ │ │ │ │ ├── Navigation.kt │ │ │ │ │ ├── Navigation.kts │ │ │ │ │ └── graph │ │ │ │ │ │ ├── Condition.kt │ │ │ │ │ │ ├── Edge.kt │ │ │ │ │ │ ├── HasInventoryItem.kt │ │ │ │ │ │ └── NavigationGraph.kt │ │ │ │ ├── path │ │ │ │ │ ├── AreaStrategy.kt │ │ │ │ │ ├── ConditionalStrategy.kt │ │ │ │ │ ├── Dijkstra.kt │ │ │ │ │ ├── DijkstraFrontier.kt │ │ │ │ │ ├── EdgeTraversal.kt │ │ │ │ │ └── NodeTargetStrategy.kt │ │ │ │ └── shop │ │ │ │ │ ├── ShopBot.kt │ │ │ │ │ └── ShopBot.kts │ │ │ └── skill │ │ │ │ ├── SkillBot.kts │ │ │ │ ├── combat │ │ │ │ ├── CombatBot.kt │ │ │ │ ├── CombatBot.kts │ │ │ │ ├── CombatGear.kt │ │ │ │ └── TrainingBot.kts │ │ │ │ ├── cooking │ │ │ │ └── CookingBot.kts │ │ │ │ ├── firemaking │ │ │ │ └── FiremakingBot.kts │ │ │ │ ├── fishing │ │ │ │ └── FishingBot.kts │ │ │ │ ├── mining │ │ │ │ └── MiningBot.kts │ │ │ │ ├── runecrafting │ │ │ │ └── RunecraftingBot.kts │ │ │ │ ├── smithing │ │ │ │ ├── SmeltingBot.kts │ │ │ │ └── SmithingBot.kts │ │ │ │ └── woodcutting │ │ │ │ └── WoodcuttingBot.kts │ │ │ ├── entity │ │ │ ├── Examines.kts │ │ │ ├── Movement.kts │ │ │ ├── combat │ │ │ │ ├── Bonus.kt │ │ │ │ ├── Combat.kts │ │ │ │ ├── CombatDebug.kts │ │ │ │ ├── CombatInteraction.kt │ │ │ │ ├── CombatPrepare.kt │ │ │ │ ├── CombatSwing.kt │ │ │ │ ├── Target.kt │ │ │ │ └── hit │ │ │ │ │ ├── CombatAttack.kt │ │ │ │ │ ├── CombatDamage.kt │ │ │ │ │ ├── CombatHitsplats.kts │ │ │ │ │ ├── Damage.kt │ │ │ │ │ └── Hit.kt │ │ │ ├── death │ │ │ │ ├── AfterDeath.kt │ │ │ │ ├── CharacterDeath.kts │ │ │ │ ├── Death.kt │ │ │ │ ├── Distribution.kt │ │ │ │ ├── DropItems.kt │ │ │ │ ├── NPCDeath.kts │ │ │ │ └── PlayerDeath.kts │ │ │ ├── effect │ │ │ │ ├── ColourOverlay.kts │ │ │ │ ├── Freeze.kt │ │ │ │ ├── Freeze.kts │ │ │ │ ├── Stun.kt │ │ │ │ ├── Transform.kt │ │ │ │ └── toxin │ │ │ │ │ ├── Disease.kt │ │ │ │ │ ├── Disease.kts │ │ │ │ │ ├── Poison.kt │ │ │ │ │ └── Poison.kts │ │ │ ├── gfx │ │ │ │ └── SpawnGraphic.kt │ │ │ ├── item │ │ │ │ └── spawn │ │ │ │ │ └── FloorItemRespawn.kts │ │ │ ├── npc │ │ │ │ ├── Banker.kts │ │ │ │ ├── Banshee.kts │ │ │ │ ├── ChaosDruid.kts │ │ │ │ ├── Musician.kts │ │ │ │ ├── Sheep.kts │ │ │ │ ├── combat │ │ │ │ │ ├── Aggression.kts │ │ │ │ │ ├── Attack.kts │ │ │ │ │ ├── NPCAttack.kt │ │ │ │ │ ├── magic │ │ │ │ │ │ ├── DarkWizards.kts │ │ │ │ │ │ └── Wizards.kts │ │ │ │ │ ├── melee │ │ │ │ │ │ ├── Cows.kts │ │ │ │ │ │ ├── Ducklings.kts │ │ │ │ │ │ ├── Lizard.kts │ │ │ │ │ │ ├── Lumbmen.kts │ │ │ │ │ │ ├── Men.kts │ │ │ │ │ │ └── Poisonous.kts │ │ │ │ │ └── ranged │ │ │ │ │ │ └── Archers.kts │ │ │ │ └── shop │ │ │ │ │ ├── OpenShop.kt │ │ │ │ │ ├── Shop.kt │ │ │ │ │ ├── ShopOpen.kts │ │ │ │ │ ├── buy │ │ │ │ │ ├── BoughtItem.kt │ │ │ │ │ └── ShopBuy.kts │ │ │ │ │ ├── general │ │ │ │ │ ├── GeneralStore.kts │ │ │ │ │ ├── GeneralStoreRestrictions.kt │ │ │ │ │ └── GeneralStores.kt │ │ │ │ │ ├── sell │ │ │ │ │ ├── ShopSell.kts │ │ │ │ │ └── SoldItem.kt │ │ │ │ │ └── stock │ │ │ │ │ ├── ItemInformation.kts │ │ │ │ │ ├── Price.kt │ │ │ │ │ ├── Restock.kts │ │ │ │ │ └── ShopExamine.kts │ │ │ ├── obj │ │ │ │ ├── BushPicking.kts │ │ │ │ ├── MilkCow.kts │ │ │ │ ├── Mill.kts │ │ │ │ ├── ObjectTeleport.kt │ │ │ │ ├── ObjectTeleporting.kts │ │ │ │ ├── ObjectTeleports.kt │ │ │ │ ├── Picking.kts │ │ │ │ ├── Replace.kt │ │ │ │ ├── Stairs.kts │ │ │ │ ├── TrapDoors.kts │ │ │ │ ├── canoe │ │ │ │ │ ├── Canoe.kt │ │ │ │ │ ├── CanoeStation.kt │ │ │ │ │ ├── CanoeStationMap.kts │ │ │ │ │ └── Canoes.kts │ │ │ │ ├── door │ │ │ │ │ ├── Door.kt │ │ │ │ │ ├── DoorOpened.kt │ │ │ │ │ ├── Doors.kts │ │ │ │ │ ├── DoubleDoor.kt │ │ │ │ │ └── Gate.kt │ │ │ │ └── ship │ │ │ │ │ ├── CharterShip.kts │ │ │ │ │ └── CharterShips.kt │ │ │ ├── player │ │ │ │ ├── AutoSave.kts │ │ │ │ ├── Exit.kts │ │ │ │ ├── ForceMovement.kts │ │ │ │ ├── Introduction.kts │ │ │ │ ├── Login.kts │ │ │ │ ├── bank │ │ │ │ │ ├── Bank.kt │ │ │ │ │ ├── BankDeposit.kts │ │ │ │ │ ├── BankOpen.kts │ │ │ │ │ ├── BankTabCollapse.kts │ │ │ │ │ ├── BankTabs.kts │ │ │ │ │ └── BankWithdraw.kts │ │ │ │ ├── combat │ │ │ │ │ ├── Attack.kts │ │ │ │ │ ├── CombatExperience.kts │ │ │ │ │ ├── CombatLevel.kts │ │ │ │ │ ├── Tolerance.kts │ │ │ │ │ └── special │ │ │ │ │ │ ├── SpecialAttack.kt │ │ │ │ │ │ ├── SpecialAttackDamage.kt │ │ │ │ │ │ ├── SpecialAttackEnergy.kts │ │ │ │ │ │ ├── SpecialAttackPrepare.kt │ │ │ │ │ │ └── SpecialAttacks.kts │ │ │ │ ├── command │ │ │ │ │ ├── Rights.kts │ │ │ │ │ ├── admin │ │ │ │ │ │ ├── AdminCommands.kts │ │ │ │ │ │ └── ObjectCommands.kts │ │ │ │ │ └── debug │ │ │ │ │ │ ├── DebugCommands.kts │ │ │ │ │ │ ├── InterfaceCommands.kts │ │ │ │ │ │ ├── NPCUpdatingCommands.kts │ │ │ │ │ │ └── PlayerUpdatingCommands.kts │ │ │ │ ├── dialogue │ │ │ │ │ ├── DialogueCommon.kt │ │ │ │ │ ├── DialogueInput.kts │ │ │ │ │ ├── ExperienceLamp.kts │ │ │ │ │ ├── Expression.kt │ │ │ │ │ └── type │ │ │ │ │ │ ├── Choice.kt │ │ │ │ │ │ ├── ChoiceBuilder.kt │ │ │ │ │ │ ├── Destroy.kt │ │ │ │ │ │ ├── ExpSkillLamp.kt │ │ │ │ │ │ ├── IntEntry.kt │ │ │ │ │ │ ├── ItemBox.kt │ │ │ │ │ │ ├── LevelUp.kt │ │ │ │ │ │ ├── LevelUp.kts │ │ │ │ │ │ ├── MakeAmount.kt │ │ │ │ │ │ ├── MakeAmount.kts │ │ │ │ │ │ ├── NPCDialogue.kt │ │ │ │ │ │ ├── NameEntry.kt │ │ │ │ │ │ ├── PlayerDialogue.kt │ │ │ │ │ │ ├── QuestStart.kt │ │ │ │ │ │ ├── QuestStart.kts │ │ │ │ │ │ ├── Statement.kt │ │ │ │ │ │ ├── StringEntry.kt │ │ │ │ │ │ ├── Warning.kt │ │ │ │ │ │ └── Warning.kts │ │ │ │ ├── effect │ │ │ │ │ ├── AvasDevices.kts │ │ │ │ │ ├── Dragonfire.kt │ │ │ │ │ ├── HitpointRestoration.kts │ │ │ │ │ ├── LevelRestoration.kts │ │ │ │ │ ├── SkillcapeBoost.kts │ │ │ │ │ ├── Skull.kt │ │ │ │ │ ├── Skull.kts │ │ │ │ │ └── energy │ │ │ │ │ │ ├── Energy.kt │ │ │ │ │ │ ├── Energy.kts │ │ │ │ │ │ ├── Resting.kts │ │ │ │ │ │ └── Running.kts │ │ │ │ ├── equip │ │ │ │ │ ├── Appearance.kts │ │ │ │ │ ├── EquipBonuses.kt │ │ │ │ │ ├── Equipment.kt │ │ │ │ │ ├── EquipmentBonuses.kts │ │ │ │ │ ├── Equipping.kts │ │ │ │ │ ├── Weight.kts │ │ │ │ │ └── WornEquipment.kts │ │ │ │ ├── inv │ │ │ │ │ ├── Inventory.kts │ │ │ │ │ ├── InventoryOption.kt │ │ │ │ │ └── item │ │ │ │ │ │ ├── ItemExtensions.kt │ │ │ │ │ │ ├── ItemOnItems.kts │ │ │ │ │ │ ├── ItemUsedOnItem.kt │ │ │ │ │ │ ├── destroy │ │ │ │ │ │ ├── Destroyed.kt │ │ │ │ │ │ ├── Destructible.kt │ │ │ │ │ │ └── ItemDestroy.kts │ │ │ │ │ │ ├── drop │ │ │ │ │ │ ├── Droppable.kt │ │ │ │ │ │ ├── Dropped.kt │ │ │ │ │ │ ├── ItemDropping.kts │ │ │ │ │ │ └── ItemPlace.kts │ │ │ │ │ │ └── take │ │ │ │ │ │ ├── ItemTake.kts │ │ │ │ │ │ ├── Takeable.kt │ │ │ │ │ │ └── Taken.kt │ │ │ │ ├── kept │ │ │ │ │ ├── AreaType.kt │ │ │ │ │ ├── ItemsKeptOnDeath.kt │ │ │ │ │ └── ItemsKeptOnDeathScreen.kts │ │ │ │ ├── modal │ │ │ │ │ ├── CharacterCreation.kts │ │ │ │ │ ├── CharacterStyle.kt │ │ │ │ │ ├── Containers.kts │ │ │ │ │ ├── GameFrame.kts │ │ │ │ │ ├── Tab.kt │ │ │ │ │ ├── book │ │ │ │ │ │ ├── BookPages.kts │ │ │ │ │ │ └── Books.kt │ │ │ │ │ ├── map │ │ │ │ │ │ ├── MapMarkers.kt │ │ │ │ │ │ ├── Minimap.kts │ │ │ │ │ │ └── WorldMap.kts │ │ │ │ │ └── tab │ │ │ │ │ │ ├── Emotes.kts │ │ │ │ │ │ ├── ItemEmotes.kts │ │ │ │ │ │ ├── Morphing.kts │ │ │ │ │ │ ├── Notes.kts │ │ │ │ │ │ ├── OpenQuestJournal.kt │ │ │ │ │ │ ├── Options.kts │ │ │ │ │ │ └── QuestJournals.kts │ │ │ │ ├── price │ │ │ │ │ └── PriceChecker.kts │ │ │ │ └── stat │ │ │ │ │ ├── Experience.kts │ │ │ │ │ └── Stats.kts │ │ │ ├── proj │ │ │ │ └── ShootProjectile.kt │ │ │ ├── sound │ │ │ │ └── Sound.kt │ │ │ └── world │ │ │ │ ├── RegionLoading.kts │ │ │ │ └── music │ │ │ │ ├── Music.kts │ │ │ │ ├── MusicTracks.kt │ │ │ │ └── MusicUnlock.kt │ │ │ ├── minigame │ │ │ └── pyramid_plunder │ │ │ │ └── PharaohsSceptre.kts │ │ │ ├── quest │ │ │ ├── Cutscene.kt │ │ │ ├── Quest.kt │ │ │ ├── free │ │ │ │ ├── cooks_assistant │ │ │ │ │ └── CooksAssistant.kts │ │ │ │ ├── demon_slayer │ │ │ │ │ ├── DemonSlayer.kts │ │ │ │ │ └── DemonSlayerSpell.kt │ │ │ │ ├── dorics_quest │ │ │ │ │ └── DoricsQuest.kts │ │ │ │ ├── gunnars_ground │ │ │ │ │ └── GunnarsGround.kts │ │ │ │ ├── prince_ali_rescue │ │ │ │ │ └── PrinceAliRescue.kts │ │ │ │ ├── rune_mysteries │ │ │ │ │ └── RuneMysteries.kts │ │ │ │ ├── the_knights_sword │ │ │ │ │ └── TheKnightsSword.kts │ │ │ │ └── the_restless_ghost │ │ │ │ │ └── TheRestlessGhost.kts │ │ │ ├── member │ │ │ │ ├── druidic_ritual │ │ │ │ │ └── DruidicRitual.kts │ │ │ │ ├── eagles_peak │ │ │ │ │ └── EaglesEyries.kts │ │ │ │ ├── enakhras_lament │ │ │ │ │ └── Camulet.kts │ │ │ │ ├── ghosts_ahoy │ │ │ │ │ ├── Ectophial.kts │ │ │ │ │ └── Ectopool.kts │ │ │ │ ├── mahjarrat │ │ │ │ │ └── the_dig_site │ │ │ │ │ │ └── DigSitePendant.kts │ │ │ │ ├── monkey_madness │ │ │ │ │ └── Greegrees.kts │ │ │ │ ├── the_grand_tree │ │ │ │ │ └── SpiritTree.kts │ │ │ │ └── tower_of_life │ │ │ │ │ └── Satchel.kts │ │ │ └── miniquest │ │ │ │ └── alfred_grimhands_barcrawl │ │ │ │ ├── AlfredGrimhandsBarCrawl.kt │ │ │ │ └── AlfredGrimhandsBarCrawl.kts │ │ │ ├── skill │ │ │ ├── agility │ │ │ │ ├── course │ │ │ │ │ ├── ApeAtoll.kts │ │ │ │ │ ├── ApeAtollDungeon.kts │ │ │ │ │ ├── BarbarianAdvanced.kts │ │ │ │ │ ├── BarbarianOutpost.kts │ │ │ │ │ ├── Course.kt │ │ │ │ │ ├── GnomeAdvanced.kts │ │ │ │ │ ├── GnomeAgility.kt │ │ │ │ │ ├── GnomeStronghold.kts │ │ │ │ │ └── WildernessCourse.kts │ │ │ │ └── shortcut │ │ │ │ │ ├── Grapple.kts │ │ │ │ │ ├── LogBalance.kts │ │ │ │ │ ├── Pipes.kts │ │ │ │ │ ├── SteppingStones.kts │ │ │ │ │ ├── Stiles.kts │ │ │ │ │ └── UnderWallTunnels.kts │ │ │ ├── constitution │ │ │ │ ├── Consumable.kt │ │ │ │ ├── Consume.kt │ │ │ │ ├── Eating.kts │ │ │ │ ├── drink │ │ │ │ │ ├── Ale.kts │ │ │ │ │ ├── Antifire.kts │ │ │ │ │ ├── Bottled.kts │ │ │ │ │ ├── Cocktails.kts │ │ │ │ │ ├── DungeoneeringPotions.kts │ │ │ │ │ ├── MatureAle.kts │ │ │ │ │ ├── Overload.kts │ │ │ │ │ ├── Potions.kts │ │ │ │ │ ├── RecoverSpecial.kts │ │ │ │ │ ├── Tea.kts │ │ │ │ │ └── ZamorakBrew.kts │ │ │ │ └── food │ │ │ │ │ ├── AdmiralPie.kts │ │ │ │ │ ├── Cabbage.kts │ │ │ │ │ ├── FishPie.kts │ │ │ │ │ ├── GardenPie.kts │ │ │ │ │ ├── HolyBiscuits.kts │ │ │ │ │ ├── JugOfWine.kts │ │ │ │ │ ├── Kebab.kts │ │ │ │ │ ├── Onion.kts │ │ │ │ │ ├── PoisonKarambwan.kts │ │ │ │ │ ├── Rocktail.kts │ │ │ │ │ ├── SpicyStew.kts │ │ │ │ │ ├── SummerPie.kts │ │ │ │ │ └── WildPie.kts │ │ │ ├── cooking │ │ │ │ ├── Cooking.kts │ │ │ │ ├── Empty.kts │ │ │ │ └── Filling.kts │ │ │ ├── crafting │ │ │ │ ├── Jewellery.kts │ │ │ │ ├── Pottery.kts │ │ │ │ ├── SilverCasting.kts │ │ │ │ ├── SoftClay.kts │ │ │ │ ├── SpinningWheel.kts │ │ │ │ ├── Thread.kts │ │ │ │ └── Weaving.kts │ │ │ ├── farming │ │ │ │ ├── Baskets.kts │ │ │ │ └── Sack.kts │ │ │ ├── firemaking │ │ │ │ ├── Firelighters.kts │ │ │ │ ├── Firemaking.kts │ │ │ │ ├── Light.kt │ │ │ │ └── LightSource.kts │ │ │ ├── fishing │ │ │ │ ├── Fish.kts │ │ │ │ └── Fishing.kts │ │ │ ├── fletching │ │ │ │ ├── Bolts.kts │ │ │ │ ├── Darts.kts │ │ │ │ ├── FletchUnfinished.kts │ │ │ │ └── HeadlessArrows.kts │ │ │ ├── herblore │ │ │ │ ├── HerbCleaning.kts │ │ │ │ └── PotionDecanting.kts │ │ │ ├── magic │ │ │ │ ├── Magic.kts │ │ │ │ ├── book │ │ │ │ │ ├── SpellBookFilter.kts │ │ │ │ │ ├── SpellRunes.kts │ │ │ │ │ ├── ancient │ │ │ │ │ │ ├── BloodSpells.kts │ │ │ │ │ │ ├── IceSpells.kts │ │ │ │ │ │ ├── MiasmicSpells.kts │ │ │ │ │ │ ├── ShadowSpells.kts │ │ │ │ │ │ └── SmokeSpells.kts │ │ │ │ │ ├── lunar │ │ │ │ │ │ ├── CureGroup.kts │ │ │ │ │ │ ├── CureMe.kts │ │ │ │ │ │ ├── CureOther.kts │ │ │ │ │ │ ├── EnergyTransfer.kts │ │ │ │ │ │ ├── HealGroup.kts │ │ │ │ │ │ ├── HealOther.kts │ │ │ │ │ │ ├── Vengeance.kts │ │ │ │ │ │ └── VengeanceOther.kts │ │ │ │ │ └── modern │ │ │ │ │ │ ├── BindSpells.kts │ │ │ │ │ │ ├── Charge.kts │ │ │ │ │ │ ├── CrumbleUndead.kts │ │ │ │ │ │ ├── DrainSpells.kts │ │ │ │ │ │ ├── TeleportBlock.kt │ │ │ │ │ │ └── TeleportBlock.kts │ │ │ │ ├── jewellery │ │ │ │ │ ├── AmuletOfGlory.kts │ │ │ │ │ ├── CombatBracelet.kts │ │ │ │ │ ├── GamesNecklace.kts │ │ │ │ │ ├── JewelleryTeleport.kt │ │ │ │ │ ├── RingOfDuelling.kts │ │ │ │ │ ├── RingOfWealth.kts │ │ │ │ │ └── SkillsNecklace.kts │ │ │ │ ├── shield │ │ │ │ │ ├── CelestialSurgeBox.kts │ │ │ │ │ └── MagicalBlastBox.kts │ │ │ │ ├── spell │ │ │ │ │ ├── Autocast.kts │ │ │ │ │ ├── Spell.kt │ │ │ │ │ ├── SpellRunes.kt │ │ │ │ │ ├── Spells.kts │ │ │ │ │ ├── Teleport.kt │ │ │ │ │ └── Teleports.kts │ │ │ │ └── weapon │ │ │ │ │ ├── LawStaff.kts │ │ │ │ │ └── NatureStaff.kts │ │ │ ├── melee │ │ │ │ ├── Block.kts │ │ │ │ ├── CombatStyles.kts │ │ │ │ ├── Melee.kts │ │ │ │ ├── Weapon.kts │ │ │ │ ├── armour │ │ │ │ │ ├── CastleWarsBrace.kts │ │ │ │ │ ├── Degradation.kts │ │ │ │ │ ├── RingOfRecoil.kts │ │ │ │ │ ├── VoidSet.kts │ │ │ │ │ └── barrows │ │ │ │ │ │ ├── AhrimsSet.kts │ │ │ │ │ │ ├── BarrowsArmour.kt │ │ │ │ │ │ ├── DharoksSet.kts │ │ │ │ │ │ ├── GuthansSet.kts │ │ │ │ │ │ ├── KarilsSet.kts │ │ │ │ │ │ ├── ToragsSet.kts │ │ │ │ │ │ └── VeracsSet.kts │ │ │ │ └── weapon │ │ │ │ │ ├── SpecialAttackMelee.kt │ │ │ │ │ ├── Weapon.kt │ │ │ │ │ ├── Whacking.kts │ │ │ │ │ └── special │ │ │ │ │ ├── AbyssalWhip.kts │ │ │ │ │ ├── AncientMace.kts │ │ │ │ │ ├── BandosGodsword.kts │ │ │ │ │ ├── BarrelchestAnchor.kts │ │ │ │ │ ├── BoneDagger.kts │ │ │ │ │ ├── BrineSabre.kts │ │ │ │ │ ├── Darklight.kts │ │ │ │ │ ├── Dragon2hSword.kts │ │ │ │ │ ├── DragonBattleaxe.kts │ │ │ │ │ ├── DragonClaws.kts │ │ │ │ │ ├── DragonDagger.kts │ │ │ │ │ ├── DragonHalberd.kts │ │ │ │ │ ├── DragonHatchet.kts │ │ │ │ │ ├── DragonScimitar.kts │ │ │ │ │ ├── Excalibur.kts │ │ │ │ │ ├── GraniteMaul.kts │ │ │ │ │ ├── KorasiSword.kts │ │ │ │ │ ├── SaradominGodsword.kts │ │ │ │ │ ├── SaradominSword.kts │ │ │ │ │ ├── SpearShove.kts │ │ │ │ │ ├── StaffOfLight.kts │ │ │ │ │ ├── StatiusWarhammer.kts │ │ │ │ │ ├── VestasSpear.kts │ │ │ │ │ └── ZamorakGodsword.kts │ │ │ ├── mining │ │ │ │ ├── CoalBag.kts │ │ │ │ ├── GemBag.kts │ │ │ │ ├── Mining.kts │ │ │ │ └── Pickaxe.kt │ │ │ ├── prayer │ │ │ │ ├── Prayer.kt │ │ │ │ ├── PrayerConfigs.kt │ │ │ │ ├── PrayerStart.kt │ │ │ │ ├── PrayerStop.kt │ │ │ │ ├── Prayers.kts │ │ │ │ ├── active │ │ │ │ │ ├── Leech.kts │ │ │ │ │ ├── PrayerBonus.kts │ │ │ │ │ ├── PrayerDrain.kts │ │ │ │ │ ├── Redemption.kts │ │ │ │ │ ├── Smite.kts │ │ │ │ │ └── SoulSplit.kts │ │ │ │ ├── bone │ │ │ │ │ ├── BoneBurying.kts │ │ │ │ │ ├── BoneOffering.kts │ │ │ │ │ └── PrayerAltars.kts │ │ │ │ └── list │ │ │ │ │ ├── PrayerList.kts │ │ │ │ │ ├── PrayerToggle.kts │ │ │ │ │ └── QuickPrayers.kts │ │ │ ├── ranged │ │ │ │ ├── Ammo.kt │ │ │ │ ├── Ranged.kts │ │ │ │ ├── ammo │ │ │ │ │ ├── Ammo.kts │ │ │ │ │ └── GodArrows.kts │ │ │ │ └── weapon │ │ │ │ │ ├── Chinchompa.kts │ │ │ │ │ ├── HandCannon.kts │ │ │ │ │ └── special │ │ │ │ │ ├── DarkBow.kts │ │ │ │ │ ├── DorgeshuunCrossbow.kts │ │ │ │ │ ├── EnchantedBolts.kts │ │ │ │ │ ├── GodBows.kts │ │ │ │ │ ├── MagicLongbow.kts │ │ │ │ │ ├── MagicShortbow.kts │ │ │ │ │ ├── MorrigansJavelin.kts │ │ │ │ │ ├── MorrigansThrowingAxe.kts │ │ │ │ │ ├── RuneThrowingAxe.kts │ │ │ │ │ ├── Seercull.kts │ │ │ │ │ └── ZaniksCrossbow.kts │ │ │ ├── runecrafting │ │ │ │ ├── EssenceMine.kt │ │ │ │ ├── EssencePouch.kts │ │ │ │ ├── MysteriousRuins.kts │ │ │ │ ├── RuneEssenceMine.kts │ │ │ │ ├── Runecrafting.kts │ │ │ │ └── Talismans.kts │ │ │ ├── slayer │ │ │ │ ├── EnchantedGem.kts │ │ │ │ ├── Slayer.kt │ │ │ │ ├── SlayerAssignment.kts │ │ │ │ ├── SlayerRewards.kts │ │ │ │ ├── SlayerSkills.kts │ │ │ │ └── master │ │ │ │ │ └── Turael.kts │ │ │ ├── smithing │ │ │ │ ├── Anvil.kts │ │ │ │ ├── Cannonballs.kts │ │ │ │ ├── Furnace.kts │ │ │ │ ├── Smithing.kt │ │ │ │ └── SuperheatItem.kts │ │ │ ├── summoning │ │ │ │ └── Summoning.kt │ │ │ ├── thieving │ │ │ │ └── Pickpocketing.kts │ │ │ └── woodcutting │ │ │ │ ├── Hatchet.kt │ │ │ │ └── Woodcutting.kts │ │ │ └── social │ │ │ ├── assist │ │ │ ├── AssistArea.kts │ │ │ ├── AssistDisplay.kts │ │ │ ├── AssistFilter.kts │ │ │ ├── Assistance.kt │ │ │ └── RequestAssist.kts │ │ │ ├── chat │ │ │ ├── Chat.kts │ │ │ ├── ChatFilters.kt │ │ │ ├── ChatFilters.kts │ │ │ ├── ChatSetup.kts │ │ │ └── QuickChat.kts │ │ │ ├── clan │ │ │ ├── ClanChat.kts │ │ │ ├── ClanSetup.kts │ │ │ ├── Clans.kt │ │ │ └── LootShare.kts │ │ │ ├── friend │ │ │ ├── Friends.kt │ │ │ ├── FriendsList.kts │ │ │ └── NameChange.kts │ │ │ ├── ignore │ │ │ ├── IgnoreList.kts │ │ │ └── Ignores.kt │ │ │ ├── report │ │ │ └── ReportAbuse.kts │ │ │ └── trade │ │ │ ├── Trade.kt │ │ │ ├── TradeConfirm.kts │ │ │ ├── TradeDecline.kts │ │ │ ├── TradeLending.kts │ │ │ ├── TradeOffer.kts │ │ │ ├── TradeRemove.kts │ │ │ ├── TradeRequest.kts │ │ │ ├── TradeSync.kts │ │ │ └── lend │ │ │ ├── ItemDiscard.kts │ │ │ ├── ItemLending.kts │ │ │ ├── ItemReturning.kts │ │ │ └── Loan.kt │ └── resources │ │ ├── game.properties │ │ ├── logback.xml │ │ ├── run-server.bat │ │ └── run-server.sh │ └── test │ ├── kotlin │ ├── FakeRandom.kt │ ├── InstructionCalls.kt │ ├── KoinMock.kt │ ├── MockProviderExtension.kt │ ├── ScriptMock.kt │ ├── WorldTest.kt │ └── content │ │ ├── achievement │ │ ├── LumbridgeBeginnerTasksTest.kt │ │ └── TaskSystemTest.kt │ │ ├── area │ │ ├── kandarin │ │ │ ├── ourania │ │ │ │ └── OuraniaAltarTest.kt │ │ │ └── tree_gnome_stronghold │ │ │ │ └── TreeGnomeStrongholdTest.kt │ │ ├── karamja │ │ │ └── BrimhavenShortcutsTest.kt │ │ ├── kharidian_desert │ │ │ └── al_kharid │ │ │ │ └── AlKharidMineTest.kt │ │ ├── misthalin │ │ │ └── lumbridge │ │ │ │ └── church │ │ │ │ └── GravestonesTest.kt │ │ ├── mithalin │ │ │ ├── BorderGuardTest.kt │ │ │ ├── barbarian_village │ │ │ │ ├── StrongholdOfSecurityDoorsTest.kt │ │ │ │ ├── StrongholdOfSecurityPortalTest.kt │ │ │ │ └── StrongholdOfSecurityRewardTest.kt │ │ │ └── edgeville │ │ │ │ └── EdgevilleMonkeyBarsTest.kt │ │ ├── morytania │ │ │ ├── mort_myre_swamp │ │ │ │ └── grotto │ │ │ │ │ └── GrottoTest.kt │ │ │ └── port_phasmatys │ │ │ │ └── WreckedGhostShipTest.kt │ │ ├── remennik_province │ │ │ └── lighthouse │ │ │ │ └── BasaltRockTest.kt │ │ └── wilderness │ │ │ └── abyss │ │ │ ├── AbyssObstaclesTest.kt │ │ │ └── AbyssalRiftTest.kt │ │ ├── bot │ │ └── path │ │ │ └── DijkstraTest.kt │ │ ├── entity │ │ ├── combat │ │ │ ├── CombatFlinchTest.kt │ │ │ ├── CombatMovementTest.kt │ │ │ ├── CombatRetaliationTest.kt │ │ │ └── CombatTest.kt │ │ ├── death │ │ │ └── DistributionTest.kt │ │ ├── npc │ │ │ ├── combat │ │ │ │ └── HuntModeTest.kt │ │ │ └── shop │ │ │ │ └── ShopTest.kt │ │ ├── obj │ │ │ ├── BushPickingTest.kt │ │ │ ├── ObjectTest.kt │ │ │ ├── canoe │ │ │ │ └── CanoesTest.kt │ │ │ └── ship │ │ │ │ └── CharterShipTest.kt │ │ └── player │ │ │ ├── PlayerTest.kt │ │ │ ├── WeakInteractionTest.kt │ │ │ ├── bank │ │ │ └── BankTest.kt │ │ │ ├── dialogue │ │ │ └── type │ │ │ │ ├── ChoiceTest.kt │ │ │ │ ├── DestroyTest.kt │ │ │ │ ├── DialogueTest.kt │ │ │ │ ├── IntEntryTest.kt │ │ │ │ ├── ItemBoxTest.kt │ │ │ │ ├── LevelUpTest.kt │ │ │ │ ├── MakeAmountTest.kt │ │ │ │ ├── NPCChatTest.kt │ │ │ │ ├── PlayerChatTest.kt │ │ │ │ ├── QuestStartTest.kt │ │ │ │ ├── StatementTest.kt │ │ │ │ └── StringEntryTest.kt │ │ │ ├── effect │ │ │ ├── DragonfireTest.kt │ │ │ ├── HitpointRestorationTest.kt │ │ │ ├── LevelRestorationTest.kt │ │ │ └── degrade │ │ │ │ └── DegradeTest.kt │ │ │ ├── equip │ │ │ └── EquipTest.kt │ │ │ ├── inv │ │ │ ├── DropTest.kt │ │ │ ├── ItemOnItemsTest.kt │ │ │ └── TakeTest.kt │ │ │ └── kept │ │ │ └── PriceCheckerTest.kt │ │ ├── quest │ │ ├── free │ │ │ └── prince_ali_rescue │ │ │ │ └── PrinceAliRescueTest.kt │ │ ├── member │ │ │ ├── eagels_peak │ │ │ │ └── EaglesEyriesTest.kt │ │ │ ├── ghost_ahoy │ │ │ │ └── EctopoolTest.kt │ │ │ ├── the_grand_tree │ │ │ │ └── SpiritTreeTest.kt │ │ │ └── tower_of_life │ │ │ │ └── SatchelTest.kt │ │ └── miniquest │ │ │ ├── AlfredGrimhandsBarCrawlTest.kt │ │ │ └── EnterTheAbyss.kt │ │ ├── skill │ │ ├── agility │ │ │ ├── course │ │ │ │ ├── ApeAtollTest.kt │ │ │ │ ├── BarbarianAdvancedTest.kt │ │ │ │ ├── BarbarianOutpostTest.kt │ │ │ │ ├── GnomeAdvancedTest.kt │ │ │ │ ├── GnomeStrongholdTest.kt │ │ │ │ └── WildernessCourseTest.kt │ │ │ └── shortcut │ │ │ │ ├── GrappleTest.kt │ │ │ │ ├── LogBalanceTest.kt │ │ │ │ ├── PipesTest.kt │ │ │ │ ├── SteppingStonesTest.kt │ │ │ │ ├── StilesTest.kt │ │ │ │ └── UnderWallTunnelsTest.kt │ │ ├── constitution │ │ │ └── drink │ │ │ │ └── TeaTest.kt │ │ ├── cooking │ │ │ └── CookingTest.kt │ │ ├── crafting │ │ │ └── JewelleryTest.kt │ │ ├── farming │ │ │ ├── BasketTest.kt │ │ │ └── SackTest.kt │ │ ├── firemaking │ │ │ └── FiremakingTest.kt │ │ ├── fishing │ │ │ └── FishingTest.kt │ │ ├── fletching │ │ │ └── FletchingTest.kt │ │ ├── magic │ │ │ ├── AddChargeGodSpellEffectTest.kt │ │ │ ├── CelestialSurgeBoxTest.kt │ │ │ ├── CelestialWaveBoxTest.kt │ │ │ ├── DungeoneeringBoxTest.kt │ │ │ ├── DungeoneeringRewardStaffTest.kt │ │ │ ├── LawStaffTest.kt │ │ │ ├── MagicCombatFormulaTest.kt │ │ │ ├── MagicTest.kt │ │ │ ├── MagicalBlastBoxTest.kt │ │ │ ├── MagicalBoltBoxTest.kt │ │ │ ├── NatureStaffTest.kt │ │ │ └── spell │ │ │ │ ├── AncientSpellEffectsTest.kt │ │ │ │ ├── CombinationRuneTest.kt │ │ │ │ ├── DungeoneeringSpellTest.kt │ │ │ │ ├── MagicSpellTest.kt │ │ │ │ ├── MinigameSpellTest.kt │ │ │ │ └── SpellRunesTest.kt │ │ ├── melee │ │ │ ├── CombatFormulaTest.kt │ │ │ ├── MeleeCombatFormulaTest.kt │ │ │ └── armour │ │ │ │ ├── BerserkerNecklaceFormulaTest.kt │ │ │ │ ├── CastleWarsBraceEffectTest.kt │ │ │ │ ├── CombatDegradeTest.kt │ │ │ │ ├── RingOfRecoilTest.kt │ │ │ │ ├── SpiritShieldFormulaTest.kt │ │ │ │ ├── VoidSetEffectFormulaTest.kt │ │ │ │ └── barrows │ │ │ │ ├── AhrimsSetEffectTest.kt │ │ │ │ ├── DharoksSetEffectTest.kt │ │ │ │ ├── GuthansSetEffectTest.kt │ │ │ │ ├── KarilsSetEffectTest.kt │ │ │ │ ├── ToragsSetEffectTest.kt │ │ │ │ └── VeracsSetEffectTest.kt │ │ ├── mining │ │ │ ├── CoalBagTest.kt │ │ │ ├── GemBagTest.kt │ │ │ └── MiningTest.kt │ │ ├── prayer │ │ │ └── PrayerTest.kt │ │ ├── ranged │ │ │ ├── RangedCombatFormulaTest.kt │ │ │ └── ammo │ │ │ │ ├── EnchantedBoltsEffectTest.kt │ │ │ │ └── GodArrowsEffectTest.kt │ │ ├── runecrafting │ │ │ ├── CombinationRunecraftingTest.kt │ │ │ ├── EssencePouchTest.kt │ │ │ ├── MysteriousRuinsTest.kt │ │ │ └── RunecraftingTest.kt │ │ ├── slayer │ │ │ ├── DemonbaneWeaponFormulaTest.kt │ │ │ ├── FerociousRingEffectTest.kt │ │ │ ├── SlayerCombatFormulaTest.kt │ │ │ └── SlayerTaskTest.kt │ │ ├── smithing │ │ │ └── SmeltingTest.kt │ │ ├── thieving │ │ │ └── PickpocketTest.kt │ │ └── woodcutting │ │ │ └── WoodcuttingTest.kt │ │ └── social │ │ ├── assist │ │ └── RequestAssistTest.kt │ │ ├── clan │ │ ├── ClanTest.kt │ │ └── LootShareTest.kt │ │ ├── friend │ │ ├── FriendTest.kt │ │ ├── IgnoreTest.kt │ │ └── PrivateChatStatusTest.kt │ │ └── trade │ │ ├── LendTest.kt │ │ └── TradeTest.kt │ └── resources │ ├── content │ └── entity │ │ └── player │ │ └── dialogue │ │ └── type │ │ └── glyph-widths-497.dat │ └── logback-test.xml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── network ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ └── world │ │ └── gregs │ │ └── voidps │ │ └── network │ │ ├── FileServer.kt │ │ ├── GameServer.kt │ │ ├── LoginServer.kt │ │ ├── Request.kt │ │ ├── Response.kt │ │ ├── Server.kt │ │ ├── client │ │ ├── Client.kt │ │ ├── ClientState.kt │ │ ├── ConnectionQueue.kt │ │ ├── ConnectionTracker.kt │ │ ├── DummyClient.kt │ │ ├── Instruction.kt │ │ ├── IsaacCipher.kt │ │ └── instruction │ │ │ ├── ChangeDisplayMode.kt │ │ │ ├── ChatPrivate.kt │ │ │ ├── ChatPublic.kt │ │ │ ├── ChatTypeChange.kt │ │ │ ├── ClanChatJoin.kt │ │ │ ├── ClanChatKick.kt │ │ │ ├── ClanChatRank.kt │ │ │ ├── EnterInt.kt │ │ │ ├── EnterName.kt │ │ │ ├── EnterString.kt │ │ │ ├── ExamineItem.kt │ │ │ ├── ExamineNpc.kt │ │ │ ├── ExamineObject.kt │ │ │ ├── ExecuteCommand.kt │ │ │ ├── FinishRegionLoad.kt │ │ │ ├── FriendAdd.kt │ │ │ ├── FriendDelete.kt │ │ │ ├── IgnoreAdd.kt │ │ │ ├── IgnoreDelete.kt │ │ │ ├── InteractDialogue.kt │ │ │ ├── InteractFloorItem.kt │ │ │ ├── InteractInterface.kt │ │ │ ├── InteractInterfaceFloorItem.kt │ │ │ ├── InteractInterfaceItem.kt │ │ │ ├── InteractInterfaceNPC.kt │ │ │ ├── InteractInterfaceObject.kt │ │ │ ├── InteractInterfacePlayer.kt │ │ │ ├── InteractNPC.kt │ │ │ ├── InteractObject.kt │ │ │ ├── InteractPlayer.kt │ │ │ ├── InterfaceClosedInstruction.kt │ │ │ ├── MoveInventoryItem.kt │ │ │ ├── QuickChatPrivate.kt │ │ │ ├── QuickChatPublic.kt │ │ │ ├── ReportAbuse.kt │ │ │ ├── SongEnd.kt │ │ │ ├── Walk.kt │ │ │ └── WorldMapClick.kt │ │ ├── file │ │ ├── FileProvider.kt │ │ ├── PrefetchKeys.kt │ │ └── type │ │ │ ├── CacheFileProvider.kt │ │ │ └── MemoryFileProvider.kt │ │ └── login │ │ ├── AccountLoader.kt │ │ ├── PasswordManager.kt │ │ ├── Protocol.kt │ │ └── protocol │ │ ├── Decoder.kt │ │ ├── Decoders.kt │ │ ├── Encoders.kt │ │ ├── JagExtensions.kt │ │ ├── Visual.kt │ │ ├── decode │ │ ├── APCoordinateDecoder.kt │ │ ├── AddFriendDecoder.kt │ │ ├── AddIgnoreDecoder.kt │ │ ├── AntiCheatDecoder.kt │ │ ├── ChatTypeDecoder.kt │ │ ├── ClanChatJoinDecoder.kt │ │ ├── ClanChatKickDecoder.kt │ │ ├── ClanChatRankDecoder.kt │ │ ├── ConsoleCommandDecoder.kt │ │ ├── DeleteFriendDecoder.kt │ │ ├── DeleteIgnoreDecoder.kt │ │ ├── DialogueContinueDecoder.kt │ │ ├── FloorItemExamineDecoder.kt │ │ ├── FloorItemOption1Decoder.kt │ │ ├── FloorItemOption2Decoder.kt │ │ ├── FloorItemOption3Decoder.kt │ │ ├── FloorItemOption4Decoder.kt │ │ ├── FloorItemOption5Decoder.kt │ │ ├── HyperlinkDecoder.kt │ │ ├── IntegerEntryDecoder.kt │ │ ├── InterfaceClosedDecoder.kt │ │ ├── InterfaceOnFloorItemDecoder.kt │ │ ├── InterfaceOnInterfaceDecoder.kt │ │ ├── InterfaceOnNpcDecoder.kt │ │ ├── InterfaceOnObjectDecoder.kt │ │ ├── InterfaceOnPlayerDecoder.kt │ │ ├── InterfaceOptionDecoder.kt │ │ ├── InterfaceSwitchComponentsDecoder.kt │ │ ├── KeysPressedDecoder.kt │ │ ├── LatencyDecoder.kt │ │ ├── LobbyOnlineStatusDecoder.kt │ │ ├── LobbyWorldListRefreshDecoder.kt │ │ ├── MovedCameraDecoder.kt │ │ ├── MovedMouseDecoder.kt │ │ ├── NPCExamineDecoder.kt │ │ ├── NPCOption1Decoder.kt │ │ ├── NPCOption2Decoder.kt │ │ ├── NPCOption3Decoder.kt │ │ ├── NPCOption4Decoder.kt │ │ ├── NPCOption5Decoder.kt │ │ ├── NameEntryDecoder.kt │ │ ├── ObjectExamineDecoder.kt │ │ ├── ObjectOption1Decoder.kt │ │ ├── ObjectOption2Decoder.kt │ │ ├── ObjectOption3Decoder.kt │ │ ├── ObjectOption4Decoder.kt │ │ ├── ObjectOption5Decoder.kt │ │ ├── PingDecoder.kt │ │ ├── PlayerOption1Decoder.kt │ │ ├── PlayerOption2Decoder.kt │ │ ├── PlayerOption3Decoder.kt │ │ ├── PlayerOption4Decoder.kt │ │ ├── PlayerOption5Decoder.kt │ │ ├── PlayerOption6Decoder.kt │ │ ├── PlayerOption7Decoder.kt │ │ ├── PlayerOption8Decoder.kt │ │ ├── PrivateDecoder.kt │ │ ├── PrivateQuickChatDecoder.kt │ │ ├── PublicDecoder.kt │ │ ├── PublicQuickChatDecoder.kt │ │ ├── ReflectionResponseDecoder.kt │ │ ├── RegionLoadedDecoder.kt │ │ ├── RegionLoadingDecoder.kt │ │ ├── ReportAbuseDecoder.kt │ │ ├── ResumeObjDialogueDecoder.kt │ │ ├── ScreenChangeDecoder.kt │ │ ├── SecondaryTeleportDecoder.kt │ │ ├── SongEndDecoder.kt │ │ ├── StringEntryDecoder.kt │ │ ├── ToolkitPreferencesDecoder.kt │ │ ├── UnknownDecoder.kt │ │ ├── WalkMapDecoder.kt │ │ ├── WalkMiniMapDecoder.kt │ │ ├── WindowClickDecoder.kt │ │ ├── WindowFocusDecoder.kt │ │ └── WorldMapClickDecoder.kt │ │ ├── encode │ │ ├── ByteArrayChannel.kt │ │ ├── CameraEncoders.kt │ │ ├── ChatEncoder.kt │ │ ├── ChatStatusEncoder.kt │ │ ├── ClanEncoder.kt │ │ ├── ContainerEncoders.kt │ │ ├── ContextMenuOptionEncoder.kt │ │ ├── FriendsEncoder.kt │ │ ├── IgnoreEncoder.kt │ │ ├── InterfaceEncoders.kt │ │ ├── LoginEncoder.kt │ │ ├── LogoutEncoder.kt │ │ ├── MapRegionEncoders.kt │ │ ├── MinimapEncoders.kt │ │ ├── NPCUpdateEncoder.kt │ │ ├── ObjectEncoders.kt │ │ ├── PlayerUpdateEncoder.kt │ │ ├── ProjectileEncoders.kt │ │ ├── RunEnergyEncoder.kt │ │ ├── ScriptEncoder.kt │ │ ├── SkillLevelEncoder.kt │ │ ├── SoundEncoder.kt │ │ ├── TextTileEncoder.kt │ │ ├── VarbitEncoder.kt │ │ ├── VarcEncoder.kt │ │ ├── VarcStrEncoder.kt │ │ ├── VarpEncoder.kt │ │ ├── WeightEncoder.kt │ │ ├── ZoneEncoders.kt │ │ ├── ZoneUpdateEncoders.kt │ │ └── zone │ │ │ ├── FloorItemAddition.kt │ │ │ ├── FloorItemRemoval.kt │ │ │ ├── FloorItemReveal.kt │ │ │ ├── FloorItemUpdate.kt │ │ │ ├── GraphicAddition.kt │ │ │ ├── MidiAddition.kt │ │ │ ├── ObjectAddition.kt │ │ │ ├── ObjectAnimation.kt │ │ │ ├── ObjectRemoval.kt │ │ │ ├── ProjectileAddition.kt │ │ │ ├── SoundAddition.kt │ │ │ └── ZoneUpdate.kt │ │ └── visual │ │ ├── NPCVisuals.kt │ │ ├── PlayerVisuals.kt │ │ ├── VisualEncoder.kt │ │ ├── VisualMask.kt │ │ ├── Visuals.kt │ │ ├── encode │ │ ├── SayEncoder.kt │ │ ├── WatchEncoder.kt │ │ ├── npc │ │ │ ├── NPCAnimationEncoder.kt │ │ │ ├── NPCColourOverlayEncoder.kt │ │ │ ├── NPCExactMovementEncoder.kt │ │ │ ├── NPCFaceEncoder.kt │ │ │ ├── NPCHitsEncoder.kt │ │ │ ├── NPCPrimaryGraphicEncoder.kt │ │ │ ├── NPCSecondaryGraphicEncoder.kt │ │ │ ├── NPCTimeBarEncoder.kt │ │ │ └── TransformEncoder.kt │ │ └── player │ │ │ ├── AppearanceEncoder.kt │ │ │ ├── MovementTypeEncoder.kt │ │ │ ├── PlayerAnimationEncoder.kt │ │ │ ├── PlayerColourOverlayEncoder.kt │ │ │ ├── PlayerExactMovementEncoder.kt │ │ │ ├── PlayerFaceEncoder.kt │ │ │ ├── PlayerHitsEncoder.kt │ │ │ ├── PlayerPrimaryGraphicEncoder.kt │ │ │ ├── PlayerSecondaryGraphicEncoder.kt │ │ │ ├── PlayerTimeBarEncoder.kt │ │ │ └── TemporaryMoveTypeEncoder.kt │ │ └── update │ │ ├── Animation.kt │ │ ├── ColourOverlay.kt │ │ ├── ExactMovement.kt │ │ ├── Face.kt │ │ ├── Graphic.kt │ │ ├── HitSplat.kt │ │ ├── Hits.kt │ │ ├── Say.kt │ │ ├── TimeBar.kt │ │ ├── Watch.kt │ │ ├── npc │ │ └── Transformation.kt │ │ └── player │ │ ├── Appearance.kt │ │ ├── Body.kt │ │ ├── BodyColour.kt │ │ ├── BodyPart.kt │ │ ├── EquipSlot.kt │ │ ├── MoveType.kt │ │ ├── MovementType.kt │ │ └── TemporaryMoveType.kt │ └── test │ ├── kotlin │ └── world │ │ └── gregs │ │ └── voidps │ │ └── network │ │ ├── FileServerTest.kt │ │ ├── GameServerTest.kt │ │ ├── LoginServerTest.kt │ │ ├── PasswordManagerTest.kt │ │ ├── client │ │ ├── ConnectionQueueTest.kt │ │ └── ConnectionTrackerTest.kt │ │ └── login │ │ └── protocol │ │ ├── DecoderTest.kt │ │ ├── EncodersTest.kt │ │ ├── JagExtensionsTest.kt │ │ └── visual │ │ └── VisualsTest.kt │ └── resources │ ├── decoder-packets.csv │ ├── encoder-packets.csv │ ├── encoder-zone-packets.csv │ └── huffman.csv ├── qodana.yaml ├── settings.gradle.kts ├── tools ├── build.gradle.kts └── src │ ├── main │ ├── kotlin │ │ └── world │ │ │ └── gregs │ │ │ └── voidps │ │ │ └── tools │ │ │ ├── AnimationDefinitions.kt │ │ │ ├── ClientScriptDefinitions.kt │ │ │ ├── DropTableDefinitions.kt │ │ │ ├── EnumDefinitions.kt │ │ │ ├── FontDefinitions.kt │ │ │ ├── GraphicDefinitions.kt │ │ │ ├── IdentityKitDefinitions.kt │ │ │ ├── InterfaceDefinitions.kt │ │ │ ├── InventoryDefinitions.kt │ │ │ ├── ItemDefinitions.kt │ │ │ ├── NPCDefinitions.kt │ │ │ ├── ObjectDefinitions.kt │ │ │ ├── OreIdentifier.kt │ │ │ ├── Pipeline.kt │ │ │ ├── QuestDefinitions.kt │ │ │ ├── QuickChatDefinitions.kt │ │ │ ├── RenderAnimationDefinitions.kt │ │ │ ├── StructDefinitions.kt │ │ │ ├── VarBitDefinitions.kt │ │ │ ├── WorldMapDefinitions.kt │ │ │ ├── WorldMapInfoDefinitions.kt │ │ │ ├── cache │ │ │ ├── CacheBuilder.kt │ │ │ ├── CopyCs2Script.kt │ │ │ ├── DumpEnums.kt │ │ │ ├── DumpMap.kt │ │ │ ├── DumpSprites.kt │ │ │ ├── DumpStructs.kt │ │ │ ├── DumpStyles.kt │ │ │ ├── HashCodeChecker.kt │ │ │ ├── HashCodeMatcher.kt │ │ │ ├── HashCodeVerify.kt │ │ │ ├── InterfaceModifier.kt │ │ │ ├── Keywords.kt │ │ │ ├── MoveCameraClientScript.kt │ │ │ ├── OpenRS2.kt │ │ │ ├── Permutations.kt │ │ │ ├── PrefetchKeyGeneration.kt │ │ │ ├── RemoveBzip2.kt │ │ │ ├── RemovePriceCheckerTradeLimit.kt │ │ │ ├── RemoveXteas.kt │ │ │ ├── ValidateMapObjects.kt │ │ │ └── Xteas.kt │ │ │ ├── convert │ │ │ ├── CheckToml.kt │ │ │ ├── DefinitionsParameterConverter.kt │ │ │ ├── DropTableConverter.kt │ │ │ ├── InterfaceDecoder718.kt │ │ │ ├── InventoryConverter.kt │ │ │ ├── ItemDecoder718.kt │ │ │ ├── NPCDecoder718.kt │ │ │ ├── NPCSpawnConverter.kt │ │ │ ├── ObjectDecoder718.kt │ │ │ ├── QuestDecoderRS3.kt │ │ │ ├── RS3QuestConverter.kt │ │ │ ├── SkillDataConverter.kt │ │ │ └── SpawnSorter.kt │ │ │ ├── definition │ │ │ ├── YamlInjector.kt │ │ │ ├── YamlPairObjectNames.kt │ │ │ ├── YamlSorter.kt │ │ │ ├── item │ │ │ │ ├── ItemDefinitionPatcher.kt │ │ │ │ ├── ItemDefinitionPipeline.kt │ │ │ │ ├── MoveInventoryDefinitions.kt │ │ │ │ └── pipe │ │ │ │ │ ├── extra │ │ │ │ │ ├── ItemDefaults.kt │ │ │ │ │ ├── ItemEquipmentInfo.kt │ │ │ │ │ ├── ItemManualChanges.kt │ │ │ │ │ ├── ItemNoted.kt │ │ │ │ │ ├── ItemTypes.kt │ │ │ │ │ └── wiki │ │ │ │ │ │ ├── InfoBoxConstruction.kt │ │ │ │ │ │ ├── InfoBoxItem.kt │ │ │ │ │ │ ├── InfoBoxMonster.kt │ │ │ │ │ │ ├── InfoBoxNPC.kt │ │ │ │ │ │ ├── InfoBoxPet.kt │ │ │ │ │ │ ├── ItemBonuses.kt │ │ │ │ │ │ ├── ItemExchangeLimits.kt │ │ │ │ │ │ └── ItemExchangePrices.kt │ │ │ │ │ └── page │ │ │ │ │ ├── LivePageCollector.kt │ │ │ │ │ ├── OfflinePageCollector.kt │ │ │ │ │ ├── PageCollector.kt │ │ │ │ │ └── UniqueIdentifiers.kt │ │ │ ├── npc │ │ │ │ ├── NPCDefinitionPipeline.kt │ │ │ │ └── pipe │ │ │ │ │ └── wiki │ │ │ │ │ ├── InfoBoxNPC.kt │ │ │ │ │ ├── NPCDefaults.kt │ │ │ │ │ └── NPCManualChanges.kt │ │ │ └── obj │ │ │ │ ├── ObjectDefinitionPipeline.kt │ │ │ │ └── pipe │ │ │ │ ├── ObjectDoorsGates.kt │ │ │ │ ├── ObjectManualChanges.kt │ │ │ │ ├── ObjectManualTreeChanges.kt │ │ │ │ ├── ObjectTrapdoors.kt │ │ │ │ └── RemoveNullEmptyExtras.kt │ │ │ ├── detail │ │ │ ├── AnimationNames.kt │ │ │ ├── GraphicNames.kt │ │ │ ├── InventoryNames.kt │ │ │ ├── NPCNames.kt │ │ │ └── NameDumper.kt │ │ │ ├── graph │ │ │ ├── MapGraph.kt │ │ │ ├── MapGraphLoader.kt │ │ │ ├── SmallTraversal.kt │ │ │ └── TileTraversalStrategy.kt │ │ │ ├── map │ │ │ ├── MapDecoder.kt │ │ │ ├── MapObjectDefinitionDecoder.kt │ │ │ ├── MapPacker.kt │ │ │ ├── MissingMapFinder.kt │ │ │ ├── obj │ │ │ │ ├── GameObjectOption.kt │ │ │ │ ├── ObjectIdentification.kt │ │ │ │ ├── ObjectIdentificationContext.kt │ │ │ │ ├── ObjectIdentifier.kt │ │ │ │ ├── ObjectLinker.kt │ │ │ │ ├── ObjectUsageFinder.kt │ │ │ │ ├── WorldMapDungeons.kt │ │ │ │ ├── WorldMapLinkIdentifier.kt │ │ │ │ ├── WorldMapLinks.kt │ │ │ │ └── types │ │ │ │ │ ├── Dungeon.kt │ │ │ │ │ ├── Ladder.kt │ │ │ │ │ ├── Objects.kt │ │ │ │ │ ├── Stair.kt │ │ │ │ │ └── Wall.kt │ │ │ ├── render │ │ │ │ ├── ExplvMapGenerator.kt │ │ │ │ ├── MapZoomImageGenerator.kt │ │ │ │ ├── Stitch.kt │ │ │ │ ├── WorldMapDumper.kt │ │ │ │ ├── draw │ │ │ │ │ ├── MinimapIconPainter.kt │ │ │ │ │ ├── ObjectPainter.kt │ │ │ │ │ ├── RegionRenderer.kt │ │ │ │ │ └── TileLevel.kt │ │ │ │ ├── load │ │ │ │ │ ├── MapConstants.kt │ │ │ │ │ ├── MapTileSettings.kt │ │ │ │ │ └── RegionManager.kt │ │ │ │ ├── model │ │ │ │ │ ├── TextureColours.kt │ │ │ │ │ └── TileColours.kt │ │ │ │ └── raster │ │ │ │ │ ├── ColourPalette.kt │ │ │ │ │ └── Raster.kt │ │ │ ├── view │ │ │ │ ├── MapViewer.kt │ │ │ │ ├── RegionLoader.kt │ │ │ │ ├── draw │ │ │ │ │ ├── AreaPointConnector.kt │ │ │ │ │ ├── GraphDrawer.kt │ │ │ │ │ ├── HighlightedArea.kt │ │ │ │ │ ├── HighlightedTile.kt │ │ │ │ │ ├── LinkConnector.kt │ │ │ │ │ ├── MapView.kt │ │ │ │ │ └── WorldMap.kt │ │ │ │ ├── graph │ │ │ │ │ ├── Area.kt │ │ │ │ │ ├── AreaSet.kt │ │ │ │ │ ├── Link.kt │ │ │ │ │ ├── MutableNavigationGraph.kt │ │ │ │ │ └── Point.kt │ │ │ │ ├── interact │ │ │ │ │ ├── MouseClick.kt │ │ │ │ │ ├── MouseDrag.kt │ │ │ │ │ ├── MouseHover.kt │ │ │ │ │ ├── MouseZoom.kt │ │ │ │ │ └── ResizeListener.kt │ │ │ │ └── ui │ │ │ │ │ ├── AreaPointSettings.kt │ │ │ │ │ ├── AreaSettings.kt │ │ │ │ │ ├── CoordinatesPane.kt │ │ │ │ │ ├── LinkSettings.kt │ │ │ │ │ ├── MutableListPane.kt │ │ │ │ │ ├── NodeSettings.kt │ │ │ │ │ └── OptionsPane.kt │ │ │ └── xtea │ │ │ │ ├── CacheMapDecryption.kt │ │ │ │ ├── XteaCrossReferencer.kt │ │ │ │ ├── XteaPacker.kt │ │ │ │ └── XteaValidator.kt │ │ │ ├── web │ │ │ ├── ArchiveSiteMirror.kt │ │ │ ├── LiveSiteMirror.kt │ │ │ └── UrlHandler.kt │ │ │ └── wiki │ │ │ ├── InfoBoxDumper.kt │ │ │ ├── ItemInfoBoxDumper.kt │ │ │ ├── MusicInfoBoxDumper.kt │ │ │ ├── NPCSpawnDumper.kt │ │ │ ├── RunescapeWikiPagesFullFilter.kt │ │ │ ├── RunescapeWikiPagesParser.kt │ │ │ ├── dialogue │ │ │ ├── Dialogue.kt │ │ │ ├── DialogueConverter.kt │ │ │ ├── DialogueParsing.kt │ │ │ └── DialogueProcessing.kt │ │ │ ├── model │ │ │ ├── Infobox.kt │ │ │ ├── Wiki.kt │ │ │ ├── WikiNamespace.kt │ │ │ ├── WikiPage.kt │ │ │ ├── WikiPageRevision.kt │ │ │ └── WikiPageTable.kt │ │ │ └── scrape │ │ │ ├── GrandExchangeDetailDumper.kt │ │ │ ├── GrandExchangeDetailParser.kt │ │ │ ├── MonsterInfoBoxDumper.kt │ │ │ ├── RunescapeWiki.kt │ │ │ ├── RunescapeWikiAutoExporter.kt │ │ │ ├── RunescapeWikiExporter.kt │ │ │ ├── RunescapeWikiMimeExporter.kt │ │ │ ├── RunescapeWikiModifier.kt │ │ │ ├── RunescapeWikiParser.kt │ │ │ ├── RunescapeWikiScraper.kt │ │ │ └── WebsiteScraper.kt │ └── resources │ │ └── keywords.txt │ └── test │ ├── kotlin │ └── world │ │ └── gregs │ │ └── voidps │ │ └── tools │ │ ├── MockkInline.kt │ │ ├── cache │ │ └── XteasTest.kt │ │ ├── graph │ │ └── MapGraphTest.kt │ │ ├── map │ │ ├── MapDecoderTest.kt │ │ └── process │ │ │ └── ObjectLinkerTest.kt │ │ └── web │ │ └── UrlHandlerTest.kt │ └── resources │ ├── logback-test.xml │ └── xteas │ ├── 123.dat │ ├── 123.txt │ ├── xteas-default.json │ └── xteas.json ├── types ├── build.gradle.kts └── src │ ├── main │ └── kotlin │ │ └── world │ │ └── gregs │ │ └── voidps │ │ └── type │ │ ├── Area.kt │ │ ├── Coordinate3D.kt │ │ ├── Delta.kt │ │ ├── Direction.kt │ │ ├── Distance.kt │ │ ├── Random.kt │ │ ├── Region.kt │ │ ├── RegionLevel.kt │ │ ├── Tile.kt │ │ ├── Zone.kt │ │ └── area │ │ ├── Cuboid.kt │ │ ├── Polygon.kt │ │ └── Rectangle.kt │ └── test │ └── kotlin │ └── world │ └── gregs │ └── voidps │ └── type │ ├── DeltaTest.kt │ ├── DistanceTest.kt │ ├── TileTest.kt │ ├── area │ ├── CuboidTest.kt │ ├── DistanceTest.kt │ ├── PolygonTest.kt │ ├── RectangleTest.kt │ └── WithinTest.kt │ ├── region │ ├── RegionLevelTest.kt │ └── RegionTest.kt │ └── zone │ └── ZoneTest.kt └── yaml ├── .gitignore ├── build.gradle.kts └── src ├── main └── kotlin │ └── world │ └── gregs │ └── yaml │ ├── CharReader.kt │ ├── CharWriter.kt │ ├── Yaml.kt │ ├── read │ ├── ExplicitCollectionReader.kt │ ├── NormalCollectionReader.kt │ ├── YamlReader.kt │ └── YamlReaderConfiguration.kt │ └── write │ ├── ExplicitCollectionWriter.kt │ ├── NormalCollectionWriter.kt │ ├── YamlWriter.kt │ └── YamlWriterConfiguration.kt └── test └── kotlin └── world └── gregs └── yaml ├── CharReaderTest.kt ├── YamlPerformanceTest.kt ├── read ├── ExplicitCollectionReaderTest.kt ├── NormalCollectionReaderFormatIT.kt ├── NormalCollectionReaderNestTest.kt ├── NormalCollectionReaderTest.kt ├── NormalCollectionReaderTypeIT.kt ├── YamlReaderAnchorTest.kt ├── YamlReaderScenarioTest.kt └── YamlReaderTest.kt └── write ├── ExplicitCollectionWriterTest.kt ├── NormalCollectionWriterTest.kt ├── YamlWriterScenarioTest.kt └── YamlWriterTest.kt /.dockerignore: -------------------------------------------------------------------------------- 1 | saves -------------------------------------------------------------------------------- /buffer/build.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencies { 2 | } -------------------------------------------------------------------------------- /cache/src/main/kotlin/world/gregs/voidps/cache/Definition.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.cache 2 | 3 | interface Definition { 4 | var id: Int 5 | } -------------------------------------------------------------------------------- /cache/src/main/kotlin/world/gregs/voidps/cache/config/ConfigEncoder.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.cache.config 2 | 3 | import world.gregs.voidps.cache.Definition 4 | import world.gregs.voidps.cache.DefinitionEncoder 5 | 6 | abstract class ConfigEncoder : DefinitionEncoder -------------------------------------------------------------------------------- /cache/src/main/kotlin/world/gregs/voidps/cache/definition/data/InterfaceComponentSetting.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.cache.definition.data 2 | 3 | data class InterfaceComponentSetting(var setting: Int, var anInt7413: Int) -------------------------------------------------------------------------------- /cache/src/main/kotlin/world/gregs/voidps/cache/definition/data/WorldMapIcon.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.cache.definition.data 2 | 3 | data class WorldMapIcon( 4 | var id: Int = -1, 5 | var position: Int = -1 6 | ) -------------------------------------------------------------------------------- /config/build.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation("net.pearx.kasechange:kasechange:${findProperty("kaseChangeVersion")}") 3 | implementation("it.unimi.dsi:fastutil:${findProperty("fastUtilVersion")}") 4 | 5 | testImplementation("io.mockk:mockk:${findProperty("mockkVersion")}") 6 | } -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/array-comma-less.toml: -------------------------------------------------------------------------------- 1 | integers = [ 1 2 3 4 5 ] -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/array-commas.toml: -------------------------------------------------------------------------------- 1 | integers = [ 1, 2, , 4, 5] -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/array-of-tables.toml: -------------------------------------------------------------------------------- 1 | # INVALID 2 | [[fruit]] # parser must throw an error 3 | # 4 | name = "apple" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/array-space-less.toml: -------------------------------------------------------------------------------- 1 | mixed = [ 123"four"5"six" ] -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/invalid-float-infix.toml: -------------------------------------------------------------------------------- 1 | invalid_float_3 = 3.e+20 -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/invalid-float-prefix.toml: -------------------------------------------------------------------------------- 1 | # INVALID FLOATS 2 | invalid_float_1 = .7 -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/invalid-float-suffix.toml: -------------------------------------------------------------------------------- 1 | invalid_float_2 = 7. 2 | # Invalid -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/map-comma-less.toml: -------------------------------------------------------------------------------- 1 | map = {one = 1 two = 2} -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/map-space-less.toml: -------------------------------------------------------------------------------- 1 | mixed = {one=123two="four"} -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/missing-key.toml: -------------------------------------------------------------------------------- 1 | = "no key name" # INVALID -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/missing-value.toml: -------------------------------------------------------------------------------- 1 | key = # INVALID -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/invalid/whitespace-in-key.toml: -------------------------------------------------------------------------------- 1 | fruit. color = "yellow" # invalid -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/multi-sections.toml: -------------------------------------------------------------------------------- 1 | one = 1 2 | 3 | [section-1] 4 | two = 2 5 | three = 3 6 | 7 | [section-2] 8 | four = "four" 9 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/next-line.toml: -------------------------------------------------------------------------------- 1 | # These are comments # 2 | 3 | 4 | # new lines 5 | 6 | # spaces 7 | 8 | # tabs -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/root-pairs.toml: -------------------------------------------------------------------------------- 1 | key = "value" 2 | number = 3.14 3 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/array-comma-only.toml: -------------------------------------------------------------------------------- 1 | integers = [1,2,3,4,5] -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/array-comma-only.txt: -------------------------------------------------------------------------------- 1 | [] integers[0] = 1 2 | [] integers[1] = 2 3 | [] integers[2] = 3 4 | [] integers[3] = 4 5 | [] integers[4] = 5 6 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/bare-keys.toml: -------------------------------------------------------------------------------- 1 | key = "value" 2 | bare_key = "value" 3 | bare-key = "value" 4 | 1234 = "value" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/bare-keys.txt: -------------------------------------------------------------------------------- 1 | [] key = "value" 2 | [] bare_key = "value" 3 | [] bare-key = "value" 4 | [] 1234 = "value" 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/basic-string-newline.toml: -------------------------------------------------------------------------------- 1 | # On a Unix system, the above multi-line string will most likely be the same as: 2 | str2 = "Roses are red\nViolets are blue" 3 | 4 | # On a Windows system, it will most likely be equivalent to: 5 | str3 = "Roses are red\r\nViolets are blue" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/basic-string-newline.txt: -------------------------------------------------------------------------------- 1 | [] str2 = "Roses are red\nViolets are blue" 2 | [] str3 = "Roses are red\r\nViolets are blue" 3 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/basic-string.toml: -------------------------------------------------------------------------------- 1 | str = "I'm a string. \"You can quote me\". Name\tJos\u00E9\nLocation\tSF." -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/basic-string.txt: -------------------------------------------------------------------------------- 1 | [] str = "I'm a string. "You can quote me". Name\tJos\u00E9\nLocation\tSF." 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/booleans.toml: -------------------------------------------------------------------------------- 1 | bool1 = true 2 | bool2 = false -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/booleans.txt: -------------------------------------------------------------------------------- 1 | [] bool1 = true 2 | [] bool2 = false 3 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/comment.toml: -------------------------------------------------------------------------------- 1 | # This is a full-line comment 2 | key = "value" # This is a comment at the end of a line 3 | another = "# This is not a comment" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/comment.txt: -------------------------------------------------------------------------------- 1 | [] key = "value" 2 | [] another = "# This is not a comment" 3 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/dotted-float.toml: -------------------------------------------------------------------------------- 1 | 3.14159 = "pi" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/dotted-float.txt: -------------------------------------------------------------------------------- 1 | [] 3.14159 = "pi" 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/dotted-keys.toml: -------------------------------------------------------------------------------- 1 | name = "Orange" 2 | physical.color = "orange" 3 | physical.shape = "round" 4 | site."google.com" = true -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/dotted-keys.txt: -------------------------------------------------------------------------------- 1 | [] name = "Orange" 2 | [] physical.color = "orange" 3 | [] physical.shape = "round" 4 | [] site."google.com" = true 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/float-underscores.toml: -------------------------------------------------------------------------------- 1 | flt8 = 224_617.445_991_228 -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/float-underscores.txt: -------------------------------------------------------------------------------- 1 | [] flt8 = 224617.445991228 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/floats.toml: -------------------------------------------------------------------------------- 1 | # fractional 2 | flt1 = +1.0 3 | flt2 = 3.1415 4 | flt3 = -0.01 -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/floats.txt: -------------------------------------------------------------------------------- 1 | [] flt1 = 1.0 2 | [] flt2 = 3.1415 3 | [] flt3 = -0.01 4 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/inline-map.toml: -------------------------------------------------------------------------------- 1 | name = { first = "Tom", last = "Preston-Werner" } 2 | point = { x = 1, y = 2 } 3 | animal = { type.name = "pug" } -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/inline-map.txt: -------------------------------------------------------------------------------- 1 | [] name["first"] = "Tom" 2 | [] name["last"] = "Preston-Werner" 3 | [] point["x"] = 1 4 | [] point["y"] = 2 5 | [] animal["type.name"] = "pug" 6 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/integers.toml: -------------------------------------------------------------------------------- 1 | int1 = +99 2 | int2 = 42 3 | int3 = 0 4 | int4 = -17 -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/integers.txt: -------------------------------------------------------------------------------- 1 | [] int1 = 99 2 | [] int2 = 42 3 | [] int3 = 0 4 | [] int4 = -17 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/key-value-pair.toml: -------------------------------------------------------------------------------- 1 | key = "value" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/key-value-pair.txt: -------------------------------------------------------------------------------- 1 | [] key = "value" 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/large-numbers.toml: -------------------------------------------------------------------------------- 1 | int5 = 1_000 2 | int6 = 5_349_221 3 | int7 = 53_49_221 # Indian number system grouping 4 | int8 = 1_2_3_4_5 # VALID but discouraged -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/large-numbers.txt: -------------------------------------------------------------------------------- 1 | [] int5 = 1000 2 | [] int6 = 5349221 3 | [] int7 = 5349221 4 | [] int8 = 12345 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/literal-strings.toml: -------------------------------------------------------------------------------- 1 | # What you see is what you get. 2 | winpath = 'C:\Users\nodejs\templates' 3 | winpath2 = '\\ServerX\admin$\system32\' 4 | quoted = 'Tom "Dubs" Preston-Werner' 5 | regex = '<\i\c*\s*>' -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/literal-strings.txt: -------------------------------------------------------------------------------- 1 | [] winpath = "C:\Users\nodejs\templates" 2 | [] winpath2 = "\\ServerX\admin$\system32\" 3 | [] quoted = "Tom "Dubs" Preston-Werner" 4 | [] regex = "<\i\c*\s*>" 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/map-comma-only.toml: -------------------------------------------------------------------------------- 1 | comma = {one=1,two=2} -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/map-comma-only.txt: -------------------------------------------------------------------------------- 1 | [] comma["one"] = 1 2 | [] comma["two"] = 2 3 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/multi-line-arrays.toml: -------------------------------------------------------------------------------- 1 | integers2 = [ 2 | 1, 2, 3 3 | ] 4 | 5 | integers3 = [ 6 | 1, 7 | 2, # this is ok 8 | ] -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/multi-line-arrays.txt: -------------------------------------------------------------------------------- 1 | [] integers2[0] = 1 2 | [] integers2[1] = 2 3 | [] integers2[2] = 3 4 | [] integers3[0] = 1 5 | [] integers3[1] = 2 6 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/multi-line-maps.toml: -------------------------------------------------------------------------------- 1 | points = [ 2 | { x = 1, y = 2, z = 3 }, 3 | { x = 7, y = 8, z = 9 }, 4 | { x = 2, y = 4, z = 8 }, # this is okay 5 | ] -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/multi-line-maps.txt: -------------------------------------------------------------------------------- 1 | [] points[0]["x"] = 1 2 | [] points[0]["y"] = 2 3 | [] points[0]["z"] = 3 4 | [] points[1]["x"] = 7 5 | [] points[1]["y"] = 8 6 | [] points[1]["z"] = 9 7 | [] points[2]["x"] = 2 8 | [] points[2]["y"] = 4 9 | [] points[2]["z"] = 8 10 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/nested-inline-map-array.toml: -------------------------------------------------------------------------------- 1 | songs = [ 2 | { 3 | title = "Here comes the Sun", 4 | year = 1969 5 | }, 6 | { 7 | title = "Can't Help Falling in Love", 8 | year = 1961 9 | } 10 | ] -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/nested-inline-map-array.txt: -------------------------------------------------------------------------------- 1 | [] songs[0]["title"] = "Here comes the Sun" 2 | [] songs[0]["year"] = 1969 3 | [] songs[1]["title"] = "Can't Help Falling in Love" 4 | [] songs[1]["year"] = 1961 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/quoted-keys.toml: -------------------------------------------------------------------------------- 1 | "127.0.0.1" = "value" 2 | "character encoding" = "value" 3 | "ʎǝʞ" = "value" 4 | 'key2' = "value" 5 | 'quoted "value"' = "value" 6 | "" = "blank" # VALID but discouraged -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/quoted-keys.txt: -------------------------------------------------------------------------------- 1 | [] 127.0.0.1 = "value" 2 | [] character encoding = "value" 3 | [] ʎǝʞ = "value" 4 | [] key2 = "value" 5 | [] quoted "value" = "value" 6 | [] = "blank" 7 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/redefined-tables.toml: -------------------------------------------------------------------------------- 1 | [fruit] 2 | apple = "red" 3 | 4 | [fruit] 5 | orange = "orange" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/redefined-tables.txt: -------------------------------------------------------------------------------- 1 | [fruit] apple = "red" 2 | [fruit] orange = "orange" 3 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/root-section.toml: -------------------------------------------------------------------------------- 1 | # Top-level table begins. 2 | name = "Fido" 3 | breed = "pug" 4 | 5 | # Top-level table ends. 6 | [owner] 7 | name = "Regina Dogman" 8 | member_since = "1999-08-04" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/root-section.txt: -------------------------------------------------------------------------------- 1 | [] name = "Fido" 2 | [] breed = "pug" 3 | [owner] name = "Regina Dogman" 4 | [owner] member_since = "1999-08-04" 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-headers.toml: -------------------------------------------------------------------------------- 1 | [table-1] 2 | key1 = "some string" 3 | key2 = 123 4 | 5 | [table-2] 6 | key1 = "another string" 7 | key2 = 456 -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-headers.txt: -------------------------------------------------------------------------------- 1 | [table-1] key1 = "some string" 2 | [table-1] key2 = 123 3 | [table-2] key1 = "another string" 4 | [table-2] key2 = 456 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-indentation.toml: -------------------------------------------------------------------------------- 1 | [x] 2 | a = 0 3 | [x.y] 4 | b = 1 5 | [x.y.z] 6 | c = 2 7 | [x.y.z.w] 8 | d = 3 9 | [x] 10 | e = 4 11 | f = 5 -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-indentation.txt: -------------------------------------------------------------------------------- 1 | [x] a = 0 2 | [x.y] b = 1 3 | [x.y.z] c = 2 4 | [x.y.z.w] d = 3 5 | [x] e = 4 6 | [x] f = 5 7 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-inheritance.txt: -------------------------------------------------------------------------------- 1 | [fruits] name = "apple" 2 | [fruits.physical] color = "red" 3 | [fruits.physical] shape = "round" 4 | [fruits.varieties] name = "granny smith" 5 | [fruits] name = "banana" 6 | [fruits.varieties] name = "plantain" 7 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-names.toml: -------------------------------------------------------------------------------- 1 | [dog."tater.man"] 2 | type.name = "pug" -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-names.txt: -------------------------------------------------------------------------------- 1 | [dog."tater.man"] type.name = "pug" 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-redefine.toml: -------------------------------------------------------------------------------- 1 | [fruit] 2 | apple.color = "red" 3 | apple.taste.sweet = true 4 | 5 | [fruit.apple] # Allowed 6 | [fruit.apple.taste] # Allowed -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-redefine.txt: -------------------------------------------------------------------------------- 1 | [fruit] apple.color = "red" 2 | [fruit] apple.taste.sweet = true 3 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-whitespace.toml: -------------------------------------------------------------------------------- 1 | [a.b.c] 2 | a = 1 3 | [ d.e.f ] 4 | b = 2 5 | [ g . h . i ] 6 | c = 3 7 | [ j . "ʞ" . 'l' ] 8 | d = 4 -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section-whitespace.txt: -------------------------------------------------------------------------------- 1 | [a.b.c] a = 1 2 | [ d.e.f ] b = 2 3 | [ g . h . i ] c = 3 4 | [ j . "ʞ" . 'l' ] d = 4 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section.toml: -------------------------------------------------------------------------------- 1 | [table] -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/section.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GregHib/void/72dec94db8898fafca7c2d64cd3f01deac9031c3/config/src/test/resources/world/gregs/config/read/valid/section.txt -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/unrelated-dotted-keys.toml: -------------------------------------------------------------------------------- 1 | [product] 2 | type = { name = "Nail" } 3 | type.edible = false -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/read/valid/unrelated-dotted-keys.txt: -------------------------------------------------------------------------------- 1 | [product] type["name"] = "Nail" 2 | [product] type.edible = false 3 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/boolean-value.toml: -------------------------------------------------------------------------------- 1 | key = true 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/double-value.toml: -------------------------------------------------------------------------------- 1 | key = 12.34 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/inline-array.toml: -------------------------------------------------------------------------------- 1 | list = ["one", "two", "three"] 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/inline-map.toml: -------------------------------------------------------------------------------- 1 | [map] 2 | one = 1 3 | two = 2 4 | three = 3 5 | four = 4 6 | 7 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/key-value-pair.toml: -------------------------------------------------------------------------------- 1 | key = "value" 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/multiple-sections.toml: -------------------------------------------------------------------------------- 1 | [server] 2 | ip = "127.0.0.1" 3 | 4 | [database] 5 | port = 8000 6 | 7 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/multiple-values-in-a-section.toml: -------------------------------------------------------------------------------- 1 | [dogs] 2 | name = "Fido" 3 | breed = "pug" 4 | 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/nested-list-of-maps.toml: -------------------------------------------------------------------------------- 1 | lists = [{host = "alpha", enabled = true}, {host = "beta", enabled = false}] 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/nested-lists.toml: -------------------------------------------------------------------------------- 1 | lists = [[1, 2, 3], ["one", "two", "three"]] 2 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/nested-map-of-lists.toml: -------------------------------------------------------------------------------- 1 | [lists] 2 | one = [1, "un", "eins"] 3 | two = [2, "duex", "zwei"] 4 | 5 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/nested-maps.toml: -------------------------------------------------------------------------------- 1 | [lists] 2 | one = {name = "one", number = 1} 3 | two = {name = "two", number = 2} 4 | -------------------------------------------------------------------------------- /config/src/test/resources/world/gregs/config/write/valid/number-value.toml: -------------------------------------------------------------------------------- 1 | key = 1234 2 | -------------------------------------------------------------------------------- /data/achievement/achievement_task.varps.toml: -------------------------------------------------------------------------------- 1 | [task_reward_items] 2 | id = 1959 3 | format = "bitwise" 4 | persist = true 5 | values = [ "magic_staff", "red_dye" ] 6 | -------------------------------------------------------------------------------- /data/activity/circus/circus.ifaces.toml: -------------------------------------------------------------------------------- 1 | [circus_side] 2 | id = 784 3 | 4 | [circus_rewards] 5 | id = 785 6 | -------------------------------------------------------------------------------- /data/activity/circus/circus.varbits.toml: -------------------------------------------------------------------------------- 1 | [circus_magic] 2 | id = 5251 3 | format = "boolean" 4 | persist = true 5 | 6 | [circus_agility] 7 | id = 5252 8 | format = "boolean" 9 | persist = true 10 | 11 | [circus_ranged] 12 | id = 5253 13 | format = "boolean" 14 | persist = true 15 | -------------------------------------------------------------------------------- /data/activity/event/christmas/christmas.gfx.toml: -------------------------------------------------------------------------------- 1 | [heimland_games_souvenir] 2 | id = 1283 3 | 4 | [bouquet] 5 | id = 1343 6 | 7 | [jack_frost] 8 | id = 1971 9 | -------------------------------------------------------------------------------- /data/activity/event/christmas/christmas.jingles.toml: -------------------------------------------------------------------------------- 1 | [christmas_shanty_claws] 2 | id = 237 3 | -------------------------------------------------------------------------------- /data/activity/event/easter/easter.anims.toml: -------------------------------------------------------------------------------- 1 | [rubber_chicken_whack] 2 | id = 1833 3 | ticks = 2 4 | walk = false 5 | run = false 6 | 7 | [easter_carrot_whack] 8 | id = 11547 9 | ticks = 2 10 | walk = false 11 | run = false 12 | -------------------------------------------------------------------------------- /data/activity/event/easter/easter.jingles.toml: -------------------------------------------------------------------------------- 1 | [easter_scape_scrambled] 2 | id = 99 3 | 4 | [easter_event_complete] 5 | id = 249 6 | 7 | [easter_first_task_complete] 8 | id = 250 9 | -------------------------------------------------------------------------------- /data/activity/event/halloween/halloween.anims.toml: -------------------------------------------------------------------------------- 1 | [play_with_eek] 2 | id = 12490 3 | ticks = 6 4 | walk = false 5 | run = false 6 | -------------------------------------------------------------------------------- /data/activity/event/halloween/halloween.gfxs.toml: -------------------------------------------------------------------------------- 1 | [play_with_eek] 2 | id = 2178 3 | -------------------------------------------------------------------------------- /data/activity/event/random/pillory.shops.toml: -------------------------------------------------------------------------------- 1 | [pelters_veg_stall] 2 | id = 135 3 | defaults = [ 4 | { id = "rotten_tomato", amount = 100 }, 5 | ] 6 | -------------------------------------------------------------------------------- /data/activity/event/spring.items.toml: -------------------------------------------------------------------------------- 1 | [lily_of_the_valley] 2 | id = 14742 3 | tradeable = false 4 | weight = 0.001 5 | slot = "Weapon" 6 | destroy = "I can pick more from just about everywhere." 7 | examine = "A little and fragrant, bell-shaped spring flower. It will vanish with the next update." 8 | kept = "Vanish" 9 | -------------------------------------------------------------------------------- /data/activity/evil_tree/evil_tree.gfx.toml: -------------------------------------------------------------------------------- 1 | [fire] 2 | id = 2136 3 | 4 | [evil_root] 5 | id = 314 6 | -------------------------------------------------------------------------------- /data/activity/evil_tree/evil_tree.items.toml: -------------------------------------------------------------------------------- 1 | [evil_tree_kindling] 2 | id = 14666 3 | tradeable = false 4 | examine = "Kindling from an evil tree's root." 5 | kept = "Reclaim" 6 | -------------------------------------------------------------------------------- /data/activity/evil_tree/evil_tree.varbits.toml: -------------------------------------------------------------------------------- 1 | [nurture_evil_tree_stage] 2 | id = 1545 3 | format = "boolean" 4 | persist = true 5 | -------------------------------------------------------------------------------- /data/activity/penguin_hide_and_seek/penguin_hide_and_seek.items.toml: -------------------------------------------------------------------------------- 1 | [spy_notebook] 2 | id = 13732 3 | tradeable = false 4 | weight = 1.0 5 | destroy = "You will need to speak with Larry/Chuck at Ardougne Zoo to get another." 6 | examine = "Notes on the locations of penguin spies." 7 | kept = "Vanish" 8 | -------------------------------------------------------------------------------- /data/activity/shooting_star/shooting_star.items.toml: -------------------------------------------------------------------------------- 1 | [stardust] 2 | id = 13727 3 | tradeable = false 4 | mining = { xp = 80.0, chance_min = 10, chance_max = 75 } 5 | destroy = "You can mine more if you find another crashed star." 6 | examine = "Small, shiny bits of rock." 7 | kept = "Wilderness" 8 | -------------------------------------------------------------------------------- /data/activity/shooting_star/shooting_star.jingles.toml: -------------------------------------------------------------------------------- 1 | [shooting_star_discovered] 2 | id = 344 3 | -------------------------------------------------------------------------------- /data/activity/shooting_star/shooting_star.npcs.toml: -------------------------------------------------------------------------------- 1 | [star_sprite] 2 | id = 8091 3 | examine = "A shiny, happy star sprite." 4 | 5 | [shooting_star_shadow] 6 | id = 8092 7 | examine = "The shadow of a shooting star" 8 | -------------------------------------------------------------------------------- /data/activity/shooting_star/shooting_star.vars.toml: -------------------------------------------------------------------------------- 1 | [shooting_star_bonus_ore] 2 | format = "int" 3 | default = 0 4 | persist = true 5 | -------------------------------------------------------------------------------- /data/area/asgarnia/burthorpe/burthorpe.areas.toml: -------------------------------------------------------------------------------- 1 | [burthorpe_multi_area] 2 | x = [2880, 2903] 3 | y = [3520, 3543] 4 | level = 0 5 | tags = ["multi_combat"] 6 | 7 | [burthorpe_teleport] 8 | x = [2205, 2206] 9 | y = [4937, 4938] 10 | tags = ["teleport"] 11 | -------------------------------------------------------------------------------- /data/area/asgarnia/burthorpe/heroes_guild/heroes_guild.objs.toml: -------------------------------------------------------------------------------- 1 | [fountain_of_heroes] 2 | id = 36695 3 | examine = "A source of pure water." 4 | -------------------------------------------------------------------------------- /data/area/asgarnia/dwarven_mines/dwarven_mine.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 12185 3 | { id = "rat", x = 3026, y = 9837, members = true }, 4 | { id = "rat", x = 3033, y = 9827, members = true }, 5 | { id = "rat", x = 3042, y = 9818, members = true }, 6 | { id = "rat", x = 3043, y = 9815, members = true }, 7 | ] -------------------------------------------------------------------------------- /data/area/asgarnia/dwarven_mines/living_rock_cavern.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_living_rock_cavern] 2 | id = 18491 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/asgarnia/entrana/entrana.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11316 3 | { id = "chicken", x = 2846, y = 3374, members = true }, 4 | { id = "chicken", x = 2852, y = 3370, members = true }, 5 | { id = "chicken", x = 2850, y = 3368, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/area/asgarnia/entrana/entrana.objs.toml: -------------------------------------------------------------------------------- 1 | [candles_entrana] 2 | id = 19127 3 | examine = "Lit to remember the souls of the departed." 4 | -------------------------------------------------------------------------------- /data/area/asgarnia/entrana/entrana.teles.toml: -------------------------------------------------------------------------------- 1 | # 11316 entrana 2 | [basic_ladder_up] 3 | option = "Climb-up" 4 | tile = { x = 2547, y = 9951 } 5 | delta = { y = -6400 } 6 | 7 | -------------------------------------------------------------------------------- /data/area/asgarnia/falador/falador.items.toml: -------------------------------------------------------------------------------- 1 | [yin_yang_amulet] 2 | id = 7803 3 | tradeable = false 4 | weight = 0.001 5 | slot = "Amulet" 6 | examine = "A non-magical copy of the make-over mage's amulet." 7 | kept = "Reclaim" 8 | -------------------------------------------------------------------------------- /data/area/asgarnia/falador/party_room/party_room.ifaces.toml: -------------------------------------------------------------------------------- 1 | [party_room_side] 2 | id = 648 3 | 4 | [party_room_dropping] 5 | id = 647 6 | -------------------------------------------------------------------------------- /data/area/asgarnia/mudskipper_point/asgarnian_ice_dungeon/asgarnian_ice_dungeon.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11925 3 | { id = "coins", x = 2987, y = 9583, delay = 100 }, 4 | { id = "coins", x = 2988, y = 9582, delay = 100 }, 5 | { id = "coins", x = 2988, y = 9584, delay = 100 }, 6 | ] -------------------------------------------------------------------------------- /data/area/asgarnia/mudskipper_point/asgarnian_ice_dungeon/asgarnian_ice_dungeon.objs.toml: -------------------------------------------------------------------------------- 1 | [ice_dungeon_wyvern_cave_exit] 2 | id = 33173 3 | examine = "The bank teller will serve you from here." 4 | 5 | [ice_dungeon_wyvern_cave_enter] 6 | id = 33174 7 | examine = "The bank teller will serve you from here." 8 | 9 | -------------------------------------------------------------------------------- /data/area/asgarnia/mudskipper_point/mudskipper_point.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11825 3 | { id = "a_pile_of_broken_glass", x = 2981, y = 3190 }, 4 | { id = "thurgo", x = 3001, y = 3144 }, 5 | ] -------------------------------------------------------------------------------- /data/area/asgarnia/mudskipper_point/mudskipper_point.npcs.toml: -------------------------------------------------------------------------------- 1 | [a_pile_of_broken_glass] 2 | id = 2800 3 | examine = "It looks like some broken bottles" 4 | -------------------------------------------------------------------------------- /data/area/asgarnia/port_sarim/port_sarim.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 12082 3 | { id = "white_apron_port_sarim", x = 3016, y = 3229, delay = 100 }, 4 | ] -------------------------------------------------------------------------------- /data/area/asgarnia/port_sarim/port_sarim.npcs.toml: -------------------------------------------------------------------------------- 1 | [port_sarim_guard_sleeping] 2 | id = 2704 3 | categories = ["human"] 4 | examine = "He's asleep." 5 | 6 | [port_sarim_guard_6] 7 | id = 2705 8 | categories = ["human"] 9 | examine = "Keeping an eye out for suspicious activity." 10 | -------------------------------------------------------------------------------- /data/area/asgarnia/port_sarim/port_sarim.obj-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | { id = "chair_139", x = 3019, y = 3184, type = 10, rotation = 1 }, 3 | { id = "table_port_sarim", x = 3018, y = 3184, type = 10, rotation = 1 }, 4 | ] -------------------------------------------------------------------------------- /data/area/asgarnia/rimmington/melzars_maze/melzars_maze.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11670 3 | { id = "rat", x = 2921, y = 9653 }, 4 | { id = "rat", x = 2936, y = 9648 }, 5 | { id = "rat", x = 2923, y = 9639 }, 6 | { id = "lesser_demon_melzars_maze", x = 2936, y = 9650 }, 7 | ] -------------------------------------------------------------------------------- /data/area/asgarnia/taverley/dungeon/taverley_dungeon.objs.toml: -------------------------------------------------------------------------------- 1 | [suit_of_armour] 2 | id = 32292 3 | examine = "A dusty old suit of armour." 4 | -------------------------------------------------------------------------------- /data/area/asgarnia/taverley/dungeon/taverley_dungeon.teles.toml: -------------------------------------------------------------------------------- 1 | # 11673 taverley_dungeon 2 | [25038] 3 | option = "Climb-up" 4 | tile = { x = 2928, y = 9658 } 5 | delta = { y = -6400 } 6 | 7 | -------------------------------------------------------------------------------- /data/area/asgarnia/taverley/taverley.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11573 3 | { id = "sanfew", x = 2897, y = 3426, level = 1, members = true }, 4 | { id = "pikkupstix_spawn", x = 2925, y = 3443 }, 5 | { id = "pikkupstix_spawn_2", x = 2925, y = 3443 }, 6 | ] -------------------------------------------------------------------------------- /data/area/asgarnia/white_wolf_mountain/white_wolf_mountain.areas.toml: -------------------------------------------------------------------------------- 1 | [white_wolf_mountain_multi_area] 2 | x = [2816, 2879] 3 | y = [3456, 3519] 4 | level = 0 5 | tags = ["multi_combat"] 6 | 7 | [white_wolf_mountain_ice_queen_multi_area] 8 | x = [2856, 2879] 9 | y = [9928, 9967] 10 | tags = ["multi_combat"] 11 | -------------------------------------------------------------------------------- /data/area/fremennik_province/iceberg/penguin_hunter_area.shops.toml: -------------------------------------------------------------------------------- 1 | [ruined_boat] 2 | id = 464 3 | defaults = [ 4 | { id = "driftwood_hunter", amount = 150 }, 5 | { id = "rope", amount = 120 }, 6 | { id = "small_fishing_net", amount = 120 }, 7 | { id = "knife", amount = 100 }, 8 | ] 9 | -------------------------------------------------------------------------------- /data/area/fremennik_province/keldagrim/keldagrim.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11423 3 | { id = "banker_keldagrim", x = 2836, y = 10205, direction = "NORTH", members = true }, 4 | { id = "banker_keldagrim_2", x = 2838, y = 10205, direction = "NORTH", members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/fremennik_province/keldagrim/keldagrim.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_keldagrim] 2 | id = 6084 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/fremennik_province/lighthouse/lighthouse.areas.toml: -------------------------------------------------------------------------------- 1 | [lighthouse_dungeon_multi_area] 2 | x = [2496, 2559] 3 | y = [9984, 10047] 4 | tags = ["multi_combat"] 5 | 6 | [dagannoth_kings_multi_area] 7 | x = [2880, 2943] 8 | y = [4416, 4479] 9 | tags = ["multi_combat"] 10 | -------------------------------------------------------------------------------- /data/area/fremennik_province/lunar_isle/lunar_isle.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 8508 3 | { id = "rat", x = 2130, y = 3899, level = 1, members = true }, 4 | { id = "rat", x = 2117, y = 3887, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/fremennik_province/lunar_isle/lunar_isle.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_lunar_isle] 2 | id = 16700 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/fremennik_province/miscellania/miscellania.areas.toml: -------------------------------------------------------------------------------- 1 | [miscellania_teleport] 2 | x = [2511, 2515] 3 | y = [3856, 3860] 4 | tags = ["teleport", "scroll"] 5 | -------------------------------------------------------------------------------- /data/area/fremennik_province/miscellania/miscellania.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10044 3 | { id = "musician_miscellania", x = 2536, y = 3861, direction = "NORTH", members = true }, 4 | # 10300 5 | { id = "banker_etceteria", x = 2621, y = 3895, direction = "WEST", members = true }, 6 | ] -------------------------------------------------------------------------------- /data/area/fremennik_province/neitiznot/neitiznot.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9275 3 | { id = "thakkrad_sigmundson", x = 2334, y = 3798, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/fremennik_province/neitiznot/neitiznot.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_chest_neitiznot] 2 | id = 21301 3 | examine = "An open bank chest." 4 | -------------------------------------------------------------------------------- /data/area/fremennik_province/pirates_cove.areas.toml: -------------------------------------------------------------------------------- 1 | [pirates_cove_multi_area] 2 | x = [2176, 2239] 3 | y = [3776, 3839] 4 | level = 0 5 | tags = ["multi_combat"] 6 | -------------------------------------------------------------------------------- /data/area/fremennik_province/rellekka/rellekka.areas.toml: -------------------------------------------------------------------------------- 1 | [rellekka_multi_area] 2 | x = [2656, 2704, 2704, 2712, 2712, 2736, 2736, 2656] 3 | y = [3736, 3736, 3728, 3728, 3736, 3736, 3712, 3712] 4 | level = 0 5 | tags = ["multi_combat"] 6 | -------------------------------------------------------------------------------- /data/area/fremennik_province/rellekka/rellekka.npcs.toml: -------------------------------------------------------------------------------- 1 | [yrsa] 2 | id = 1301 3 | categories = ["human"] 4 | wander_radius = 2 5 | shop = "yrsas_shoe_store" 6 | examine = "Pretty shabbily dressed for a clothes shop owner." 7 | -------------------------------------------------------------------------------- /data/area/fremennik_province/rellekka/rellekka.objs.toml: -------------------------------------------------------------------------------- 1 | [pottery_oven_rellekka] 2 | id = 4308 3 | examine = "Bake your clay items in here." 4 | -------------------------------------------------------------------------------- /data/area/fremennik_province/rellekka/rellekka_hunter_area.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13636 3 | { id = "a_scrap_of_paper", x = 3428, y = 4403, delay = 10, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/fremennik_province/waterbirth_island/waterbirth_island.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | { id = "hobgoblin_unarmed", x = 2503, y = 3730, members = true }, 3 | { id = "hobgoblin_unarmed", x = 2526, y = 3739, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/ancient_cavern/ancient_cavern.areas.toml: -------------------------------------------------------------------------------- 1 | [kuradals_dungeon] 2 | x = [1600, 1663] 3 | y = [5248, 5311] 4 | -------------------------------------------------------------------------------- /data/area/kandarin/ape_atoll/ape_atoll.gfx.toml: -------------------------------------------------------------------------------- 1 | [monkey_transform] 2 | id = 359 3 | 4 | [big_splash] 5 | id = 68 6 | -------------------------------------------------------------------------------- /data/area/kandarin/ape_atoll/ape_atoll.teles.toml: -------------------------------------------------------------------------------- 1 | # 11050 ape_atoll 2 | [trapdoor_91_opened] 3 | option = "Climb-down" 4 | tile = { x = 2998, y = 3453 } 5 | delta = { x = -2, y = 6393 } 6 | 7 | [ape_atoll_hole] 8 | option = "Enter" 9 | tile = { x = 2758, y = 2729 } 10 | to = { x = 3024, y = 5457 } -------------------------------------------------------------------------------- /data/area/kandarin/ardougne/east_ardougne.objs.toml: -------------------------------------------------------------------------------- 1 | [pottery_oven_east_ardougne] 2 | id = 34802 3 | examine = "Bake your clay items in here." 4 | 5 | [bank_booth_ardougne] 6 | id = 34752 7 | examine = "The bank teller will serve you from here." 8 | -------------------------------------------------------------------------------- /data/area/kandarin/ardougne/outpost.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9780 3 | { id = "barrel", x = 2487, y = 3371, delay = 50, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/ardougne/underground_pass/underground_pass_dungeon.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9622 3 | { id = "rope", x = 2403, y = 9660, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/ardougne/west_ardougne.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10035 3 | { id = "knife", x = 2542, y = 3286, delay = 100, members = true }, 4 | { id = "chisel", x = 2543, y = 3286, delay = 100, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/kandarin/ardougne/witchaven.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10803 3 | { id = "chicken", x = 2691, y = 3273, members = true }, 4 | { id = "chicken", x = 2695, y = 3274, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/kandarin/barbarian_outpost/barbarian_outpost.areas.toml: -------------------------------------------------------------------------------- 1 | [barbarian_teleport] 2 | x = [2541, 2543] 3 | y = [3570, 3572] 4 | tags = ["teleport"] 5 | 6 | [barbarian_outpost_teleport] 7 | x = [2519, 2521] 8 | y = [3572, 3574] 9 | tags = ["teleport"] 10 | -------------------------------------------------------------------------------- /data/area/kandarin/barbarian_outpost/barbarian_outpost.vars.toml: -------------------------------------------------------------------------------- 1 | [smash_vials] 2 | format = "boolean" 3 | persist = true 4 | -------------------------------------------------------------------------------- /data/area/kandarin/battlefield/battlefield.areas.toml: -------------------------------------------------------------------------------- 1 | [battlefield_multi_area] 2 | x = [2504, 2544, 2544, 2552, 2552, 2504] 3 | y = [3248, 3248, 3232, 3232, 3208, 3208] 4 | level = 0 5 | tags = ["multi_combat"] 6 | -------------------------------------------------------------------------------- /data/area/kandarin/battlefield/battlefield.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10034 3 | { id = "iron_med_helm", x = 2540, y = 3249, delay = 500 }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/battlefield/battlefield.teles.toml: -------------------------------------------------------------------------------- 1 | [40359] 2 | option = "Climb-up" 3 | tile = { x = 2503, y = 3252 } 4 | delta = { level = 1} 5 | 6 | [40360] 7 | option = "Climb-down" 8 | tile = { x = 2503, y = 3252, level = 1 } 9 | delta = { level = -1 } -------------------------------------------------------------------------------- /data/area/kandarin/camelot/camelot.areas.toml: -------------------------------------------------------------------------------- 1 | [camelot_teleport] 2 | x = [2756, 2758] 3 | y = [3476, 3479] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/kandarin/camelot/camelot_castle.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11062 3 | { id = "fire_rune", amount = 2, x = 2767, y = 3504,level = 1, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/camelot/camelot_castle.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11062 3 | { id = "man", x = 2784, y = 3463, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/catherby/catherby.objs.toml: -------------------------------------------------------------------------------- 1 | [arhein_ship_gangplank] 2 | id = 69 3 | examine = "The tatty gangplank of a tatty ship." -------------------------------------------------------------------------------- /data/area/kandarin/clock_tower/clock_tower.obj-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | { id = "ikov_trapdoor", x = 2577, y = 3256, type = 22, rotation = 1 }, 3 | ] -------------------------------------------------------------------------------- /data/area/kandarin/clock_tower/clock_tower.objs.toml: -------------------------------------------------------------------------------- 1 | [ikov_trapdoor] 2 | id = 100 3 | examine = "Don't you open that trapdoor!" 4 | -------------------------------------------------------------------------------- /data/area/kandarin/feldip_hills/feldip_hills.areas.toml: -------------------------------------------------------------------------------- 1 | [east_feldip_hills_multi_area] 2 | x = [2648, 2655] 3 | y = [2952, 2975] 4 | level = 0 5 | tags = ["multi_combat"] 6 | -------------------------------------------------------------------------------- /data/area/kandarin/feldip_hills/jiggig/jiggig.areas.toml: -------------------------------------------------------------------------------- 1 | [jiggig_multi_area] 2 | x = [2456, 2495] 3 | y = [3032, 3055] 4 | level = 0 5 | tags = ["multi_combat"] 6 | -------------------------------------------------------------------------------- /data/area/kandarin/feldip_hills/oo_glog/oo_glog.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10028 3 | { id = "rosemary", x = 2548, y = 2878, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/feldip_hills/oo_glog/oo_glog.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_oo_glog] 2 | id = 29085 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/kandarin/fishing_guild/fishing_guild.areas.toml: -------------------------------------------------------------------------------- 1 | [fishing_guild_teleport] 2 | x = [2611, 2613] 3 | y = [3380, 3382] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/kandarin/fishing_guild/fishing_guild.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_fishing_guild] 2 | id = 49018 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/kandarin/fishing_guild/fishing_guild.teles.toml: -------------------------------------------------------------------------------- 1 | [49031] 2 | option = "Climb-up" 3 | tile = { x = 2609, y = 3398 } 4 | to = { x = 2608, y = 3399, level = 1 } 5 | 6 | [49032] 7 | option = "Climb-down" 8 | tile = { x = 2609, y = 3398, level = 1 } 9 | delta = { x = 3, level = -1 } -------------------------------------------------------------------------------- /data/area/kandarin/legends_guild/legends_guild.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10804 3 | { id = "papyrus", x = 2724, y = 3367, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/legends_guild/legends_guild.objs.toml: -------------------------------------------------------------------------------- 1 | [legends_guild_totem_pole] 2 | id = 2938 3 | examine = "A sculpted trunk of wood." 4 | -------------------------------------------------------------------------------- /data/area/kandarin/mcgrubors_wood.teles.toml: -------------------------------------------------------------------------------- 1 | [1759] 2 | option = "Climb-down" 3 | tile = { x = 2659, y = 3492 } 4 | delta = { y = 6400 } -------------------------------------------------------------------------------- /data/area/kandarin/ourania/ourania.areas.toml: -------------------------------------------------------------------------------- 1 | [ourania_teleport] 2 | x = [2465, 2467] 3 | y = [3244, 3246] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/kandarin/ourania/ourania.objs.toml: -------------------------------------------------------------------------------- 1 | [ourania_crack_enter] 2 | id = 26844 3 | examine = "I might be able to squeeze through." 4 | 5 | [ourania_crack_exit] 6 | id = 26845 7 | examine = "I might be able to squeeze through." 8 | -------------------------------------------------------------------------------- /data/area/kandarin/ourania/ourania.teles.toml: -------------------------------------------------------------------------------- 1 | # 9778 ourania 2 | [jalsavrah_door_west] 3 | option = "Search" 4 | tile = { x = 3283, y = 2794 } 5 | to = { x = 1934, y = 4420, level = 3 } 6 | 7 | -------------------------------------------------------------------------------- /data/area/kandarin/ourania/ourania_cave.teles.toml: -------------------------------------------------------------------------------- 1 | # 13131 ourania_cave 2 | [ourania_cave_ladder_down] 3 | option = "Climb" 4 | tile = { x = 2452, y = 3231 } 5 | to = { x = 3271, y = 4861 } 6 | -------------------------------------------------------------------------------- /data/area/kandarin/piscatoris/piscatoris.areas.toml: -------------------------------------------------------------------------------- 1 | [piscatoris_multi_area] 2 | x = [2304, 2367] 3 | y = [3648, 3711] 4 | level = 0 5 | tags = ["multi_combat"] 6 | 7 | [phoenix_lair_teleport] 8 | x = [2290, 2294] 9 | y = [3618, 3622] 10 | tags = ["teleport", "scroll"] 11 | -------------------------------------------------------------------------------- /data/area/kandarin/port_khazard/khazard_battlefield.items.toml: -------------------------------------------------------------------------------- 1 | [tortoise_shell] 2 | id = 7939 3 | price = 8737 4 | limit = 5000 5 | weight = 6.803 6 | examine = "A word in your shell-like." 7 | 8 | [tortoise_shell_noted] 9 | id = 7940 10 | -------------------------------------------------------------------------------- /data/area/kandarin/port_khazard/port_khazard.areas.toml: -------------------------------------------------------------------------------- 1 | [khazard_teleport] 2 | x = [2634, 2636] 3 | y = [3167, 3169] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/kandarin/port_khazard/port_khazard.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10545 3 | { id = "plank", x = 2648, y = 3156, delay = 100, members = true }, 4 | { id = "plank", x = 2651, y = 3155, delay = 100, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/kandarin/ranging_guild/ranging_guild.items.toml: -------------------------------------------------------------------------------- 1 | [archery_ticket] 2 | id = 1464 3 | price = 7 4 | limit = 5000 5 | examine = "I can exchange this for equipment." 6 | -------------------------------------------------------------------------------- /data/area/kandarin/seers_village/seers_village.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10806 3 | { id = "knife", x = 2704, y = 3475, delay = 100, members = true }, 4 | { id = "garlic", x = 2714, y = 3478, delay = 100, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/kandarin/seers_village/seers_village.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_seers_village] 2 | id = 25808 3 | examine = "The bank teller will serve you from here." 4 | 5 | [spinning_wheel_seers_village] 6 | id = 25824 7 | examine = "Used for spinning thread." -------------------------------------------------------------------------------- /data/area/kandarin/seers_village/sorcerers_tower.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10805 3 | { id = "knife", x = 2700, y = 3407, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/seers_village/temple_of_ikov_dungeon.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10648 3 | { id = "giant_spider", x = 2653, y = 9764, members = true }, 4 | { id = "giant_spider", x = 2648, y = 9761, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/kandarin/sinclair_mansion/sinclair_mansion.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10807 3 | { id = "scrap_paper", x = 2746, y = 3580, delay = 10, members = true }, 4 | { id = "address_form", x = 2739, y = 3581, level = 1, delay = 10, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/kandarin/sinclair_mansion/sinclair_mansion.teles.toml: -------------------------------------------------------------------------------- 1 | [25682] 2 | option = "Climb-up" 3 | tile = { x = 2736, y = 3581 } 4 | to = { x = 2736, y = 3580, level = 1 } 5 | 6 | [25683] 7 | option = "Climb-down" 8 | tile = { x = 2736, y = 3581, level = 1 } 9 | to = { x = 2736, y = 3580 } -------------------------------------------------------------------------------- /data/area/kandarin/tree_gnome_stronghold/brimstails_home/brimstails_home.areas.toml: -------------------------------------------------------------------------------- 1 | [brimstail_return] 2 | x = [2409, 2411] 3 | y = [9814, 9815] 4 | -------------------------------------------------------------------------------- /data/area/kandarin/tree_gnome_stronghold/brimstails_home/brimstails_home.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9625 3 | { id = "premade_chocolate_saturday", x = 2411, y = 9818, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/tree_gnome_stronghold/brimstails_home/brimstails_home.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9625 3 | { id = "brimstail", x = 2409, y = 9816, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kandarin/tree_gnome_stronghold/grand_tree/grand_tree.objs.toml: -------------------------------------------------------------------------------- 1 | [gnome_stronghold_shortcut_rock_top] 2 | id = 9316 3 | examine = "A rocky outcrop." 4 | 5 | [gnome_stronghold_shortcut_rock_bottom] 6 | id = 9317 7 | examine = "A rocky outcrop." -------------------------------------------------------------------------------- /data/area/kandarin/yanille/watchtower/watchtower.areas.toml: -------------------------------------------------------------------------------- 1 | [watchtower_teleport] 2 | x = [2545, 2548] 3 | y = [3113, 3116] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/kandarin/yanille/yanille.anims.toml: -------------------------------------------------------------------------------- 1 | [climb_into_tunnel] 2 | id = 2589 3 | 4 | [tunnel_invisible] 5 | id = 2590 6 | 7 | [climb_out_of_tunnel] 8 | id = 2591 -------------------------------------------------------------------------------- /data/area/kandarin/yanille/yanille.areas.toml: -------------------------------------------------------------------------------- 1 | [wizard_distentor_return] 2 | x = [2592, 2593] 3 | y = [3084, 3085] 4 | -------------------------------------------------------------------------------- /data/area/kandarin/yanille/yanille_agility_dungeon.items.toml: -------------------------------------------------------------------------------- 1 | [sinister_key] 2 | id = 993 3 | price = 55400 4 | limit = 100 5 | weight = 0.01 6 | examine = "You get a sense of dread from this key." 7 | 8 | [sinister_key_noted] 9 | id = 994 10 | -------------------------------------------------------------------------------- /data/area/karamja/brimhaven/brimhaven_dungeon.vars.toml: -------------------------------------------------------------------------------- 1 | [temporary_saniboch_access] 2 | persist = true 3 | format = "boolean" -------------------------------------------------------------------------------- /data/area/karamja/crandor/crandor_dungeon.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11414 3 | { id = "coins", x = 2861, y = 9644, delay = 100 }, 4 | { id = "coins", x = 2856, y = 9645, delay = 100 }, 5 | { id = "coins", x = 2863, y = 9629, delay = 100 }, 6 | { id = "coins", x = 2861, y = 9628, delay = 100 }, 7 | ] -------------------------------------------------------------------------------- /data/area/karamja/crandor/crandor_dungeon.teles.toml: -------------------------------------------------------------------------------- 1 | # 11414 crandor_dungeon 2 | [1764] 3 | option = "Climb" 4 | tile = { x = 2856, y = 9569 } 5 | to = { x = 2856, y = 3167 } 6 | 7 | -------------------------------------------------------------------------------- /data/area/karamja/karamja.areas.toml: -------------------------------------------------------------------------------- 1 | [karamja_teleport] 2 | x = [2916, 2920] 3 | y = [3175, 3177] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/karamja/karamja.npcs.toml: -------------------------------------------------------------------------------- 1 | 2 | [stiles] 3 | id = 11267 4 | categories = [ "human"] 5 | examine = "Exchanges lobsters, tuna and swordfish for banknotes." -------------------------------------------------------------------------------- /data/area/karamja/karamja.teles.toml: -------------------------------------------------------------------------------- 1 | [basic_ladder_bottom] 2 | option = "Climb-up" 3 | tile = { x = 2789, y = 2979 } 4 | delta = { level = 1 } 5 | 6 | [basic_ladder_top] 7 | option = "Climb-down" 8 | tile = { x = 2789, y = 2979, level = 1 } 9 | delta = { level = -1 } -------------------------------------------------------------------------------- /data/area/karamja/shilo_village/shilo_village.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11310 3 | { id = "seaweed", x = 2867, y = 2976, delay = 100, members = true }, 4 | { id = "seaweed", x = 2855, y = 2977, delay = 100, members = true }, 5 | { id = "seaweed", x = 2845, y = 2975, delay = 100, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/area/karamja/ship_yard/karamja_ship_yard.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | { id = "trader_crewmember_grey", x = 3001, y = 3033, members = true }, 3 | { id = "trader_crewmember_pink", x = 3001, y = 3034, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/karamja/tai_bwo_wannai/tai_bwo_wannai.areas.toml: -------------------------------------------------------------------------------- 1 | [tai_bwo_wannai_teleport] 2 | x = [2803, 2807] 3 | y = [3084, 3088] 4 | tags = ["teleport", "scroll"] 5 | -------------------------------------------------------------------------------- /data/area/karamja/tai_bwo_wannai/tai_bwo_wannai.jingles.toml: -------------------------------------------------------------------------------- 1 | [tai_bwo_wannai_tinsay_returns] 2 | id = 188 3 | 4 | [tai_bwo_wannai_trio_tiadeche_returns] 5 | id = 189 6 | 7 | [tai_bwo_wannai_trio_shaikahan_defeated] 8 | id = 190 9 | -------------------------------------------------------------------------------- /data/area/karamja/volcano/karamja_volcano.teles.toml: -------------------------------------------------------------------------------- 1 | # 11313 karamja_volcano 2 | 3 | -------------------------------------------------------------------------------- /data/area/kharidian_desert/al_kharid/al_kharid.vars.toml: -------------------------------------------------------------------------------- 1 | [al_the_camel] 2 | format = "boolean" 3 | persist = true 4 | 5 | -------------------------------------------------------------------------------- /data/area/kharidian_desert/al_kharid/shantay_pass/shantay_pass.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13104 3 | { id = "musician_shantay_pass", x = 3309, y = 3126, direction = "WEST" }, 4 | ] -------------------------------------------------------------------------------- /data/area/kharidian_desert/nardah/nardah.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13613 3 | { id = "shoes_spirits_of_the_elid", x = 3439, y = 2913, delay = 4, members = true }, 4 | { id = "ancestral_key", x = 3432, y = 2928, delay = 4, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/kharidian_desert/nardah/nardah.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_nardah] 2 | id = 10517 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/kharidian_desert/pollnivneach/pollnivneach.areas.toml: -------------------------------------------------------------------------------- 1 | [pollnivneach_teleport] 2 | x = [3359, 3363] 3 | y = [2968, 2972] 4 | tags = ["teleport", "scroll"] 5 | -------------------------------------------------------------------------------- /data/area/kharidian_desert/pollnivneach/pollnivneach.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13358 3 | { id = "bucket", x = 3351, y = 2966, delay = 100, members = true }, 4 | { id = "beer_glass", x = 3358, y = 2955, delay = 100, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/kharidian_desert/ruins_of_uzer.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10828 3 | { id = "strange_implement", x = 2713, y = 4913, delay = 10, members = true }, 4 | # 13872 5 | { id = "letter_the_golem", x = 3479, y = 3092, delay = 10, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/area/kharidian_desert/sophanem/sophanem.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13099 3 | { id = "musician_sophanem", x = 3278, y = 2802, direction = "EAST", members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/kharidian_desert/sophanem/sophanem.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_sophanem] 2 | id = 20325 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/barbarian_village.areas.toml: -------------------------------------------------------------------------------- 1 | [barbarian_village_multi_area] 2 | x = [3072, 3136, 3136, 3048, 3048, 3056, 3056, 3064, 3064, 3072] 3 | y = [3456, 3456, 3392, 3392, 3408, 3408, 3440, 3440, 3448, 3448] 4 | level = 0 5 | tags = ["multi_combat"] 6 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/barbarian_village.objs.toml: -------------------------------------------------------------------------------- 1 | [fire_barbarian_village] 2 | id = 5499 3 | examine = "Hot!" 4 | 5 | [stronghold_of_security_entrance] 6 | id = 16154 -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/catablepon/catablepon.anims.toml: -------------------------------------------------------------------------------- 1 | [catablepon_death] 2 | id = 4270 3 | 4 | [catablepon_attack] 5 | id = 4271 6 | 7 | [catablepon_attack_breath] 8 | id = 4272 9 | 10 | [catablepon_defend] 11 | id = 4273 -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/flesh_crawler/flesh_crawler.anims.toml: -------------------------------------------------------------------------------- 1 | [flesh_crawler_attack] 2 | id = 1184 3 | 4 | [flesh_crawler_defend] 5 | id = 1186 6 | 7 | [flesh_crawler_death] 8 | id = 1190 9 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/flesh_crawler/flesh_crawler.sounds.toml: -------------------------------------------------------------------------------- 1 | [flesh_crawler_attack] 2 | id = 571 3 | 4 | [flesh_crawler_death] 5 | id = 572 6 | 7 | [flesh_crawler_defend] 8 | id = 573 9 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/minotaur/minotaur.anims.toml: -------------------------------------------------------------------------------- 1 | [minotaur_death] 2 | id = 4265 3 | 4 | [minotaur_attack] 5 | id = 4266 6 | 7 | [minotaur_defend] 8 | id = 4267 9 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/minotaur/minotaur.sounds.toml: -------------------------------------------------------------------------------- 1 | [minotaur_attack] 2 | id = 626 3 | 4 | [minotaur_death] 5 | id = 627 6 | 7 | [minotaur_defend] 8 | id = 628 9 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/stronghold_of_security.anims.toml: -------------------------------------------------------------------------------- 1 | [stronghold_of_security_door] 2 | id = 4282 3 | 4 | [stronghold_of_security_door_appear] 5 | id = 4283 6 | 7 | [teleport_skull_sceptre] 8 | id = 9601 9 | ticks = 5 10 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/stronghold_of_security.areas.toml: -------------------------------------------------------------------------------- 1 | [stronghold_of_security_multi_area] 2 | x = [1856, 1919] 3 | y = [5184, 5247] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/stronghold_of_security.gfx.toml: -------------------------------------------------------------------------------- 1 | [teleport_skull_sceptre] 2 | id = 1683 -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/stronghold_of_security.npcs.toml: -------------------------------------------------------------------------------- 1 | [gate_of_war] 2 | id = 4377 3 | 4 | [rickety_door] 5 | id = 4378 6 | 7 | [oozing_barrier] 8 | id = 4379 9 | 10 | [portal_of_death] 11 | id = 4380 12 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/stronghold_of_security.sounds.toml: -------------------------------------------------------------------------------- 1 | [stronghold_of_security_through_door] 2 | id = 2858 3 | 4 | [stronghold_creaks] 5 | id = 1247 6 | 7 | [stronghold_choir] 8 | id = 1246 9 | -------------------------------------------------------------------------------- /data/area/misthalin/barbarian_village/stronghold_of_security/stronghold_of_security.vars.toml: -------------------------------------------------------------------------------- 1 | [stronghold_safe_space] 2 | persist = true 3 | format = "boolean" 4 | -------------------------------------------------------------------------------- /data/area/misthalin/dorgesh_kaan/dorgesh_kaan.areas.toml: -------------------------------------------------------------------------------- 1 | [dorgesh_kaan_entrance_multi_area] 2 | x = [3328, 3312, 3312, 3304, 3304, 3328] 3 | y = [9600, 9600, 9640, 9640, 9664, 9664] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/area/misthalin/dorgesh_kaan/dorgesh_kaan.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10835 3 | { id = "banker_dorgesh_kaan", x = 2699, y = 5349, direction = "EAST", members = true }, 4 | { id = "banker_dorgesh_kaan_2", x = 2699, y = 5348, direction = "EAST", members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/misthalin/dorgesh_kaan/dorgesh_kaan.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_dorgesh_kaan] 2 | id = 22819 3 | examine = "Deposit your monies here." 4 | -------------------------------------------------------------------------------- /data/area/misthalin/draynor/diango/diango.gfx.toml: -------------------------------------------------------------------------------- 1 | [10th_anniversary_cake] 2 | id = 1065 3 | -------------------------------------------------------------------------------- /data/area/misthalin/draynor/diango/diango.ifaces.toml: -------------------------------------------------------------------------------- 1 | [diangos_item_retrieval] 2 | id = 468 3 | type = "main_screen" 4 | components = { 5 | items = { 6 | id = 2, 7 | inventory = "diangos_item_retrieval", 8 | options = { 9 | Claim = 0, 10 | Examine = 9, 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /data/area/misthalin/draynor/diango/diango.vars.toml: -------------------------------------------------------------------------------- 1 | [flagstaff_runefest] 2 | persist = true 3 | format = "boolean" 4 | -------------------------------------------------------------------------------- /data/area/misthalin/draynor/diango/diango_codes.toml: -------------------------------------------------------------------------------- 1 | [flagstaff] 2 | variable = "flagstaff_runefest" 3 | add = [ "flagstaff_of_festivities" ] 4 | -------------------------------------------------------------------------------- /data/area/misthalin/draynor/draynor.gfx.toml: -------------------------------------------------------------------------------- 1 | [wise_old_man] 2 | id = 2743 3 | -------------------------------------------------------------------------------- /data/area/misthalin/draynor/draynor.objs.toml: -------------------------------------------------------------------------------- 1 | [cabbage_draynor_manor] 2 | id = 11494 3 | pickable = { item = "cabbage", delay = 45, message = "You pick a cabbage." } 4 | examine = "An enigmatic cabbage." 5 | 6 | [draynor_stepping_stone] 7 | id = 9315 8 | examine = "I can jump from this stepping stone." -------------------------------------------------------------------------------- /data/area/misthalin/edgeville/dungeon/edgeville_dungeon.items.toml: -------------------------------------------------------------------------------- 1 | [brass_key] 2 | id = 983 3 | price = 264 4 | limit = 100 5 | weight = 0.01 6 | examine = "A key found on the floor of Edgeville Dungeon." 7 | 8 | [brass_key_noted] 9 | id = 984 10 | -------------------------------------------------------------------------------- /data/area/misthalin/edgeville/edgeville.obj-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # Example 3 | { id = "crate", x = 3081, y = 3488, type = 10, rotation = 1 }, 4 | ] -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/church/church.jingles.toml: -------------------------------------------------------------------------------- 1 | [ambient_church_happy] 2 | id = 72 3 | -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/church/gravestone.anims.toml: -------------------------------------------------------------------------------- 1 | [gravestone_fall] 2 | id = 7394 3 | 4 | [gravestone_fall_2] 5 | id = 7395 6 | 7 | [gravestone_fall_plaque] 8 | id = 7396 -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/church/gravestone.ifaces.toml: -------------------------------------------------------------------------------- 1 | [gravestone_shop] 2 | id = 652 3 | components = { button = { id = 34, options = { Confirm = 0, Sell = 1 } } } 4 | 5 | [gravestone_plaque] 6 | id = 266 7 | type = "wide_screen" 8 | components = { text = 23 } -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/church/lumbridge_church.midis.toml: -------------------------------------------------------------------------------- 1 | [church_organ] 2 | id = 147 3 | -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/combat_hall/combat_hall.objs.toml: -------------------------------------------------------------------------------- 1 | [archery_target] 2 | id = 45305 3 | examine = "Can you hit it?" 4 | -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/combat_hall/combat_hall.vars.toml: -------------------------------------------------------------------------------- 1 | [claimed_tutor_consumables] 2 | format = "int" 3 | persist = true 4 | -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/lumbridge_basement.teles.toml: -------------------------------------------------------------------------------- 1 | # 12950 lumbridge_basement 2 | [27668] 3 | option = "Climb-up" 4 | tile = { x = 3232, y = 5091 } 5 | to = { x = 3368, y = 3268 } 6 | 7 | -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/thieves_guild/thieves_guild.items.toml: -------------------------------------------------------------------------------- 1 | [rubber_blackjack] 2 | id = 18644 3 | tradeable = false 4 | weight = 1.814 5 | slot = "Weapon" 6 | examine = "A training cosh." 7 | kept = "Wilderness" 8 | -------------------------------------------------------------------------------- /data/area/misthalin/lumbridge/thieves_guild/thieves_guild.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_thieves_guild] 2 | id = 52397 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/misthalin/signposts.ifaces.toml: -------------------------------------------------------------------------------- 1 | [signpost_directions] 2 | id = 135 3 | type = "wide_screen" 4 | components = { 5 | north = 3, 6 | east = 8, 7 | south = 9, 8 | west = 12 9 | } -------------------------------------------------------------------------------- /data/area/misthalin/tutorial_island/tutorial_island.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_tutorial_island] 2 | id = 3045 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/misthalin/varrock/digsite/digsite.areas.toml: -------------------------------------------------------------------------------- 1 | [dig_site_teleport] 2 | x = [3338, 3342] 3 | y = [3444, 3447] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/misthalin/varrock/digsite/exam_centre.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13364 3 | { id = "panning_tray", x = 3369, y = 3378, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/misthalin/varrock/sewer/varrock_sewer.teles.toml: -------------------------------------------------------------------------------- 1 | # 12954 varrock_sewers 2 | [24364] 3 | option = "Climb-up" 4 | tile = { x = 3231, y = 9801 } 5 | delta = { y = -6400 } 6 | 7 | [29355] 8 | option = "Climb-up" 9 | tile = { x = 3230, y = 9904 } 10 | delta = { y = -6400 } 11 | 12 | -------------------------------------------------------------------------------- /data/area/misthalin/varrock/varrock.anims.toml: -------------------------------------------------------------------------------- 1 | [cleaner_sweeping] 2 | id = 5799 3 | 4 | -------------------------------------------------------------------------------- /data/area/misthalin/zanaris/zanaris.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9541 3 | { id = "bucket", x = 2397, y = 4461, delay = 100, members = true }, 4 | { id = "chocolate_bar", x = 2384, y = 4439, delay = 100, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/misthalin/zanaris/zanaris.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_zanaris] 2 | id = 52589 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/misthalin/zanaris/zanaris.teles.toml: -------------------------------------------------------------------------------- 1 | # 9540 zanaris 2 | [27870] 3 | option = "Climb-down" 4 | tile = { x = 4316, y = 5475, level = 1 } 5 | delta = { x = 5, level = -1 } 6 | 7 | -------------------------------------------------------------------------------- /data/area/morytania/burgh_de_rott/burgh_de_rott.areas.toml: -------------------------------------------------------------------------------- 1 | [burgh_de_rott_teleport] 2 | x = [3485, 3489] 3 | y = [3235, 3239] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/morytania/burgh_de_rott/burgh_de_rott.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_burgh_de_rott] 2 | id = 12798 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/morytania/canifis/canifis.areas.toml: -------------------------------------------------------------------------------- 1 | [kharyrll_teleport] 2 | x = [3498, 3500] 3 | y = [3481, 3483] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/morytania/canifis/canifis.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13878 3 | { id = "pickled_brain", x = 3492, y = 3474, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/morytania/canifis/canifis.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13878 3 | { id = "banker_canifis", x = 3514, y = 3481, direction = "WEST", members = true }, 4 | { id = "banker_canifis", x = 3514, y = 3479, direction = "WEST", members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/morytania/canifis/canifis.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_canifis] 2 | id = 24914 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/morytania/fenkenstrains_castle/fenkenstrains_castle.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 14135 3 | { id = "musician_fenkenstrains_castle", x = 3582, y = 3524, direction = "SOUTH", members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/morytania/meiyerditch/meiyerditch_tunnels.teles.toml: -------------------------------------------------------------------------------- 1 | # 14232 meiyerditch_tunnels 2 | [death_altar_portal] 3 | option = "Enter" 4 | tile = { x = 2208, y = 4829 } 5 | to = { x = 1863, y = 4639 } 6 | 7 | -------------------------------------------------------------------------------- /data/area/morytania/mort_myre_swamp/grotto/grotto.objs.toml: -------------------------------------------------------------------------------- 1 | [grotto_bridge] 2 | id = 3522 3 | examine = "It's a bridge." -------------------------------------------------------------------------------- /data/area/morytania/mort_myre_swamp/mort_myre_swamp.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13619 3 | { id = "bill_blakey", x = 3424, y = 3320, direction = "EAST", members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/morytania/mos_le_harmless/mos_le_harmless.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_mos_le_harmless] 2 | id = 11338 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/area/morytania/port_phasmatys/port_phasmatys.areas.toml: -------------------------------------------------------------------------------- 1 | [ectophial_teleport] 2 | x = [3654, 3665] 3 | y = [3521, 3524] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/area/realm/enchanted_valley/enchanted_valley.areas.toml: -------------------------------------------------------------------------------- 1 | [enchanted_valley_multi_area] 2 | x = [3008, 3071] 3 | y = [4480, 4543] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/area/tirannwn/iorwerth_camp/iorwerth_camp.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 8754 3 | { id = "empty_pot", x = 2202, y = 3258, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/tirannwn/isafdar/isafdar.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9009 3 | { id = "white_berries", x = 2262, y = 3168, delay = 10, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/area/tirannwn/tyras_camp/tyras_camp.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 8753 3 | { id = "barrel", x = 2189, y = 3144, delay = 50, members = true }, 4 | { id = "barrel", x = 2189, y = 3137, delay = 50, members = true }, 5 | { id = "barrel", x = 2184, y = 3139, delay = 50, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/area/troll_country/death_plateau/death_plateau.areas.toml: -------------------------------------------------------------------------------- 1 | [death_plateu_multi_area] 2 | x = [2848, 2879] 3 | y = [3600, 3607] 4 | level = 0 5 | tags = ["multi_combat"] 6 | -------------------------------------------------------------------------------- /data/area/troll_country/death_plateau/death_plateau.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11320 3 | { id = "bucket", x = 2858, y = 3586, delay = 100, members = true }, 4 | { id = "bucket", x = 2864, y = 3585, delay = 100, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/troll_country/death_plateau/death_plateau.shops.toml: -------------------------------------------------------------------------------- 1 | [fredas_boots] 2 | id = 569 3 | defaults = [ 4 | { id = "rock_climbing_boots", amount = 30 }, 5 | ] 6 | -------------------------------------------------------------------------------- /data/area/troll_country/god_wars_dungeon/god_wars.areas.toml: -------------------------------------------------------------------------------- 1 | [godwars_dungeon_multi_area] 2 | x = [2816, 2943] 3 | y = [5248, 5375] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/area/troll_country/god_wars_dungeon/god_wars.ifaces.toml: -------------------------------------------------------------------------------- 1 | [godwars_killcount] 2 | id = 598 3 | -------------------------------------------------------------------------------- /data/area/troll_country/god_wars_dungeon/god_wars_dungeon.objs.toml: -------------------------------------------------------------------------------- 1 | [godwars_hole] 2 | id = 26340 3 | examine = "Looks deep." 4 | 5 | [godwars_hole_roped] 6 | id = 26341 7 | examine = "Looks deep." 8 | -------------------------------------------------------------------------------- /data/area/troll_country/trollweiss.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11068 3 | { id = "uncut_sapphire", x = 2788, y = 3870, delay = 500, members = true }, 4 | { id = "chaos_rune", x = 2761, y = 3845, delay = 200, members = true }, 5 | { id = "big_bones", x = 2766, y = 3855, delay = 50, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/area/wilderness/abyss/abyss.areas.toml: -------------------------------------------------------------------------------- 1 | [abyss_multi_area] 2 | x = [3008, 3071] 3 | y = [4800, 4863] 4 | tags = ["multi_combat"] 5 | 6 | [abyss_center] 7 | x = [3039, 3052, 3057, 3053, 3042, 3033, 3025, 3021, 3022, 3029] 8 | y = [4849, 4845, 4832, 4820, 4815, 4816, 4820, 4829, 4838, 4846] 9 | -------------------------------------------------------------------------------- /data/area/wilderness/abyss/abyss.sounds.toml: -------------------------------------------------------------------------------- 1 | [boil_burst] 2 | id = 2711 3 | 4 | [abyssal_squeezethrough] 5 | id = 2709 6 | -------------------------------------------------------------------------------- /data/area/wilderness/deep_dungeon/deep_wilderness_dungeon.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 12193 3 | { id = "attack_potion_1", x = 3026, y = 10325, delay = 100, members = true }, 4 | { id = "grimy_guam", x = 3044, y = 10313, delay = 200, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/area/wilderness/deep_dungeon/deep_wilderness_dungeon.teles.toml: -------------------------------------------------------------------------------- 1 | # 12193 deep_wilderness_dungeon 2 | [basic_ladder_up] 3 | option = "Climb-up" 4 | tile = { x = 3069, y = 10256 } 5 | delta = { x = -52, y = -6407 } 6 | 7 | -------------------------------------------------------------------------------- /data/area/wilderness/mage_arena/mage_arena.areas.toml: -------------------------------------------------------------------------------- 1 | [mage_bank_multi_area] 2 | x = [2496, 2559] 3 | y = [4672, 4735] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/area/wilderness/wilderness.ifaces.toml: -------------------------------------------------------------------------------- 1 | [wilderness_skull] 2 | id = 381 3 | type = "overlay" 4 | components = { 5 | right_skull = 0, 6 | center_skull = 4, 7 | } 8 | 9 | [warning_wilderness] 10 | id = 382 11 | -------------------------------------------------------------------------------- /data/area/wilderness/wilderness.varbits.toml: -------------------------------------------------------------------------------- 1 | [decrease_combat_attack_range] 2 | id = 5447 3 | format = "boolean" 4 | 5 | [no_pvp_zone] 6 | id = 6448 7 | format = "boolean" 8 | -------------------------------------------------------------------------------- /data/area/wilderness/wilderness.vars.toml: -------------------------------------------------------------------------------- 1 | [wilderness_lever_warning] 2 | format = "boolean" 3 | persist = true 4 | default = true 5 | -------------------------------------------------------------------------------- /data/entity/npc/animal/bat/bat.anims.toml: -------------------------------------------------------------------------------- 1 | [bat_attack] 2 | id = 4915 3 | 4 | [bat_defend] 5 | id = 4916 6 | 7 | [giant_bat_death] 8 | id = 4917 9 | 10 | [bat_death] 11 | id = 4918 -------------------------------------------------------------------------------- /data/entity/npc/animal/bat/bat.drops.toml: -------------------------------------------------------------------------------- 1 | [bat_drop_table] 2 | type = "all" 3 | drops = [ 4 | { id = "bat_bones" } 5 | ] -------------------------------------------------------------------------------- /data/entity/npc/animal/bat/bat.sounds.toml: -------------------------------------------------------------------------------- 1 | [bat_attack] 2 | id = 292 3 | 4 | [bat_death] 5 | id = 293 6 | 7 | [bat_defend] 8 | id = 294 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/bear/bear.anims.toml: -------------------------------------------------------------------------------- 1 | [bear_attack] 2 | id = 4925 3 | 4 | [bear_cub_attack] 5 | id = 4926 6 | 7 | [bear_defend] 8 | id = 4927 9 | 10 | [bear_cub_defend] 11 | id = 4928 12 | 13 | [bear_death] 14 | id = 4929 15 | 16 | [bear_cub_death] 17 | id = 4930 18 | -------------------------------------------------------------------------------- /data/entity/npc/animal/bear/bear.drops.toml: -------------------------------------------------------------------------------- 1 | [bear_drop_table] 2 | type = "all" 3 | drops = [ 4 | { id = "bones" }, 5 | { id = "bear_fur" }, 6 | { id = "raw_bear_meat" }, 7 | ] -------------------------------------------------------------------------------- /data/entity/npc/animal/bear/bear.sounds.toml: -------------------------------------------------------------------------------- 1 | [bear_attack] 2 | id = 300 3 | 4 | [bear_death] 5 | id = 301 6 | 7 | [bear_defend] 8 | id = 302 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/camels.npcs.toml: -------------------------------------------------------------------------------- 1 | [al_the_camel] 2 | id = 2809 3 | categories = ["camel"] 4 | large_head = true 5 | wander_radius = 4 6 | examine = "A camel who has the soul of a poet." -------------------------------------------------------------------------------- /data/entity/npc/animal/chicken/chicken.anims.toml: -------------------------------------------------------------------------------- 1 | [chicken_attack] 2 | id = 5387 3 | 4 | [chicken_defend] 5 | id = 5388 6 | 7 | [chicken_death] 8 | id = 5389 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/chicken/chicken.sounds.toml: -------------------------------------------------------------------------------- 1 | [chicken_defend] 2 | id = 357 3 | 4 | [chicken_death] 5 | id = 356 6 | 7 | [chicken_attack] 8 | id = 355 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/cow/cow.anims.toml: -------------------------------------------------------------------------------- 1 | [cow_defend] 2 | id = 5850 3 | 4 | [cow_death] 5 | id = 5851 6 | 7 | [cow_attack] 8 | id = 5849 9 | 10 | [cow_eat_grass] 11 | id = 5854 12 | 13 | [calf_defend] 14 | id = 150 15 | 16 | [calf_death] 17 | id = 244 18 | 19 | [calf_attack] 20 | id = 245 21 | -------------------------------------------------------------------------------- /data/entity/npc/animal/cow/cow.sounds.toml: -------------------------------------------------------------------------------- 1 | [calf_attack] 2 | id = 366 3 | 4 | [calf_death] 5 | id = 367 6 | 7 | [calf_defend] 8 | id = 368 9 | 10 | [cow_attack] 11 | id = 369 12 | 13 | [cow_death] 14 | id = 370 15 | 16 | [cow_defend] 17 | id = 371 18 | 19 | [milk_cow] 20 | id = 372 21 | -------------------------------------------------------------------------------- /data/entity/npc/animal/crab/crab.npcs.toml: -------------------------------------------------------------------------------- 1 | [crab] 2 | id = 2706 3 | categories = ["crab"] 4 | wander_radius = 3 5 | examine = "Nobody likes crabs..." 6 | -------------------------------------------------------------------------------- /data/entity/npc/animal/dog/dog.anims.toml: -------------------------------------------------------------------------------- 1 | [jackal_defend] 2 | id = 6566 3 | 4 | [jackal_death] 5 | id = 6567 6 | 7 | [jackal_attack] 8 | id = 6568 9 | 10 | [medium_dog_defend] 11 | id = 6563 12 | 13 | [medium_dog_death] 14 | id = 6564 15 | 16 | [medium_dog_attack] 17 | id = 6565 18 | -------------------------------------------------------------------------------- /data/entity/npc/animal/dog/dog.sounds.toml: -------------------------------------------------------------------------------- 1 | [dog_attack] 2 | id = 3717 3 | 4 | [dog_death] 5 | id = 3718 6 | 7 | [dog_defend] 8 | id = 3719 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/gecko.anims.toml: -------------------------------------------------------------------------------- 1 | [gecko_defend] 2 | id = 7208 3 | 4 | [gecko_attack] 5 | id = 7207 6 | 7 | [gecko_death] 8 | id = 7205 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/monkey/monkey.anims.toml: -------------------------------------------------------------------------------- 1 | [monkey_attack] 2 | id = 220 3 | 4 | [monkey_defend] 5 | id = 221 6 | 7 | [monkey_death] 8 | id = 223 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/monkey/monkey.drops.toml: -------------------------------------------------------------------------------- 1 | [monkey_drop_table] 2 | type = "all" 3 | drops = [ 4 | { id = "monkey_bones" } 5 | ] -------------------------------------------------------------------------------- /data/entity/npc/animal/rat/rat.anims.toml: -------------------------------------------------------------------------------- 1 | [rat_attack] 2 | id = 2705 3 | 4 | [rat_defend] 5 | id = 2706 6 | 7 | [rat_death] 8 | id = 2707 9 | 10 | [giant_rat_attack] 11 | id = 14859 12 | 13 | [giant_rat_death] 14 | id = 14860 15 | 16 | [giant_rat_defend] 17 | id = 14861 18 | -------------------------------------------------------------------------------- /data/entity/npc/animal/rat/rat.sounds.toml: -------------------------------------------------------------------------------- 1 | [rat_attack] 2 | id = 710 3 | 4 | [rat_defend] 5 | id = 713 6 | 7 | [rat_death] 8 | id = 711 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/wolf/wolf.anims.toml: -------------------------------------------------------------------------------- 1 | [wolves_defend] 2 | id = 6557 3 | 4 | [wolves_attack] 5 | id = 6559 6 | 7 | [wolves_death] 8 | id = 6558 9 | -------------------------------------------------------------------------------- /data/entity/npc/animal/wolf/wolf.sounds.toml: -------------------------------------------------------------------------------- 1 | [wolves_defend] 2 | id = 912 3 | 4 | [wolves_attack] 5 | id = 909 6 | 7 | [wolves_death] 8 | id = 911 9 | -------------------------------------------------------------------------------- /data/entity/npc/boss/giant_mole/giant_mole.anims.toml: -------------------------------------------------------------------------------- 1 | [giant_mole_burrow] 2 | id = 3314 3 | 4 | [giant_mole_attack] 5 | id = 3312 6 | 7 | [giant_mole_defend] 8 | id = 3311 9 | 10 | [giant_mole_death] 11 | id = 3310 12 | 13 | [dirt_projectile] 14 | id = 570 15 | 16 | [giant_mole_burrow_up] 17 | id = 1664 18 | -------------------------------------------------------------------------------- /data/entity/npc/boss/giant_mole/giant_mole.gfx.toml: -------------------------------------------------------------------------------- 1 | [burrow_dust] 2 | id = 571 3 | -------------------------------------------------------------------------------- /data/entity/npc/boss/giant_mole/giant_mole.ifaces.toml: -------------------------------------------------------------------------------- 1 | [dirt_on_screen] 2 | id = 226 3 | type = "overlay" 4 | -------------------------------------------------------------------------------- /data/entity/npc/boss/giant_mole/giant_mole.objs.toml: -------------------------------------------------------------------------------- 1 | [giant_mole_lair_escape_rope] 2 | id = 12230 3 | -------------------------------------------------------------------------------- /data/entity/npc/boss/giant_mole/giant_mole.sounds.toml: -------------------------------------------------------------------------------- 1 | [giant_mole_burrow_down] 2 | id = 1641 3 | 4 | [giant_mole_attack] 5 | id = 1642 6 | 7 | [giant_mole_defend] 8 | id = 1646 9 | 10 | [giant_mole_burrow] 11 | id = 1643 12 | 13 | [giant_mole_death] 14 | id = 1645 15 | -------------------------------------------------------------------------------- /data/entity/npc/boss/kalphite_queen/kalphite_queen.areas.toml: -------------------------------------------------------------------------------- 1 | [kalphite_queen_multi_area] 2 | x = [3456, 3519] 3 | y = [9472, 9535] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/entity/npc/boss/king_black_dragon/king_black_dragon.areas.toml: -------------------------------------------------------------------------------- 1 | [king_black_dragon_multi_area] 2 | x = [2240, 2303] 3 | y = [4672, 4735] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/entity/npc/boss/king_black_dragon/king_black_dragons_lair.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9033 3 | { id = "king_black_dragon", x = 2272, y = 4698, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/entity/npc/boss/king_black_dragon/king_black_dragons_lair.teles.toml: -------------------------------------------------------------------------------- 1 | # 9033 king_black_dragons_lair 2 | [28714] 3 | option = "Climb" 4 | tile = { x = 2209, y = 5349 } 5 | to = { x = 2926, y = 3444 } 6 | 7 | -------------------------------------------------------------------------------- /data/entity/npc/boss/skeletal_horror.gfx.toml: -------------------------------------------------------------------------------- 1 | [right_hand] 2 | id = 2130 3 | 4 | [left_hand] 5 | id = 2131 6 | 7 | [tail] 8 | id = 2132 9 | -------------------------------------------------------------------------------- /data/entity/npc/giants/hill_giant.anims.toml: -------------------------------------------------------------------------------- 1 | [hill_giant_attack] 2 | id = 4652 3 | 4 | [hill_giant_defend] 5 | id = 4651 6 | 7 | [hill_giant_death] 8 | id = 4653 9 | -------------------------------------------------------------------------------- /data/entity/npc/giants/hill_giant.sounds.toml: -------------------------------------------------------------------------------- 1 | [hill_giant_defend] 2 | id = 451 3 | 4 | [hill_giant_death] 5 | id = 450 6 | 7 | [hill_giant_attack] 8 | id = 448 -------------------------------------------------------------------------------- /data/entity/npc/giants/moss_giant.anims.toml: -------------------------------------------------------------------------------- 1 | [moss_giant_attack] 2 | id = 4658 3 | 4 | [moss_giant_defend] 5 | id = 4657 6 | 7 | [moss_giant_death] 8 | id = 4659 9 | -------------------------------------------------------------------------------- /data/entity/npc/giants/moss_giant.sounds.toml: -------------------------------------------------------------------------------- 1 | [moss_giant_defend] 2 | id = 451 3 | 4 | [moss_giant_death] 5 | id = 450 6 | 7 | [moss_giant_attack] 8 | id = 449 -------------------------------------------------------------------------------- /data/entity/npc/humanoid/dwarf/dwarf.anims.toml: -------------------------------------------------------------------------------- 1 | [dwarf_attack] 2 | id = 99 3 | 4 | [dwarf_defend] 5 | id = 100 6 | 7 | [dwarf_death] 8 | id = 102 9 | -------------------------------------------------------------------------------- /data/entity/npc/humanoid/dwarf/dwarf.sounds.toml: -------------------------------------------------------------------------------- 1 | [dwarf_attack] 2 | id = 417 3 | 4 | [dwarf_death] 5 | id = 418 6 | 7 | [dwarf_defend] 8 | id = 419 9 | 10 | [dwarf_work] 11 | id = 420 12 | -------------------------------------------------------------------------------- /data/entity/npc/humanoid/human/man.sounds.toml: -------------------------------------------------------------------------------- 1 | [man_death] 2 | id = 512 3 | 4 | [man_defend] 5 | id = 513 6 | 7 | [man_attack] 8 | id = 2566 -------------------------------------------------------------------------------- /data/entity/npc/humanoid/human/woman.sounds.toml: -------------------------------------------------------------------------------- 1 | [woman_death] 2 | id = 505 3 | 4 | [woman_defend] 5 | id = 506 6 | 7 | [woman_attack] 8 | id = 2566 -------------------------------------------------------------------------------- /data/entity/npc/hunt/hunt.vars.toml: -------------------------------------------------------------------------------- 1 | [tolerance] 2 | format = "int" 3 | persist = true 4 | -------------------------------------------------------------------------------- /data/entity/npc/monster/cave_bug/cave_bug.anims.toml: -------------------------------------------------------------------------------- 1 | [cave_bug_attack] 2 | id = 6079 3 | 4 | [cave_bug_defend] 5 | id = 6080 6 | 7 | [cave_bug_green_death] 8 | id = 6081 9 | 10 | [cave_bug_death] 11 | id = 6082 12 | -------------------------------------------------------------------------------- /data/entity/npc/monster/cave_bug/cave_bug.sounds.toml: -------------------------------------------------------------------------------- 1 | [cave_bug_attack] 2 | id = 1577 3 | 4 | [cave_bug_death] 5 | id = 1578 6 | 7 | [cave_bug_defend] 8 | id = 1580 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/cave_crawler/cave_crawler.anims.toml: -------------------------------------------------------------------------------- 1 | [cave_crawler_death] 2 | id = 265 3 | 4 | [cave_crawler_attack] 5 | id = 265 6 | 7 | [cave_crawler_defend] 8 | id = 266 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/cave_crawler/cave_crawler.sounds.toml: -------------------------------------------------------------------------------- 1 | [cave_crawler_attack] 2 | id = 341 3 | 4 | [cave_crawler_death] 5 | id = 342 6 | 7 | [cave_crawler_defend] 8 | id = 343 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/cave_slime/cave_slime.anims.toml: -------------------------------------------------------------------------------- 1 | [cave_slime_attack] 2 | id = 1789 3 | 4 | [cave_slime_defend] 5 | id = 1791 6 | 7 | [cave_slime_death] 8 | id = 1792 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/cave_slime/cave_slime.sounds.toml: -------------------------------------------------------------------------------- 1 | [cave_slime_attack] 2 | id = 784 3 | 4 | [cave_slime_death] 5 | id = 785 6 | 7 | [cave_slime_defend] 8 | id = 786 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/chaos_druid/chaos_druid.anims.toml: -------------------------------------------------------------------------------- 1 | [chaos_druid_attack] 2 | id = 422 3 | 4 | [chaos_druid_defend] 5 | id = 424 6 | 7 | [chaos_druid_death] 8 | id = 836 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/chaos_druid/chaos_druid.sounds.toml: -------------------------------------------------------------------------------- 1 | [chaos_druid_attack] 2 | id = 2566 3 | 4 | [chaos_druid_death] 5 | id = 512 6 | 7 | [chaos_druid_defend] 8 | id = 513 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/earth_warrior/earth_warrior.anims.toml: -------------------------------------------------------------------------------- 1 | [earth_warrior_defend] 2 | id = 403 3 | 4 | [earth_warrior_death] 5 | id = 836 6 | 7 | [earth_warrior_attack] 8 | id = 401 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/earth_warrior/earth_warrior.sounds.toml: -------------------------------------------------------------------------------- 1 | [earth_warrior_attack] 2 | id = 2567 3 | 4 | [earth_warrior_death] 5 | id = 512 6 | 7 | [earth_warrior_defend] 8 | id = 1972 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/fiend/ice/icefiend.anims.toml: -------------------------------------------------------------------------------- 1 | [icefiend_death] 2 | id = 11211 3 | 4 | [icefiend_attack] 5 | id = 12544 6 | 7 | [icefiend_defend] 8 | id = 8079 # TODO check -------------------------------------------------------------------------------- /data/entity/npc/monster/fiend/ice/icefiend.sounds.toml: -------------------------------------------------------------------------------- 1 | [icefiend_attack] 2 | id = 531 3 | 4 | [icefiend_death] 5 | id = 532 6 | 7 | [icefiend_defend] 8 | id = 533 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/fire_giant/fire_giant.anims.toml: -------------------------------------------------------------------------------- 1 | [fire_giant_attack] 2 | id = 4666 3 | 4 | [fire_giant_defend] 5 | id = 4664 6 | 7 | [fire_giant_death] 8 | id = 4668 -------------------------------------------------------------------------------- /data/entity/npc/monster/fire_giant/fire_giant.sounds.toml: -------------------------------------------------------------------------------- 1 | [fire_giant_defend] 2 | id = 451 3 | 4 | [fire_giant_death] 5 | id = 450 6 | 7 | [fire_giant_attack] 8 | id = 449 -------------------------------------------------------------------------------- /data/entity/npc/monster/goblin/goblin.anims.toml: -------------------------------------------------------------------------------- 1 | [goblin_attack] 2 | id = 6184 3 | 4 | [goblin_defend] 5 | id = 6183 6 | 7 | [goblin_death] 8 | id = 6182 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/goblin/goblin.sounds.toml: -------------------------------------------------------------------------------- 1 | [goblin_defend] 2 | id = 472 3 | 4 | [goblin_death] 5 | id = 471 6 | 7 | [goblin_attack] 8 | id = 469 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/ice_giant/ice_giant.anims.toml: -------------------------------------------------------------------------------- 1 | [ice_giant_defend] 2 | id = 4671 3 | 4 | [ice_giant_death] 5 | id = 4673 6 | 7 | [ice_giant_attack] 8 | id = 4672 -------------------------------------------------------------------------------- /data/entity/npc/monster/ice_giant/ice_giant.sounds.toml: -------------------------------------------------------------------------------- 1 | [ice_giant_attack] 2 | id = 448 3 | 4 | [ice_giant_death] 5 | id = 450 6 | 7 | [ice_giant_defend] 8 | id = 451 9 | 10 | -------------------------------------------------------------------------------- /data/entity/npc/monster/ice_warrior/ice_warrior.anims.toml: -------------------------------------------------------------------------------- 1 | [ice_warrior_defend] 2 | id = 399 3 | 4 | [ice_warrior_death] 5 | id = 843 6 | 7 | [ice_warrior_attack] 8 | id = 391 -------------------------------------------------------------------------------- /data/entity/npc/monster/ice_warrior/ice_warrior.sounds.toml: -------------------------------------------------------------------------------- 1 | [ice_warrior_attack] 2 | id = 530 3 | 4 | [ice_warrior_death] 5 | id = 529 6 | -------------------------------------------------------------------------------- /data/entity/npc/monster/kalphite/kalphite.anims.toml: -------------------------------------------------------------------------------- 1 | [kalphite_attack] 2 | id = 6223 3 | 4 | [kalphite_guardian_attack] 5 | id = 6226 6 | 7 | [kalphite_defend] 8 | id = 6227 9 | 10 | [kalphite_death] 11 | id = 6228 12 | 13 | [kalphite_guardian_death] 14 | id = 6230 15 | -------------------------------------------------------------------------------- /data/entity/npc/monster/kalphite/kalphite.sounds.toml: -------------------------------------------------------------------------------- 1 | [kalphite_attack] 2 | id = 537 3 | 4 | [kalphite_death] 5 | id = 538 6 | 7 | [kalphite_defend] 8 | id = 539 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/lizard/lizard.anims.toml: -------------------------------------------------------------------------------- 1 | [lizard_attack] 2 | id = 1579 3 | 4 | [lizard_defend] 5 | id = 1580 6 | 7 | [lizard_death] 8 | id = 1581 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/lizard/lizard.gfx.toml: -------------------------------------------------------------------------------- 1 | [skip_water_splash] 2 | id = 456 -------------------------------------------------------------------------------- /data/entity/npc/monster/lizard/lizard.sounds.toml: -------------------------------------------------------------------------------- 1 | [lizard_attack] 2 | id = 605 3 | 4 | [lizard_death] 5 | id = 606 6 | 7 | [lizard_defend] 8 | id = 607 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/mugger/mugger.anims.toml: -------------------------------------------------------------------------------- 1 | [mugger_defend] 2 | id = 424 3 | 4 | [mugger_attack] 5 | id = 422 6 | 7 | [mugger_death] 8 | id = 836 9 | 10 | -------------------------------------------------------------------------------- /data/entity/npc/monster/mugger/mugger.sounds.toml: -------------------------------------------------------------------------------- 1 | [mugger_death] 2 | id = 512 3 | 4 | [mugger_attack] 5 | id = 513 6 | -------------------------------------------------------------------------------- /data/entity/npc/monster/pirate/pirate.anims.toml: -------------------------------------------------------------------------------- 1 | [pirate_defend] 2 | id = 424 3 | 4 | [pirate_attack] 5 | id = 428 6 | 7 | [pirate_death] 8 | id = 836 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/pirate/pirate.sounds.toml: -------------------------------------------------------------------------------- 1 | [pirate_death] 2 | id = 512 3 | 4 | [pirate_attack] 5 | id = 513 6 | 7 | -------------------------------------------------------------------------------- /data/entity/npc/monster/scorpion/scorpion.drops.toml: -------------------------------------------------------------------------------- 1 | [scorpion_drop_table] 2 | type = "all" 3 | drops = [ 4 | { table = "bones" }, 5 | ] 6 | -------------------------------------------------------------------------------- /data/entity/npc/monster/scorpion/scorpion.sounds.toml: -------------------------------------------------------------------------------- 1 | [scorpion_death] 2 | id = 3610 3 | 4 | [scorpion_attack] 5 | id = 3611 6 | 7 | [scorpion_defend] 8 | id = 3612 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/skeletal_wyvern/skeletal_wyvern.sounds.toml: -------------------------------------------------------------------------------- 1 | [wyvern_death] 2 | id = 770 3 | 4 | [wyvern_attack] 5 | id = 771 6 | 7 | [wyvern_tail_whip] 8 | id = 773 9 | 10 | [wyvern_ice_breath] 11 | id = 586 12 | 13 | [wyvern_ranged] 14 | id = 772 15 | 16 | -------------------------------------------------------------------------------- /data/entity/npc/monster/snake/snake.drops.toml: -------------------------------------------------------------------------------- 1 | [snake_drop_table] 2 | type = "all" 3 | drops = [ 4 | { id = "bones" }, 5 | 6 | ] -------------------------------------------------------------------------------- /data/entity/npc/monster/snake/snake.sounds.toml: -------------------------------------------------------------------------------- 1 | [snake_attack] 2 | id = 797 3 | 4 | [snake_death] 5 | id = 798 6 | 7 | [snake_hiss] 8 | id = 799 9 | 10 | [snake_defend] 11 | id = 800 12 | -------------------------------------------------------------------------------- /data/entity/npc/monster/spider/spider.anims.toml: -------------------------------------------------------------------------------- 1 | [giant_spider_attack] 2 | id = 5327 3 | 4 | [giant_spider_defend] 5 | id = 5328 6 | 7 | [giant_spider_death] 8 | id = 5329 9 | 10 | [spider_attack] 11 | id = 6249 12 | 13 | [spider_defend] 14 | id = 6250 15 | 16 | [spider_death] 17 | id = 6251 18 | 19 | -------------------------------------------------------------------------------- /data/entity/npc/monster/spider/spider.sounds.toml: -------------------------------------------------------------------------------- 1 | [giant_spider_attack] 2 | id = 3605 3 | 4 | [giant_spider_defend] 5 | id = 3607 6 | 7 | [giant_spider_death] 8 | id = 3606 9 | 10 | [spider_attack] 11 | id = 3604 12 | 13 | [spider_defend] 14 | id = 3609 15 | 16 | [spider_death] 17 | id = 3608 18 | -------------------------------------------------------------------------------- /data/entity/npc/monster/thug/thug.anims.toml: -------------------------------------------------------------------------------- 1 | [thug_attack] 2 | id = 386 3 | 4 | [thug_defend] 5 | id = 388 6 | 7 | [thug_death] 8 | id = 836 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/thug/thug.sounds.toml: -------------------------------------------------------------------------------- 1 | [thug_attack] 2 | id = 2501 3 | 4 | [thug_defend] 5 | id = 513 6 | 7 | [thug_death] 8 | id = 512 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/ankou/ankou.sounds.toml: -------------------------------------------------------------------------------- 1 | [ankou_death] 2 | id = 925 3 | 4 | [ankou_attack] 5 | id = 924 6 | 7 | [ankou_defend] 8 | id = 2566 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/banshee/banshee.gfx.toml: -------------------------------------------------------------------------------- 1 | [banshee_scream] 2 | id = 337 -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/banshee/banshee.sounds.toml: -------------------------------------------------------------------------------- 1 | [banshee_attack] 2 | id = 282 3 | 4 | [banshee_attack_earmuffs] 5 | id = 283 6 | 7 | [banshee_attack_normal] 8 | id = 284 9 | 10 | [banshee_death] 11 | id = 285 12 | 13 | [banshee_defend] 14 | id = 286 15 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/crawling_hand/crawling_hand.sounds.toml: -------------------------------------------------------------------------------- 1 | [crawling_hand_attack] 2 | id = 377 3 | 4 | [crawling_hand_death] 5 | id = 378 6 | 7 | [crawling_hand_defend] 8 | id = 379 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/dragith_nurn/dragith_nurn.anims.toml: -------------------------------------------------------------------------------- 1 | [dragith_nurn_defend] 2 | id = 12867 3 | 4 | [dragith_nurn_death] 5 | id = 12870 6 | 7 | [dragith_nurn_attack] 8 | id = 12844 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/ghost/ghost.anims.toml: -------------------------------------------------------------------------------- 1 | [ghost_attack] 2 | id = 5532 3 | 4 | [ghost_defend] 5 | id = 5533 6 | 7 | [ghost_death] 8 | id = 5534 9 | 10 | [ghost_tendril_attack] 11 | id = 5540 12 | 13 | [ghost_tendril_defend] 14 | id = 5541 15 | 16 | [ghost_tendril_death] 17 | id = 5542 18 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/ghost/ghost.sounds.toml: -------------------------------------------------------------------------------- 1 | [ghost_attack] 2 | id = 436 3 | 4 | [ghost_attack2] 5 | id = 437 6 | 7 | [ghost_death] 8 | id = 438 9 | 10 | [ghost_defend] 11 | id = 439 12 | 13 | [ghost_defend2] 14 | id = 440 15 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/shade/shade.anims.toml: -------------------------------------------------------------------------------- 1 | [shade_attack] 2 | id = 391 3 | 4 | [shade_defend] 5 | id = 389 6 | 7 | [shade_death] 8 | id = 843 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/shade/shade.drops.toml: -------------------------------------------------------------------------------- 1 | [stronghold_shade_drop_table] 2 | roll = 128 3 | drops = [ 4 | { id = "shade_robe_top", chance = 32, members = true }, 5 | { id = "shade_robe", chance = 32, members = true }, 6 | { id = "nothing", amount = 0, chance = 64 }, 7 | ] -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/shade/shade.sounds.toml: -------------------------------------------------------------------------------- 1 | [shade_defend] 2 | id = 439 3 | 4 | [shade_attack] 5 | id = 2548 6 | 7 | [shade_death] 8 | id = 438 9 | -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/skoblin/skoblin.anims.toml: -------------------------------------------------------------------------------- 1 | [skoblin_defend] 2 | id = 11397 3 | 4 | [skoblin_death] 5 | id = 11396 6 | 7 | [skoblin_attack] 8 | id = 11398 -------------------------------------------------------------------------------- /data/entity/npc/monster/undead/zombie/zombie.sounds.toml: -------------------------------------------------------------------------------- 1 | [zombie_attack] 2 | id = 918 3 | 4 | [zombie_death] 5 | id = 922 6 | 7 | [zombie_defend] 8 | id = 923 9 | -------------------------------------------------------------------------------- /data/entity/obj/balloon/balloon_transport.ifaces.toml: -------------------------------------------------------------------------------- 1 | [balloon_map] 2 | id = 469 3 | # Grand Tree, Castle Wars, Entrana, Crafting Guild, Taverley, Varrock 4 | 5 | [balloon_side] 6 | id = 471 7 | -------------------------------------------------------------------------------- /data/entity/obj/boat/boat.jingles.toml: -------------------------------------------------------------------------------- 1 | [swamp_boaty] 2 | id = 137 3 | 4 | [ogre_boat_travel] 5 | id = 138 6 | 7 | [sailing_theme_short] 8 | id = 171 9 | 10 | [sailing_theme] 11 | id = 172 12 | -------------------------------------------------------------------------------- /data/entity/obj/canoe/canoe.items.toml: -------------------------------------------------------------------------------- 1 | 2 | [paddle] 3 | id = 7414 4 | weight = 0.02 5 | slot = "Weapon" 6 | examine = "With it, you row." 7 | 8 | [paddle_noted] 9 | id = 7415 10 | -------------------------------------------------------------------------------- /data/entity/obj/canoe/canoe.sounds.toml: -------------------------------------------------------------------------------- 1 | [canoe_roll] 2 | id = 2731 3 | 4 | [canoe_sink] 5 | id = 2732 6 | -------------------------------------------------------------------------------- /data/entity/obj/door/door.sounds.toml: -------------------------------------------------------------------------------- 1 | [door_close] 2 | id = 80 3 | 4 | [door_open] 5 | id = 81 6 | 7 | [iron_door_close] 8 | id = 70 9 | 10 | [iron_door_open] 11 | id = 71 12 | 13 | [gate_close] 14 | id = 66 15 | 16 | [gate_open] 17 | id = 67 18 | -------------------------------------------------------------------------------- /data/entity/obj/door/door.vars.toml: -------------------------------------------------------------------------------- 1 | [stuck_door] 2 | format = "int" 3 | persist = true 4 | -------------------------------------------------------------------------------- /data/entity/obj/fairy_ring/fairy_ring.ifaces.toml: -------------------------------------------------------------------------------- 1 | [fairy_ring] 2 | id = 734 3 | 4 | [travel_log] 5 | id = 735 6 | -------------------------------------------------------------------------------- /data/entity/obj/gnome_glider/gnome_glider.ifaces.toml: -------------------------------------------------------------------------------- 1 | [glider_map] 2 | id = 138 3 | -------------------------------------------------------------------------------- /data/entity/obj/obj.sounds.toml: -------------------------------------------------------------------------------- 1 | [chest_open] 2 | id = 52 3 | 4 | [casket_open] 5 | id = 50 6 | 7 | [cupboard_close] 8 | id = 57 9 | 10 | [cupboard_open] 11 | id = 58 12 | 13 | [destroy_object] 14 | id = 2381 15 | 16 | [lever] 17 | id = 2400 18 | 19 | [coffin_open] 20 | id = 54 21 | 22 | -------------------------------------------------------------------------------- /data/entity/obj/windmill/windmill.varps.toml: -------------------------------------------------------------------------------- 1 | [flour_bin] 2 | id = 695 3 | persist = true 4 | default = 0 5 | -------------------------------------------------------------------------------- /data/entity/obj/windmill/windmill.vars.toml: -------------------------------------------------------------------------------- 1 | [hopper_bin] 2 | format = "boolean" 3 | persist = true 4 | -------------------------------------------------------------------------------- /data/entity/player/bank/bank.varcs.toml: -------------------------------------------------------------------------------- 1 | [bank_spaces_used_free] 2 | id = 1038 3 | format = "int" 4 | 5 | [bank_spaces_used_member] 6 | id = 192 7 | format = "int" 8 | -------------------------------------------------------------------------------- /data/entity/player/bank/bank.varps.toml: -------------------------------------------------------------------------------- 1 | [last_bank_amount] 2 | id = 1249 3 | format = "int" 4 | persist = true 5 | 6 | [bank_item_mode] 7 | id = 304 8 | persist = true 9 | format = "list" 10 | values = ["swap", "insert"] 11 | 12 | [bank_notes] 13 | id = 115 14 | persist = true 15 | format = "boolean" 16 | -------------------------------------------------------------------------------- /data/entity/player/combat/combat.varcs.toml: -------------------------------------------------------------------------------- 1 | [multi_combat_area] 2 | id = 616 3 | format = "boolean" 4 | -------------------------------------------------------------------------------- /data/entity/player/credit.varps.toml: -------------------------------------------------------------------------------- 1 | [credit_total] 2 | id = 1448 3 | format = "int" 4 | 5 | -------------------------------------------------------------------------------- /data/entity/player/effect/energy/rest.gfx.toml: -------------------------------------------------------------------------------- 1 | [run_replenish] 2 | id = 1733 3 | -------------------------------------------------------------------------------- /data/entity/player/effect/poison/poison.varps.toml: -------------------------------------------------------------------------------- 1 | [poison] 2 | id = 102 3 | format = "int" 4 | persist = true 5 | 6 | [disease] 7 | id = 456 8 | format = "int" 9 | persist = true 10 | -------------------------------------------------------------------------------- /data/entity/player/effect/poison/poison.vars.toml: -------------------------------------------------------------------------------- 1 | [disease_damage] 2 | format = "int" 3 | persist = true 4 | 5 | [poison_damage] 6 | format = "int" 7 | persist = true 8 | -------------------------------------------------------------------------------- /data/entity/player/effect/skull/skull.vars.toml: -------------------------------------------------------------------------------- 1 | [skull] 2 | format = "int" 3 | persist = true 4 | 5 | [skull_duration] 6 | format = "int" 7 | persist = true 8 | -------------------------------------------------------------------------------- /data/entity/player/effect/stun/stun.vars.toml: -------------------------------------------------------------------------------- 1 | [stun_immunity] 2 | format = "int" 3 | persist = true 4 | 5 | [bind_immunity] 6 | format = "int" 7 | persist = true 8 | 9 | -------------------------------------------------------------------------------- /data/entity/player/equipment/worn_equipment.invs.toml: -------------------------------------------------------------------------------- 1 | [worn_equipment] 2 | id = 94 3 | -------------------------------------------------------------------------------- /data/entity/player/equipment/worn_equipment.strings.toml: -------------------------------------------------------------------------------- 1 | [equipment_name] 2 | id = 321 3 | 4 | [equipment_titles] 5 | id = 322 6 | 7 | [equipment_names] 8 | id = 323 9 | 10 | [equipment_stats] 11 | id = 324 12 | 13 | [comparison_stats] 14 | id = 325 15 | -------------------------------------------------------------------------------- /data/entity/player/equipment/worn_equipment.varbits.toml: -------------------------------------------------------------------------------- 1 | [equipment_bank_button] 2 | id = 4894 3 | format = "boolean" 4 | -------------------------------------------------------------------------------- /data/entity/player/equipment/worn_equipment.varcs.toml: -------------------------------------------------------------------------------- 1 | [equipment_emote] 2 | id = 779 3 | default = "1426" 4 | -------------------------------------------------------------------------------- /data/entity/player/inventory/inventory.invs.toml: -------------------------------------------------------------------------------- 1 | [inventory] 2 | id = 93 3 | width = 4 4 | height = 7 5 | -------------------------------------------------------------------------------- /data/entity/player/inventory/inventory_side.ifaces.toml: -------------------------------------------------------------------------------- 1 | [inventory_ranging] 2 | id = 512 3 | 4 | [unknown_side0] 5 | id = 517 6 | 7 | [unknown_side1] 8 | id = 602 9 | 10 | [lore_bank_side] 11 | id = 665 12 | 13 | [unknown_side5] 14 | id = 878 15 | 16 | [unknown_side6] 17 | id = 881 18 | -------------------------------------------------------------------------------- /data/entity/player/kept/items_kept_on_death.ifaces.toml: -------------------------------------------------------------------------------- 1 | [items_kept_on_death] 2 | id = 102 3 | type = "main_screen" 4 | components = { 5 | enter_wild = 28, 6 | max_items = 30, 7 | carried_wealth = 31, 8 | risked_wealth = 32, 9 | kept_items = 18, 10 | lost_items = 21, 11 | } 12 | -------------------------------------------------------------------------------- /data/entity/player/modal/character_creation/character_rename.ifaces.toml: -------------------------------------------------------------------------------- 1 | [character_rename] 2 | id = 890 3 | -------------------------------------------------------------------------------- /data/entity/player/modal/character_creation/character_rename.vars.toml: -------------------------------------------------------------------------------- 1 | [rename_delay] 2 | format = "int" 3 | persist = true 4 | 5 | [name_history] 6 | persist = true 7 | -------------------------------------------------------------------------------- /data/entity/player/modal/chat_box/chat_box.varbits.toml: -------------------------------------------------------------------------------- 1 | [game_status] 2 | id = 6161 3 | persist = true 4 | format = "list" 5 | values = [ "all", "filter" ] 6 | -------------------------------------------------------------------------------- /data/entity/player/modal/chat_box/chat_box.varcs.toml: -------------------------------------------------------------------------------- 1 | [quick_chat_type] 2 | id = 128 3 | persist = true 4 | format = "list" 5 | values = [ "normal", "private", "clan" ] 6 | -------------------------------------------------------------------------------- /data/entity/player/modal/chat_box/chat_box.varps.toml: -------------------------------------------------------------------------------- 1 | [assist_status] 2 | id = 1055 3 | persist = true 4 | format = "list" 5 | values = [ "on", "friends", "off" ] 6 | 7 | [clan_status] 8 | id = 1054 9 | persist = true 10 | format = "list" 11 | values = [ "on", "friends", "off" ] 12 | -------------------------------------------------------------------------------- /data/entity/player/modal/makeover/makeover.gfx.toml: -------------------------------------------------------------------------------- 1 | [dressing_room_start] 2 | id = 1181 3 | 4 | [dressing_room] 5 | id = 1182 6 | 7 | [dressing_room_finish] 8 | id = 1183 9 | -------------------------------------------------------------------------------- /data/entity/player/modal/tab/emote/emotes.jingles.toml: -------------------------------------------------------------------------------- 1 | [harmony_snow_globe] 2 | id = 296 3 | 4 | [air_guitar] 5 | id = 302 6 | -------------------------------------------------------------------------------- /data/entity/player/modal/tab/logout.ifaces.toml: -------------------------------------------------------------------------------- 1 | [logout] 2 | id = 182 3 | type = "logout_tab" 4 | components = { 5 | lobby = 5, 6 | login = 10, 7 | } 8 | -------------------------------------------------------------------------------- /data/entity/player/modal/toplevel/fade.varbits.toml: -------------------------------------------------------------------------------- 1 | [fade_speed] 2 | id = 278 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/entity/player/modal/toplevel/gameframe.varbits.toml: -------------------------------------------------------------------------------- 1 | [life_points] 2 | id = 7198 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/entity/player/modal/toplevel/gameframe.vars.toml: -------------------------------------------------------------------------------- 1 | [energy] 2 | format = "int" 3 | persist = true 4 | default = 10000 5 | -------------------------------------------------------------------------------- /data/entity/player/modal/world_map/world_map.strings.toml: -------------------------------------------------------------------------------- 1 | [world_map_marker_text_1] 2 | id = 53 3 | 4 | [world_map_marker_text_2] 5 | id = 54 6 | 7 | [world_map_marker_text_3] 8 | id = 55 9 | 10 | [world_map_marker_text_4] 11 | id = 56 12 | 13 | [world_map_marker_text_5] 14 | id = 190 15 | -------------------------------------------------------------------------------- /data/entity/player/modal/world_map/world_map.varps.toml: -------------------------------------------------------------------------------- 1 | [world_map_marker_custom] 2 | id = 1159 3 | format = "int" 4 | persist = true 5 | -------------------------------------------------------------------------------- /data/entity/player/player.gfx.toml: -------------------------------------------------------------------------------- 1 | [assist] 2 | id = 1247 3 | 4 | [level_up] 5 | id = 199 6 | -------------------------------------------------------------------------------- /data/entity/player/player.jingles.toml: -------------------------------------------------------------------------------- 1 | [death_unused] 2 | id = 89 3 | 4 | [death] 5 | id = 90 6 | -------------------------------------------------------------------------------- /data/minigame/barbarian_assault/barbarian_assault.jingles.toml: -------------------------------------------------------------------------------- 1 | [barbarian_assault_wave_complete] 2 | id = 142 3 | 4 | [barbarian_assault_penance_queen_appear] 5 | id = 143 6 | -------------------------------------------------------------------------------- /data/minigame/barbarian_assault/barbarian_assault.varbits.toml: -------------------------------------------------------------------------------- 1 | [minigame_format] 2 | id = 4540 3 | format = "map" 4 | default = "none" 5 | values = { 6 | none = 0, 7 | barbarian_assault = 1, 8 | stealing_creation = 2, 9 | fist_of_guthix = 3, 10 | } 11 | -------------------------------------------------------------------------------- /data/minigame/barrows_brothers/barrows.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 14131 3 | { id = "crumbling_tome", x = 3571, y = 3312, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/minigame/barrows_brothers/barrows_brother.vars.toml: -------------------------------------------------------------------------------- 1 | [ahrims_set_effect] 2 | format = "boolean" 3 | -------------------------------------------------------------------------------- /data/minigame/barrows_brothers/barrows_brothers.ifaces.toml: -------------------------------------------------------------------------------- 1 | [barrows_brothers_slain] 2 | id = 24 3 | -------------------------------------------------------------------------------- /data/minigame/barrows_brothers/barrows_brothers.jingles.toml: -------------------------------------------------------------------------------- 1 | [barrows_chest] 2 | id = 77 3 | 4 | [barrows_complete] 5 | id = 77 6 | -------------------------------------------------------------------------------- /data/minigame/blast_furnace/blast_furnace.ifaces.toml: -------------------------------------------------------------------------------- 1 | [blast_furance_bar_stock] 2 | id = 28 3 | -------------------------------------------------------------------------------- /data/minigame/blast_furnace/blast_furnace.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 7757 3 | { id = "spade", x = 1951, y = 4964, delay = 100, members = true }, 4 | { id = "bucket", x = 1943, y = 4956, delay = 100, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/minigame/bounty_hunter/bounty_hunter.ifaces.toml: -------------------------------------------------------------------------------- 1 | [bounty_hunter_target] 2 | id = 591 3 | 4 | [bounty_overlay_waiting] 5 | id = 656 6 | -------------------------------------------------------------------------------- /data/minigame/burthorpe_games_room/burthorpe_games_room.jingles.toml: -------------------------------------------------------------------------------- 1 | [burthorpe_games_room_draw] 2 | id = 108 3 | 4 | [burthorpe_games_room_loss] 5 | id = 109 6 | 7 | [burthorpe_games_room_victory] 8 | id = 110 9 | -------------------------------------------------------------------------------- /data/minigame/castle_wars/castle_wars.areas.toml: -------------------------------------------------------------------------------- 1 | [castle_wars_multi_area] 2 | x = [2368, 2431] 3 | y = [3072, 3135] 4 | level = 0 5 | tags = ["multi_combat"] 6 | 7 | [castle_wars_teleport] 8 | x = [2440, 2444] 9 | y = [3087, 3091] 10 | tags = ["teleport"] 11 | -------------------------------------------------------------------------------- /data/minigame/castle_wars/castle_wars.ifaces.toml: -------------------------------------------------------------------------------- 1 | [dialogue_castlewars_score] 2 | id = 55 3 | type = "dialogue_box" 4 | 5 | [castlewars_shopside] 6 | id = 56 7 | 8 | [castlewars_status_overlay] 9 | id = 57 10 | type = "dialogue_box" 11 | -------------------------------------------------------------------------------- /data/minigame/castle_wars/castle_wars.jingles.toml: -------------------------------------------------------------------------------- 1 | [castle_wars_draw] 2 | id = 80 3 | 4 | [castle_wars_loss] 5 | id = 81 6 | 7 | [castle_wars_win] 8 | id = 82 9 | -------------------------------------------------------------------------------- /data/minigame/castle_wars/castle_wars.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_chest_castle_wars] 2 | id = 4483 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/minigame/champions_challenge/champions_challenge.jingles.toml: -------------------------------------------------------------------------------- 1 | [champions_challenge_victory] 2 | id = 85 3 | -------------------------------------------------------------------------------- /data/minigame/champions_challenge/champions_challenge.teles.toml: -------------------------------------------------------------------------------- 1 | # 12696 champions_challenge 2 | [39329] 3 | option = "Climb-up" 4 | tile = { x = 3165, y = 4514 } 5 | delta = { x = -198, y = -1314 } 6 | 7 | -------------------------------------------------------------------------------- /data/minigame/champions_challenge/champions_challenge.varbits.toml: -------------------------------------------------------------------------------- 1 | [completed_champions_challenges] 2 | id = 6764 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/minigame/clan_wars/clan_wars.areas.toml: -------------------------------------------------------------------------------- 1 | [clan_wars_teleport] 2 | x = [3266, 3270] 3 | y = [3679, 3682] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/minigame/clan_wars/clan_wars.ifaces.toml: -------------------------------------------------------------------------------- 1 | [clan_wars] 2 | id = 789 3 | 4 | [clan_wars_defeat] 5 | id = 790 6 | 7 | [clan_wars_request] 8 | id = 791 9 | 10 | [clan_wars_overview] 11 | id = 792 12 | 13 | [clan_wars_respawn] 14 | id = 793 15 | -------------------------------------------------------------------------------- /data/minigame/duel_arena/duel_arena.areas.toml: -------------------------------------------------------------------------------- 1 | [duel_arena_teleport] 2 | x = [3313, 3317] 3 | y = [3233, 3237] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/minigame/duel_arena/duel_arena.jingles.toml: -------------------------------------------------------------------------------- 1 | [duel_start] 2 | id = 97 3 | 4 | [duel_arena_victory] 5 | id = 98 6 | -------------------------------------------------------------------------------- /data/minigame/duel_arena/duel_arena.shops.toml: -------------------------------------------------------------------------------- 1 | [shop_of_distaste] 2 | id = 334 3 | defaults = [ 4 | { id = "rotten_tomato", amount = 100 }, 5 | ] 6 | -------------------------------------------------------------------------------- /data/minigame/duel_arena/duel_arena.teles.toml: -------------------------------------------------------------------------------- 1 | # 12879 duel_arena 2 | [39273] 3 | option = "Climb-up" 4 | tile = { x = 3220, y = 4522 } 5 | to = { x = 3014, y = 3257 } 6 | 7 | -------------------------------------------------------------------------------- /data/minigame/familiarisation/familiarisation.varbits.toml: -------------------------------------------------------------------------------- 1 | [familiarisation_raw_shards] 2 | id = 7093 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/minigame/first_of_guthix/fist_of_guthix.areas.toml: -------------------------------------------------------------------------------- 1 | [fist_of_guthix_teleport] 2 | x = [1692, 1696] 3 | y = [5599, 5603] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/minigame/first_of_guthix/fist_of_guthix.ifaces.toml: -------------------------------------------------------------------------------- 1 | [fist_of_guthix] 2 | id = 730 3 | 4 | [fist_of_guthix_waiting] 5 | id = 731 6 | 7 | [fist_of_guthix_rewards] 8 | id = 732 9 | -------------------------------------------------------------------------------- /data/minigame/first_of_guthix/fist_of_guthix.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 6743 3 | { id = "banker_fist_of_guthix", x = 1705, y = 5599 }, 4 | ] -------------------------------------------------------------------------------- /data/minigame/first_of_guthix/fist_of_guthix.varbits.toml: -------------------------------------------------------------------------------- 1 | [fist_of_guthix_charges] 2 | id = 4562 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/minigame/first_of_guthix/fist_of_guthix.varps.toml: -------------------------------------------------------------------------------- 1 | [fist_of_guthix_rating] 2 | id = 1405 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/minigame/gnome_resturant/gnome_restaurant.jingles.toml: -------------------------------------------------------------------------------- 1 | [gnome_restaurant_reward_token_delivery] 2 | id = 111 3 | -------------------------------------------------------------------------------- /data/minigame/gnomeball/gnomeball.items.toml: -------------------------------------------------------------------------------- 1 | 2 | [gnomeball] 3 | id = 751 4 | weight = 0.5 5 | slot = "Weapon" 6 | examine = "A common gnomeball, obtained by playing gnomeball." 7 | 8 | [gnomeball_noted] 9 | id = 752 10 | -------------------------------------------------------------------------------- /data/minigame/gnomeball/gnomeball.jingles.toml: -------------------------------------------------------------------------------- 1 | [gnomeball_goal] 2 | id = 3 3 | -------------------------------------------------------------------------------- /data/minigame/great_orb_project/great_orb_project.gfx.toml: -------------------------------------------------------------------------------- 1 | [barrier] 2 | id = 1752 3 | -------------------------------------------------------------------------------- /data/minigame/great_orb_project/great_orb_project.ifaces.toml: -------------------------------------------------------------------------------- 1 | [rc_guild_side] 2 | id = 778 3 | 4 | [rc_guild_rewards] 5 | id = 779 6 | -------------------------------------------------------------------------------- /data/minigame/impetuous_impulses/impetuous_impulses.shops.toml: -------------------------------------------------------------------------------- 1 | [elnocks_backup_supply] 2 | id = 564 3 | defaults = [ 4 | { id = "impling_jar", amount = 10 }, 5 | ] 6 | -------------------------------------------------------------------------------- /data/minigame/mobilising_armies/mobilising_armies.areas.toml: -------------------------------------------------------------------------------- 1 | [mobilising_armies_teleport] 2 | x = [2412, 2415] 3 | y = [2847, 2849] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/minigame/mobilising_armies/mobilising_armies.ifaces.toml: -------------------------------------------------------------------------------- 1 | [prefixes] 2 | id = 865 3 | -------------------------------------------------------------------------------- /data/minigame/mobilising_armies/mobilising_armies.varbits.toml: -------------------------------------------------------------------------------- 1 | [investment_credits] 2 | id = 6351 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/minigame/pest_control/pest_control.areas.toml: -------------------------------------------------------------------------------- 1 | [pest_control_multi_area] 2 | x = [2624, 2687] 3 | y = [2560, 2623] 4 | level = 0 5 | tags = ["multi_combat"] 6 | -------------------------------------------------------------------------------- /data/minigame/pest_control/pest_control.gfx.toml: -------------------------------------------------------------------------------- 1 | [portal] 2 | id = 654 3 | -------------------------------------------------------------------------------- /data/minigame/pest_control/pest_control.ifaces.toml: -------------------------------------------------------------------------------- 1 | [pest_control_rewards] 2 | id = 267 3 | 4 | [pest_control_waiting] 5 | id = 407 6 | 7 | [pest_control_playing] 8 | id = 408 9 | -------------------------------------------------------------------------------- /data/minigame/pest_control/pest_control.jingles.toml: -------------------------------------------------------------------------------- 1 | [pest_control_defeat] 2 | id = 144 3 | 4 | [pest_control_win] 5 | id = 145 6 | -------------------------------------------------------------------------------- /data/minigame/pest_control/pest_control.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_booth_void_knights_outpost] 2 | id = 14369 3 | examine = "The bank teller will serve you from here." 4 | -------------------------------------------------------------------------------- /data/minigame/pest_control/pest_control.vars.toml: -------------------------------------------------------------------------------- 1 | [void_set_effect] 2 | format = "boolean" 3 | 4 | [elite_void_set_effect] 5 | format = "boolean" 6 | -------------------------------------------------------------------------------- /data/minigame/pyramid_plunder/pyramid_plunder.jingles.toml: -------------------------------------------------------------------------------- 1 | [pyramid_plunder_snake_charming] 2 | id = 417 3 | -------------------------------------------------------------------------------- /data/minigame/pyramid_plunder/pyramid_plunder.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 7749 3 | { id = "guardian_mummy", x = 1934, y = 4427, level = 3, direction = "SOUTH" }, 4 | ] -------------------------------------------------------------------------------- /data/minigame/pyramid_plunder/pyramid_plunder.npcs.toml: -------------------------------------------------------------------------------- 1 | [guardian_mummy] 2 | id = 4476 3 | categories = ["mummy"] 4 | large_head = true 5 | examine = "Who's your mummy?" 6 | -------------------------------------------------------------------------------- /data/minigame/pyramid_plunder/pyramid_plunder.teles.toml: -------------------------------------------------------------------------------- 1 | # 7749 pyramid_plunder 2 | [games_room_stairs_up] 3 | option = "Climb-up" 4 | tile = { x = 2205, y = 4935, level = 1 } 5 | delta = { x = 694, y = -1369, level = -1 } 6 | 7 | -------------------------------------------------------------------------------- /data/minigame/rogues_den/rogues_den.jingles.toml: -------------------------------------------------------------------------------- 1 | [rogues_den_completed] 2 | id = 24 3 | -------------------------------------------------------------------------------- /data/minigame/shades_of_mort'ton/shades_of_mort'ton.jingles.toml: -------------------------------------------------------------------------------- 1 | [shades_of_mortton_temple_built] 2 | id = 191 3 | -------------------------------------------------------------------------------- /data/minigame/soul_wars/soul_wars.ifaces.toml: -------------------------------------------------------------------------------- 1 | [soul_wars_rewards] 2 | id = 276 3 | 4 | [soul_wars_demo] 5 | id = 834 6 | 7 | [soul_wars] 8 | id = 836 9 | 10 | [soul_wars_waiting] 11 | id = 837 12 | 13 | [soul_wars_side1] 14 | id = 839 15 | 16 | [soul_wars_side2] 17 | id = 841 18 | -------------------------------------------------------------------------------- /data/minigame/soul_wars/soul_wars.jingles.toml: -------------------------------------------------------------------------------- 1 | [soul_warssoul_wars_loss] 2 | id = 379 3 | 4 | [soul_wars_win] 5 | id = 380 6 | -------------------------------------------------------------------------------- /data/minigame/soul_wars/soul_wars.objs.toml: -------------------------------------------------------------------------------- 1 | [bank_chest_soul_wars] 2 | id = 42192 3 | examine = "I can store my items safely here." 4 | -------------------------------------------------------------------------------- /data/minigame/stealing_creation/stealing_creation.varbits.toml: -------------------------------------------------------------------------------- 1 | [stealing_creation_points] 2 | id = 5505 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/minigame/temple_trekking/temple_trekking.jingles.toml: -------------------------------------------------------------------------------- 1 | [temple_trek_complete] 2 | id = 194 3 | 4 | [temple_trekking_start] 5 | id = 195 6 | 7 | [temple_trekking_failure] 8 | id = 196 9 | 10 | [temple_trekking_success] 11 | id = 197 12 | -------------------------------------------------------------------------------- /data/minigame/treasure_trail/treasure_trail.jingles.toml: -------------------------------------------------------------------------------- 1 | [teasure_trail_complete] 2 | id = 193 3 | -------------------------------------------------------------------------------- /data/minigame/tzhaar_fight_cave/tzhaar_fight_cave.areas.toml: -------------------------------------------------------------------------------- 1 | [tzhaar_fight_cave_multi_area] 2 | x = [2368, 2559] 3 | y = [5056, 5183] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/minigame/tzhaar_fight_cave/tzhaar_fight_pit.jingles.toml: -------------------------------------------------------------------------------- 1 | [fight_cave_wave_complete] 2 | id = 76 3 | -------------------------------------------------------------------------------- /data/minigame/tzhaar_fight_pits/fight_pits.jingles.toml: -------------------------------------------------------------------------------- 1 | [fight_pits_champion] 2 | id = 75 3 | -------------------------------------------------------------------------------- /data/minigame/vinesweeper/vinesweeper.gfx.toml: -------------------------------------------------------------------------------- 1 | [flag] 2 | id = 1541 3 | -------------------------------------------------------------------------------- /data/minigame/warriors_guild/warriors_guild.areas.toml: -------------------------------------------------------------------------------- 1 | [warriors_guild_teleport] 2 | x = [2879, 2882] 3 | y = [3544, 3548] 4 | tags = ["teleport"] 5 | -------------------------------------------------------------------------------- /data/minigame/warriors_guild/warriors_guild.ifaces.toml: -------------------------------------------------------------------------------- 1 | [warriors_guild] 2 | id = 1057 3 | -------------------------------------------------------------------------------- /data/quest/free/cooks_assistant/cooks_assistant.objs.toml: -------------------------------------------------------------------------------- 1 | [prized_dairy_cow] 2 | id = 47721 3 | examine = "Produces top-quality milk." 4 | -------------------------------------------------------------------------------- /data/quest/free/cooks_assistant/cooks_assistant.varps.toml: -------------------------------------------------------------------------------- 1 | [cooks_assistant] 2 | id = 29 3 | persist = true 4 | format = "map" 5 | default = "unstarted" 6 | values = { unstarted = 0, started = 1, completed = 2 } 7 | -------------------------------------------------------------------------------- /data/quest/free/demon_slayer/demon_slayer.areas.toml: -------------------------------------------------------------------------------- 1 | [demon_slayer_stone_circle] 2 | x = [3221, 3234] 3 | y = [3363, 3376] 4 | -------------------------------------------------------------------------------- /data/quest/free/demon_slayer/demon_slayer.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 7510 3 | { id = "gypsy_aris", x = 1878, y = 5542 }, 4 | { id = "captain_rovin", x = 1880, y = 5614, level = 2 }, 5 | ] -------------------------------------------------------------------------------- /data/quest/free/demon_slayer/demon_slayer.vars.toml: -------------------------------------------------------------------------------- 1 | [demon_slayer_bones] 2 | format = "int" 3 | persist = true 4 | default = -1 5 | -------------------------------------------------------------------------------- /data/quest/free/dorics_quest/dorics_quest.varps.toml: -------------------------------------------------------------------------------- 1 | [dorics_quest] 2 | id = 31 3 | persist = true 4 | format = "map" 5 | default = "unstarted" 6 | values = { unstarted = 0, started = 10, completed = 100 } 7 | -------------------------------------------------------------------------------- /data/quest/free/dragon_slayer/dragon_slayer.jingles.toml: -------------------------------------------------------------------------------- 1 | [dragon_slayer_defeat_elvarg] 2 | id = 267 3 | -------------------------------------------------------------------------------- /data/quest/free/gunnars_ground/gunnars_ground.objs.toml: -------------------------------------------------------------------------------- 1 | [gudrun_and_dororan] 2 | id = 5657 3 | examine = "gudrun and dororan" 4 | -------------------------------------------------------------------------------- /data/quest/free/gunnars_ground/gunnars_ground.vars.toml: -------------------------------------------------------------------------------- 1 | [dororan_ruby_bracelet] 2 | format = "boolean" 3 | persist = true 4 | 5 | [dororan_dragonstone_necklace] 6 | format = "boolean" 7 | persist = true 8 | 9 | [dororan_onyx_amulet] 10 | format = "boolean" 11 | persist = true 12 | -------------------------------------------------------------------------------- /data/quest/free/prince_ali_rescue/prince_ali_rescue.anims.toml: -------------------------------------------------------------------------------- 1 | [mixing_dye] 2 | id = 4352 -------------------------------------------------------------------------------- /data/quest/free/prince_ali_rescue/prince_ali_rescue.gfx.toml: -------------------------------------------------------------------------------- 1 | [mixing_yellow_dye] 2 | id = 716 3 | 4 | [mixing_red_dye] 5 | id = 717 6 | 7 | [mixing_blue_dye] 8 | id = 718 9 | -------------------------------------------------------------------------------- /data/quest/free/prince_ali_rescue/prince_ali_rescue.objs.toml: -------------------------------------------------------------------------------- 1 | [draynor_prison_door_closed] 2 | id = 2881 3 | material = "iron" 4 | examine = "It's closed" 5 | 6 | [draynor_prison_door_opened] 7 | id = 1541 8 | -------------------------------------------------------------------------------- /data/quest/free/prince_ali_rescue/prince_ali_rescue.recipes.toml: -------------------------------------------------------------------------------- 1 | [dye_wig] 2 | remove = ["wig_grey", "yellow_dye"] 3 | add = ["wig_blonde"] 4 | message = "You dye the wig blonde." 5 | -------------------------------------------------------------------------------- /data/quest/free/prince_ali_rescue/prince_ali_rescue.sounds.toml: -------------------------------------------------------------------------------- 1 | [unlock] 2 | id = 2419 3 | 4 | [locked] 5 | id = 2402 6 | -------------------------------------------------------------------------------- /data/quest/free/prince_ali_rescue/prince_ali_rescue.vars.toml: -------------------------------------------------------------------------------- 1 | [prince_ali_rescue_leela] 2 | persist = true 3 | format = "boolean" 4 | 5 | [prince_ali_rescue_key_made] 6 | persist = true 7 | format = "boolean" 8 | 9 | [prince_ali_rescue_key_given] 10 | persist = true 11 | format = "boolean" 12 | -------------------------------------------------------------------------------- /data/quest/free/shield_of_arrav/shield_of_arrav.objs.toml: -------------------------------------------------------------------------------- 1 | [bookcase_shield_of_arrav] 2 | id = 2402 3 | examine = "A good source of books!" 4 | -------------------------------------------------------------------------------- /data/quest/free/the_knights_sword/the_knights_sword.objs.toml: -------------------------------------------------------------------------------- 1 | [cupboard_the_knights_sword_closed] 2 | id = 2271 3 | examine = "I wonder what's inside?" 4 | 5 | [cupboard_the_knights_sword_opened] 6 | id = 2272 7 | examine = "It's open." 8 | -------------------------------------------------------------------------------- /data/quest/free/the_knights_sword/the_knights_sword.varps.toml: -------------------------------------------------------------------------------- 1 | [the_knights_sword] 2 | id = 122 3 | persist = true 4 | format = "list" 5 | values = [ "unstarted", "started", "find_thurgo", "happy_thurgo", "picture", "cupboard", "blurite_sword", "completed" ] 6 | -------------------------------------------------------------------------------- /data/quest/free/the_restless_ghost/the_restless_ghost.anims.toml: -------------------------------------------------------------------------------- 1 | [restless_ghost_ascends] 2 | id = 4018 3 | 4 | [restless_ghost_awakens] 5 | id = 4019 6 | 7 | [restless_ghost_warlock_spawn] 8 | id = 1552 9 | -------------------------------------------------------------------------------- /data/quest/free/the_restless_ghost/the_restless_ghost.gfx.toml: -------------------------------------------------------------------------------- 1 | [restless_ghost] 2 | id = 668 3 | -------------------------------------------------------------------------------- /data/quest/free/the_restless_ghost/the_restless_ghost.sounds.toml: -------------------------------------------------------------------------------- 1 | [bigghost_appear] 2 | id = 1595 3 | 4 | [rg_ghost_approach] 5 | id = 1743 6 | -------------------------------------------------------------------------------- /data/quest/free/the_restless_ghost/the_restless_ghost.varps.toml: -------------------------------------------------------------------------------- 1 | [the_restless_ghost] 2 | id = 107 3 | persist = true 4 | format = "map" 5 | default = "unstarted" 6 | values = { unstarted = 0, started = 1, ghost = 2, mining_spot = 3, found_skull = 4, completed = 5 } 7 | -------------------------------------------------------------------------------- /data/quest/free/unstable_foundations/unstable_foundations.ifaces.toml: -------------------------------------------------------------------------------- 1 | [vants_requests] 2 | id = 761 3 | -------------------------------------------------------------------------------- /data/quest/free/unstable_foundations/unstable_foundations.varps.toml: -------------------------------------------------------------------------------- 1 | [unstable_foundations] 2 | id = 281 3 | persist = true 4 | format = "map" 5 | default = "unstarted" 6 | values = { unstarted = 0, incomplete = 1, completed = 1000 } -------------------------------------------------------------------------------- /data/quest/members/animal_magnetism/animal_magnetism.jingles.toml: -------------------------------------------------------------------------------- 1 | [animal_magnetism_chicken_cutscene] 2 | id = 235 3 | -------------------------------------------------------------------------------- /data/quest/members/between_a_rock/between_a_rock.jingles.toml: -------------------------------------------------------------------------------- 1 | [between_a_rock_schematics_completed] 2 | id = 87 3 | -------------------------------------------------------------------------------- /data/quest/members/big_chompy_bird_hunting/big_chompy_bird_hunting.gfx.toml: -------------------------------------------------------------------------------- 1 | [ogre_bellows] 2 | id = 241 3 | -------------------------------------------------------------------------------- /data/quest/members/clock_tower/clock_tower_dungeon.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10390 3 | { id = "rat_poison", x = 2564, y = 9662, delay = 100, members = true }, 4 | { id = "childs_blanket", x = 2570, y = 9604, delay = 50, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/quest/members/cold_war/cold_war.jingles.toml: -------------------------------------------------------------------------------- 1 | [cold_war_penguin_bongos] 2 | id = 240 3 | 4 | [cold_war_cowbell] 5 | id = 241 6 | -------------------------------------------------------------------------------- /data/quest/members/death_plateau/death_plateau.jingles.toml: -------------------------------------------------------------------------------- 1 | [death_plateau_dice_win] 2 | id = 94 3 | 4 | [death_plateau_dice_loss] 5 | id = 161 6 | -------------------------------------------------------------------------------- /data/quest/members/death_to_the_dorgeshuun/death_to_the_dorgeshuun.jingles.toml: -------------------------------------------------------------------------------- 1 | [death_to_the_dorgeshuun_first_sunshine] 2 | id = 103 3 | 4 | [dorgesh_kaan_nursery] 5 | id = 246 6 | -------------------------------------------------------------------------------- /data/quest/members/desert_treasure/desert_treasure.areas.toml: -------------------------------------------------------------------------------- 1 | [desert_treasure_multi_area] 2 | x = [2752, 2728, 2728, 2720, 2720, 2712, 2712, 2736, 2736, 2752] 3 | y = [5064, 5064, 5088, 5088, 5096, 5096, 5112, 5112, 5120, 5120] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/quest/members/druidic_ritual/druidic_ritual.objs.toml: -------------------------------------------------------------------------------- 1 | [cauldron_of_thunder] 2 | id = 2142 3 | examine = "An eerie glow permeates the cauldron." 4 | -------------------------------------------------------------------------------- /data/quest/members/druidic_ritual/druidic_ritual.varps.toml: -------------------------------------------------------------------------------- 1 | [druidic_ritual] 2 | id = 80 3 | persist = true 4 | format = "map" 5 | default = "unstarted" 6 | values = { 7 | unstarted = 0, 8 | started = 1, 9 | cauldron = 2, 10 | kaqemeex = 3, 11 | completed = 4, 12 | } 13 | -------------------------------------------------------------------------------- /data/quest/members/dwarf_cannon/dwarven_outpost.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10294 3 | { id = "hammer", x = 2579, y = 3463, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/quest/members/dwarf_cannon/dwarven_outpost.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10294 3 | { id = "rat", x = 2610, y = 3479, members = true }, 4 | { id = "rat", x = 2614, y = 3478, members = true }, 5 | { id = "rat", x = 2611, y = 3475, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/quest/members/eagles_peak/eagels_peak.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9270 3 | { id = "musician_piscatoris", x = 2363, y = 3492, direction = "WEST", members = true }, 4 | ] -------------------------------------------------------------------------------- /data/quest/members/enlightened_journey/enlightened_journey.jingles.toml: -------------------------------------------------------------------------------- 1 | [enlightened_journey_balloon_journey_test] 2 | id = 116 3 | 4 | [enlightened_journey_balloon_journey] 5 | id = 118 6 | -------------------------------------------------------------------------------- /data/quest/members/fairy_tale_part_2/fairy_tale_part_2.jingles.toml: -------------------------------------------------------------------------------- 1 | [fairy_tale_part_ii_fairy_godfather_pickpocket] 2 | id = 204 3 | 4 | [fairy_tale_part_ii_fairy_queen_awakens] 5 | id = 205 6 | -------------------------------------------------------------------------------- /data/quest/members/fairy_tale_part_3/fairy_tale_part_3.gfx.toml: -------------------------------------------------------------------------------- 1 | [fairy_godfather] 2 | id = 2658 3 | -------------------------------------------------------------------------------- /data/quest/members/forgettable_tale/forgettable_tale.jingles.toml: -------------------------------------------------------------------------------- 1 | [forgettable_tale_puzzle_completed] 2 | id = 12 3 | -------------------------------------------------------------------------------- /data/quest/members/fremennik_isles/fremennik_isles.jingles.toml: -------------------------------------------------------------------------------- 1 | [fremennik_isles_berating_the_king] 2 | id = 242 3 | -------------------------------------------------------------------------------- /data/quest/members/fremennik_trials/fremennik_trials.jingles.toml: -------------------------------------------------------------------------------- 1 | [fremennik_trials_ballad_completed] 2 | id = 163 3 | 4 | [fremennik_trials_ballad_refrain] 5 | id = 164 6 | 7 | [fremennik_trials_ballad_opening] 8 | id = 165 9 | -------------------------------------------------------------------------------- /data/quest/members/ghosts_ahoy/ghosts_ahoy.objs.toml: -------------------------------------------------------------------------------- 1 | [ectofuntus] 2 | id = 5282 3 | examine = "A ghastly fountain filled with slime and bones, the source of Necrovarus' power." 4 | -------------------------------------------------------------------------------- /data/quest/members/great_brain_robbery/great_brain_robbery.jingles.toml: -------------------------------------------------------------------------------- 1 | [great_brain_robbery_kitten_cutscene] 2 | id = 244 3 | -------------------------------------------------------------------------------- /data/quest/members/haunted_mine/haunted_mine.areas.toml: -------------------------------------------------------------------------------- 1 | [haunted_mine_boss_multi_area] 2 | x = [2752, 2815] 3 | y = [4416, 4479] 4 | tags = ["multi_combat"] 5 | 6 | [tarns_lair_multi_area] 7 | x = [3136, 3199] 8 | y = [4544, 4663] 9 | tags = ["multi_combat"] 10 | -------------------------------------------------------------------------------- /data/quest/members/in_search_of_the_myreque/in_search_of_the_myreque.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 14486 3 | { id = "rat", x = 3619, y = 9621, members = true }, 4 | { id = "rat", x = 3627, y = 9618, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/quest/members/kings_ransom/kings_ransom.jingles.toml: -------------------------------------------------------------------------------- 1 | [kings_ransom_king_arthur_is_freed] 2 | id = 271 3 | 4 | [kings_ransom_trial_verdict] 5 | id = 272 6 | -------------------------------------------------------------------------------- /data/quest/members/legends_quest/viyeldi_cave.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 9545 3 | { id = "lesser_demon", x = 2416, y = 4684, members = true }, 4 | { id = "lesser_demon_2", x = 2413, y = 4681, members = true }, 5 | { id = "lesser_demon_3", x = 2412, y = 4677, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/quest/members/lunar_diplomacy/lunar_diplomacy.jingles.toml: -------------------------------------------------------------------------------- 1 | [lunar_diplomacy_dream_puzzle_complete] 2 | id = 95 3 | 4 | [lunar_diplomacy_dreamland_enter] 5 | id = 96 6 | -------------------------------------------------------------------------------- /data/quest/members/monkey_madness/gnome_glider_hangar.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 12440 3 | { id = "oil_can", x = 3092, y = 9755, delay = 100 }, 4 | ] -------------------------------------------------------------------------------- /data/quest/members/monkey_madness/monkey_madness.jingles.toml: -------------------------------------------------------------------------------- 1 | [monkey_madness_jungle_demon_defated] 2 | id = 134 3 | 4 | [monkey_madness_cutscene] 5 | id = 135 6 | -------------------------------------------------------------------------------- /data/quest/members/monks_friend/monks_friend.items.toml: -------------------------------------------------------------------------------- 1 | [childs_blanket] 2 | id = 90 3 | tradeable = false 4 | weight = 0.907 5 | examine = "It's very soft!" 6 | kept = "Wilderness" 7 | -------------------------------------------------------------------------------- /data/quest/members/mountain_daughter/mountain_daughter.jingles.toml: -------------------------------------------------------------------------------- 1 | [mountain_daughter_quest_complete] 2 | id = 166 3 | -------------------------------------------------------------------------------- /data/quest/members/mournings_end_part_2/mournings_end_part_2.ifaces.toml: -------------------------------------------------------------------------------- 1 | [items_needed_list] 2 | id = 227 3 | -------------------------------------------------------------------------------- /data/quest/members/mournings_end_part_2/mournings_end_part_2.jingles.toml: -------------------------------------------------------------------------------- 1 | [mournings_end_part_ii_crystal_obtained] 2 | id = 139 3 | -------------------------------------------------------------------------------- /data/quest/members/mournings_end_part_2/mournings_end_part_2.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 7496 3 | { id = "thorgel", x = 1860, y = 4641, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/quest/members/mournings_end_part_2/mournings_end_part_2.teles.toml: -------------------------------------------------------------------------------- 1 | # 7496 mournings_end_part_2 2 | [cosmic_altar_portal] 3 | option = "Enter" 4 | tile = { x = 2163, y = 4833 } 5 | to = { x = 2407, y = 4379 } 6 | 7 | -------------------------------------------------------------------------------- /data/quest/members/murder_mystery/murder_mystery.objs.toml: -------------------------------------------------------------------------------- 1 | [fountain_sinclair_family] 2 | id = 2654 3 | examine = "This fountain suits the garden." 4 | -------------------------------------------------------------------------------- /data/quest/members/my_arms_big_adventure/my_arms_big_adventure.gfx.toml: -------------------------------------------------------------------------------- 1 | [my_arm] 2 | id = 838 3 | -------------------------------------------------------------------------------- /data/quest/members/nature_spirit/nature_spirit.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 13720 3 | { id = "druid_pouch", x = 3443, y = 9741, delay = 100, members = true }, 4 | ] -------------------------------------------------------------------------------- /data/quest/members/one_small_favour/one_small_favour.areas.toml: -------------------------------------------------------------------------------- 1 | [hammerspikes_hangout_multi_area] 2 | x = [2960, 2975] 3 | y = [9800, 9823] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/quest/members/quiet_before_the_swarm/quiet_before_the_swarm.gfx.toml: -------------------------------------------------------------------------------- 1 | [commodore_matthias] 2 | id = 2693 3 | 4 | [commander_korasi] 5 | id = 2694 6 | 7 | [knight_diana] 8 | id = 2695 9 | 10 | [knight_bernard] 11 | id = 2696 12 | 13 | [knight_ami] 14 | id = 2697 15 | -------------------------------------------------------------------------------- /data/quest/members/ratcatchers/rat_pits.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11926 3 | { id = "rat", x = 2961, y = 9647, members = true }, 4 | { id = "rat", x = 2976, y = 9634, members = true }, 5 | { id = "rat", x = 2989, y = 9653, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/quest/members/ratcatchers/ratcatchers.jingles.toml: -------------------------------------------------------------------------------- 1 | [ratcatchers_king_rat_dies] 2 | id = 123 3 | 4 | [ratcatchers_king_rat_wins] 5 | id = 124 6 | 7 | [lazy_cat] 8 | id = 198 9 | 10 | [wily_cat] 11 | id = 199 12 | -------------------------------------------------------------------------------- /data/quest/members/recipe_for_disaster/recipe_for_disaster.ifaces.toml: -------------------------------------------------------------------------------- 1 | [free_lumbridge_guide_quiz] 2 | id = 2 3 | components = { inventory = 30 } 4 | -------------------------------------------------------------------------------- /data/quest/members/recipe_for_disaster/recipe_for_disaster.jingles.toml: -------------------------------------------------------------------------------- 1 | [recipe_for_disaster_diving_cutscene] 2 | id = 1 3 | 4 | [recipe_for_disaster_kklik_appears] 5 | id = 102 6 | 7 | [recipe_for_disaster_lumbridge_guide_quiz_complete] 8 | id = 113 9 | -------------------------------------------------------------------------------- /data/quest/members/recipe_for_disaster/recipe_for_disaster.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 7507 3 | { id = "general_wartface_rfd", x = 1862, y = 5351, direction = "SOUTH", members = true }, 4 | { id = "general_bentnoze_rfd", x = 1862, y = 5349, direction = "NORTH", members = true }, 5 | ] -------------------------------------------------------------------------------- /data/quest/members/rum_deal/braindeath_island.item-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 8527 3 | { id = "bucket", x = 2146, y = 5107, level = 1, delay = 100, members = true }, 4 | { id = "bucket", x = 2160, y = 5091, delay = 100, members = true }, 5 | ] -------------------------------------------------------------------------------- /data/quest/members/rum_deal/rum_deal.gfx.toml: -------------------------------------------------------------------------------- 1 | [karamthulhu] 2 | id = 627 3 | -------------------------------------------------------------------------------- /data/quest/members/rune_mysteries/rune_mysteries.objs.toml: -------------------------------------------------------------------------------- 1 | [rune_essence_exit_portal] 2 | id = 2492 3 | examine = "A portal from this mystical place." 4 | -------------------------------------------------------------------------------- /data/quest/members/rune_mysteries/rune_mysteries.varps.toml: -------------------------------------------------------------------------------- 1 | [rune_mysteries] 2 | id = 63 3 | persist = true 4 | format = "map" 5 | default = "unstarted" 6 | values = { unstarted = 0, started = 1, talisman_delivered = 2, research_package = 3, package_delivered = 4, research_notes = 5, completed = 6 } 7 | -------------------------------------------------------------------------------- /data/quest/members/sea_slug/sea_slug.gfx.toml: -------------------------------------------------------------------------------- 1 | [sea_slug] 2 | id = 722 3 | -------------------------------------------------------------------------------- /data/quest/members/shilo_village/rashiliyias_tomb.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11668 3 | { id = "rat", x = 2899, y = 9520, members = true }, 4 | { id = "rat", x = 2938, y = 9496, members = true }, 5 | { id = "rat", x = 2938, y = 9494, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/quest/members/spirit_of_summer/spirit_of_summer.areas.toml: -------------------------------------------------------------------------------- 1 | [corporeal_beast_multi_area] 2 | x = [2960, 2999] 3 | y = [4368, 4399] 4 | tags = ["multi_combat"] 5 | -------------------------------------------------------------------------------- /data/quest/members/spirit_of_summer/spirit_realm.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 11842 3 | { id = "rat", x = 2960, y = 4280, members = true }, 4 | { id = "rat", x = 2963, y = 4279, members = true }, 5 | { id = "rat", x = 2961, y = 4278, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/quest/members/tears_of_guthix/tears_of_guthix.jingles.toml: -------------------------------------------------------------------------------- 1 | [tears_of_guthix_light_creature_flight] 2 | id = 2 3 | -------------------------------------------------------------------------------- /data/quest/members/temple_of_ikov/temple_of_ikov.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 10650 3 | { id = "lesser_demon_3", x = 2631, y = 9880, members = true }, 4 | { id = "lesser_demon_4", x = 2632, y = 9874, members = true }, 5 | { id = "lesser_demon_5", x = 2630, y = 9867, members = true }, 6 | ] -------------------------------------------------------------------------------- /data/quest/members/the_feud/the_feud.jingles.toml: -------------------------------------------------------------------------------- 1 | [the_feud_snake_charming] 2 | id = 175 3 | -------------------------------------------------------------------------------- /data/quest/members/the_grand_tree/the_grand_tree.anims.toml: -------------------------------------------------------------------------------- 1 | [teleport_spirit_tree] 2 | id = 7082 3 | ticks = 3 4 | 5 | [teleport_land_spirit_tree] 6 | id = 7084 -------------------------------------------------------------------------------- /data/quest/members/the_grand_tree/the_grand_tree.gfx.toml: -------------------------------------------------------------------------------- 1 | [teleport_spirit_tree] 2 | id = 1229 3 | delay = 10 4 | 5 | [teleport_land_spirit_tree] 6 | id = 1229 -------------------------------------------------------------------------------- /data/quest/members/the_grand_tree/the_grand_tree.ifaces.toml: -------------------------------------------------------------------------------- 1 | [spirit_tree] 2 | id = 864 3 | type = "wide_screen" 4 | components = { close = 6, text = { id = 7, options = { Teleport = 0 } } } 5 | 6 | -------------------------------------------------------------------------------- /data/quest/members/the_grand_tree/the_grand_tree.npcs.toml: -------------------------------------------------------------------------------- 1 | [spirit_tree] 2 | id = 3636 3 | 4 | [spirit_tree_gnome] 5 | id = 3637 -------------------------------------------------------------------------------- /data/quest/members/the_grand_tree/the_grand_tree.varps.toml: -------------------------------------------------------------------------------- 1 | [spirit_tree_tile] 2 | id = 1469 3 | format = "int" -------------------------------------------------------------------------------- /data/quest/members/watchtower_quest/watchtower.jingles.toml: -------------------------------------------------------------------------------- 1 | [watchtower_reactivate] 2 | id = 234 3 | -------------------------------------------------------------------------------- /data/quest/members/what_lies_below/what_lies_below.jingles.toml: -------------------------------------------------------------------------------- 1 | [what_lies_below_surok_dance] 2 | id = 247 3 | 4 | [what_lies_below_surok_rock] 5 | id = 248 6 | -------------------------------------------------------------------------------- /data/quest/members/while_guthix_sleeps/while_guthix_sleeps.gfx.toml: -------------------------------------------------------------------------------- 1 | [light_creature] 2 | id = 1933 3 | -------------------------------------------------------------------------------- /data/quest/members/witches_potion/witches_potion.items.toml: -------------------------------------------------------------------------------- 1 | [rats_tail] 2 | id = 300 3 | tradeable = false 4 | weight = 0.003 5 | destroy = "You can get another off any rat with a tail." 6 | examine = "A bit of rat." 7 | kept = "Wilderness" 8 | -------------------------------------------------------------------------------- /data/quest/mini/bar_crawl/bar_crawl.items.toml: -------------------------------------------------------------------------------- 1 | [barcrawl_card] 2 | id = 455 3 | tradeable = false 4 | weight = 0.014 5 | examine = "The official Alfred Grimhand bar crawl card." 6 | kept = "Wilderness" 7 | -------------------------------------------------------------------------------- /data/quest/mini/bar_crawl/bar_crawl.varbits.toml: -------------------------------------------------------------------------------- 1 | [bar_crawl_started] 2 | id = 3378 3 | format = "boolean" 4 | persist = true 5 | 6 | -------------------------------------------------------------------------------- /data/quest/mini/bar_crawl/bar_crawl.varps.toml: -------------------------------------------------------------------------------- 1 | [bar_crawl_miniquest] 2 | id = 76 3 | format = "map" 4 | persist = true 5 | default = "unstarted" 6 | values = { unstarted = 0, completed = 6 } 7 | -------------------------------------------------------------------------------- /data/quest/mini/enter_the_abyss/enter_the_abyss.varps.toml: -------------------------------------------------------------------------------- 1 | [enter_the_abyss] 2 | id = 492 3 | persist = true 4 | format = "list" 5 | values = ["unstarted", "started", "scrying", "orb_inspect", "completed"] 6 | -------------------------------------------------------------------------------- /data/quest/quest.jingles.toml: -------------------------------------------------------------------------------- 1 | [quest_complete_1] 2 | id = 152 3 | 4 | [quest_complete_2] 5 | id = 153 6 | 7 | [quest_complete_3] 8 | id = 154 9 | -------------------------------------------------------------------------------- /data/skill/agility/agility.jingles.toml: -------------------------------------------------------------------------------- 1 | [brimhaven_agility_ticket] 2 | id = 71 3 | 4 | [agility_pyramid_top] 5 | id = 151 6 | 7 | [werewolf_skullball_goal] 8 | id = 174 9 | -------------------------------------------------------------------------------- /data/skill/agility/course/pyramid_agility.items.toml: -------------------------------------------------------------------------------- 1 | [pyramid_top] 2 | id = 6970 3 | tradeable = false 4 | weight = 11.339 5 | examine = "It's a solid gold pyramid!" 6 | kept = "Reclaim" 7 | -------------------------------------------------------------------------------- /data/skill/agility/shortcut/shortcut.gfx.toml: -------------------------------------------------------------------------------- 1 | [grapple_wall_climb] 2 | id = 760 3 | height = 82 4 | -------------------------------------------------------------------------------- /data/skill/agility/shortcut/shortcut.obj-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | { id = "strong_tree", x = 3260, y = 3179, type = 10, rotation = 2 }, 3 | ] -------------------------------------------------------------------------------- /data/skill/agility/shortcut/shortcut.sounds.toml: -------------------------------------------------------------------------------- 1 | [grapple_shoot] 2 | id = 2928 3 | 4 | [grapple_splash] 5 | id = 2929 6 | 7 | [jump_down] 8 | id = 2462 9 | 10 | [jump_up] 11 | id = 2468 12 | -------------------------------------------------------------------------------- /data/skill/agility/shortcut/shortcut.teles.toml: -------------------------------------------------------------------------------- 1 | [freds_farm_stile_south] 2 | option = "Climb-over" 3 | tile = { x = 3197, y = 3278 } 4 | to = { x = 3197, y = 3275 } 5 | 6 | [freds_farm_north] 7 | option = "Climb-over" 8 | tile = { x = 3197, y = 3275 } 9 | to = { x = 3197, y = 3278 } 10 | -------------------------------------------------------------------------------- /data/skill/cooking/cooking.anims.toml: -------------------------------------------------------------------------------- 1 | [cook_fire] 2 | id = 897 3 | 4 | [cook_range] 5 | id = 3243 6 | 7 | [fill_bucket] 8 | id = 895 9 | -------------------------------------------------------------------------------- /data/skill/crafting/crafting.sounds.toml: -------------------------------------------------------------------------------- 1 | [cut_gem] 2 | id = 2586 3 | 4 | [glassblowing] 5 | id = 2724 6 | 7 | [combine_battlestaff] 8 | id = 2585 9 | 10 | [pottery] 11 | id = 2588 12 | 13 | [spinning] 14 | id = 2590 15 | -------------------------------------------------------------------------------- /data/skill/crafting/crafting.vars.toml: -------------------------------------------------------------------------------- 1 | [thread_used] 2 | format = "int" 3 | persist = true 4 | -------------------------------------------------------------------------------- /data/skill/dungeoneering/dungeoneering.npcs.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GregHib/void/72dec94db8898fafca7c2d64cd3f01deac9031c3/data/skill/dungeoneering/dungeoneering.npcs.toml -------------------------------------------------------------------------------- /data/skill/dungeoneering/dungeoneering.teles.toml: -------------------------------------------------------------------------------- 1 | # 14411 dungeoneering 2 | [527] 3 | option = "Climb-down" 4 | tile = { x = 3357, y = 3305 } 5 | to = { x = 3619, y = 4814 } 6 | 7 | -------------------------------------------------------------------------------- /data/skill/dungeoneering/dungeoneering.varbits.toml: -------------------------------------------------------------------------------- 1 | [dungeoneering_current_floor] 2 | id = 7550 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/skill/farming/farming.jingles.toml: -------------------------------------------------------------------------------- 1 | [farming_amulet_alert] 2 | id = 7 3 | 4 | [cacti_health_check] 5 | id = 9 6 | 7 | [level_up_farming] 8 | id = 10 9 | 10 | [level_up_farming_unlock] 11 | id = 11 12 | -------------------------------------------------------------------------------- /data/skill/firemaking/firemaking.anims.toml: -------------------------------------------------------------------------------- 1 | [light_fire] 2 | id = 733 3 | -------------------------------------------------------------------------------- /data/skill/fishing/fishing.recipes.toml: -------------------------------------------------------------------------------- 1 | [seaweed_net] 2 | skill = "crafting" 3 | level = 52 4 | xp = 83.0 5 | remove = ["unfinished_net", "bronze_wire"] 6 | add = ["seaweed_net"] 7 | ticks = 2 8 | message = "You wire the net together to make a sturdy seaweed net." 9 | -------------------------------------------------------------------------------- /data/skill/herblore/herblore.anims.toml: -------------------------------------------------------------------------------- 1 | [overload] 2 | id = 3170 3 | 4 | [mixing_potion] 5 | id = 363 6 | 7 | [pestle_and_mortar] 8 | id = 5249 9 | -------------------------------------------------------------------------------- /data/skill/herblore/herblore.gfx.toml: -------------------------------------------------------------------------------- 1 | [overload] 2 | id = 560 3 | -------------------------------------------------------------------------------- /data/skill/herblore/herblore.vars.toml: -------------------------------------------------------------------------------- 1 | [recover_special_delay] 2 | format = "int" 3 | persist = true 4 | -------------------------------------------------------------------------------- /data/skill/magic/jewellery/jewellery.vars.toml: -------------------------------------------------------------------------------- 1 | [wearing_ring_of_wealth] 2 | format = "boolean" -------------------------------------------------------------------------------- /data/skill/magic/magic.varbits.toml: -------------------------------------------------------------------------------- 1 | [teleport_block] 2 | id = 4163 # osrs 3 | format = "int" 4 | persist = true 5 | transmit = false 6 | 7 | [vengeance] 8 | id = 2450 # osrs 9 | format = "boolean" 10 | persist = true 11 | transmit = false 12 | -------------------------------------------------------------------------------- /data/skill/magic/teleport/teleport.sounds.toml: -------------------------------------------------------------------------------- 1 | [teleport] 2 | id = 200 3 | 4 | [teleport_land] 5 | id = 201 6 | 7 | [teleport_tablet] 8 | id = 965 9 | 10 | [tele_other_cast] 11 | id = 199 12 | 13 | [teleport_all] 14 | id = 200 15 | -------------------------------------------------------------------------------- /data/skill/melee/weapon.vars.toml: -------------------------------------------------------------------------------- 1 | [power_of_light] 2 | format = "int" 3 | persist = true 4 | 5 | -------------------------------------------------------------------------------- /data/skill/prayer/prayer.gfx.toml: -------------------------------------------------------------------------------- 1 | [retribution] 2 | id = 437 3 | 4 | [retribution_splash] 5 | id = 438 6 | flight_time = [ 10 ] 7 | delay = 10 8 | 9 | [redemption] 10 | id = 436 11 | 12 | [activate_protect_item] 13 | id = 2213 14 | 15 | [bless_grave] 16 | id = 1274 17 | -------------------------------------------------------------------------------- /data/skill/prayer/prayer.varcs.toml: -------------------------------------------------------------------------------- 1 | [select_quick_prayers] 2 | id = 181 3 | format = "boolean" 4 | 5 | [using_quick_prayers] 6 | id = 182 7 | format = "boolean" 8 | -------------------------------------------------------------------------------- /data/skill/prayer/prayer.vars.toml: -------------------------------------------------------------------------------- 1 | [bone_delay] 2 | format = "int" 3 | 4 | [prayer_drain_counter] 5 | format = "int" 6 | persist = true 7 | -------------------------------------------------------------------------------- /data/skill/range/avas.vars.toml: -------------------------------------------------------------------------------- 1 | [collect_junk] 2 | format = "boolean" 3 | persist = true 4 | -------------------------------------------------------------------------------- /data/skill/runecrafting/runecrafting.anims.toml: -------------------------------------------------------------------------------- 1 | [bind_runes] 2 | id = 791 -------------------------------------------------------------------------------- /data/skill/runecrafting/runecrafting.gfx.toml: -------------------------------------------------------------------------------- 1 | [bind_runes] 2 | id = 186 3 | height = 92 4 | -------------------------------------------------------------------------------- /data/skill/runecrafting/runecrafting.sounds.toml: -------------------------------------------------------------------------------- 1 | [bind_runes] 2 | id = 2710 3 | -------------------------------------------------------------------------------- /data/skill/slayer/slayer.gfx.toml: -------------------------------------------------------------------------------- 1 | [mutated_zygomite] 2 | id = 578 3 | -------------------------------------------------------------------------------- /data/skill/slayer/slayer.npcs.toml: -------------------------------------------------------------------------------- 1 | [turael] 2 | id = 8461 3 | categories = ["human"] 4 | wander_radius = 3 5 | examine = "He looks dangerous!" -------------------------------------------------------------------------------- /data/skill/slayer/slayer.varbits.toml: -------------------------------------------------------------------------------- 1 | [slayer_special_assignment] 2 | id = 7774 3 | format = "int" 4 | persist = true 5 | -------------------------------------------------------------------------------- /data/skill/smithing/smithing.anims.toml: -------------------------------------------------------------------------------- 1 | [furnace_smelt] 2 | id = 899 3 | 4 | [superheat_item] 5 | id = 725 6 | 7 | [smith_item] 8 | id = 898 9 | -------------------------------------------------------------------------------- /data/skill/smithing/smithing.gfx.toml: -------------------------------------------------------------------------------- 1 | [superheat_item] 2 | id = 148 3 | height = 60 4 | -------------------------------------------------------------------------------- /data/skill/smithing/smithing.sounds.toml: -------------------------------------------------------------------------------- 1 | [smelt_bar] 2 | id = 2725 3 | 4 | [superheat_all] 5 | id = 190 6 | 7 | [superheat_fail] 8 | id = 191 9 | -------------------------------------------------------------------------------- /data/skill/summoning/summoning.teles.toml: -------------------------------------------------------------------------------- 1 | # 8787 summoning 2 | [16115] 3 | option = "Climb-down" 4 | tile = { x = 2148, y = 5284 } 5 | to = { x = 2358, y = 5215 } 6 | 7 | -------------------------------------------------------------------------------- /data/skill/thieving/pickpocket.drops.toml: -------------------------------------------------------------------------------- 1 | [human_pickpocket] 2 | type = "all" 3 | drops = [ 4 | { id = "coins", amount = 3 } 5 | ] 6 | -------------------------------------------------------------------------------- /data/skill/thieving/thieving.anims.toml: -------------------------------------------------------------------------------- 1 | [close_chest] 2 | id = 535 3 | 4 | [open_chest] 5 | id = 536 6 | 7 | [pick_pocket] 8 | id = 881 9 | ticks = 4 10 | -------------------------------------------------------------------------------- /data/skill/thieving/thieving.items.toml: -------------------------------------------------------------------------------- 1 | [lockpick] 2 | id = 1523 3 | price = 1637 4 | limit = 100 5 | weight = 0.01 6 | examine = "For picking tough locks." 7 | kept = "Wilderness" 8 | 9 | [lockpick_noted] 10 | id = 1524 11 | -------------------------------------------------------------------------------- /data/skill/thieving/thieving.sounds.toml: -------------------------------------------------------------------------------- 1 | [pick] 2 | id = 2581 3 | 4 | [pick_2] 5 | id = 2582 6 | -------------------------------------------------------------------------------- /data/skill/woodcutting/woodcutting.sounds.toml: -------------------------------------------------------------------------------- 1 | [fell_tree] 2 | id = 2734 3 | -------------------------------------------------------------------------------- /data/social/assist/assist.vars.toml: -------------------------------------------------------------------------------- 1 | [recent_assist_request] 2 | format = "int" 3 | persist = true 4 | 5 | [assist_timeout] 6 | format = "int" 7 | persist = true 8 | -------------------------------------------------------------------------------- /data/social/clan/clan.varcs.toml: -------------------------------------------------------------------------------- 1 | [loot_share_loading_timeout] 2 | id = 53 3 | format = "int" 4 | -------------------------------------------------------------------------------- /data/social/clan/clan_chat.varps.toml: -------------------------------------------------------------------------------- 1 | [clan_rank] 2 | id = 1447 3 | format = "int" 4 | 5 | [private_chat_colour] 6 | id = 287 7 | persist = true 8 | format = "int" 9 | -------------------------------------------------------------------------------- /data/social/friend/friend.ifaces.toml: -------------------------------------------------------------------------------- 1 | [friends_list] 2 | id = 550 3 | type = "friends_list_tab" 4 | components = { 5 | add = 7, 6 | delete = 8, 7 | } 8 | -------------------------------------------------------------------------------- /data/social/ignore/ignore.ifaces.toml: -------------------------------------------------------------------------------- 1 | [ignore_list] 2 | id = 551 3 | type = "ignore_list_tab" 4 | components = { 5 | add = 4, 6 | delete = 5, 7 | } 8 | -------------------------------------------------------------------------------- /data/social/photo/photo_booth.ifaces.toml: -------------------------------------------------------------------------------- 1 | [photo_booth] 2 | id = 549 3 | -------------------------------------------------------------------------------- /data/social/report/report.ifaces.toml: -------------------------------------------------------------------------------- 1 | [report_abuse_name] 2 | id = 593 3 | 4 | [report_abuse_select] 5 | id = 594 6 | -------------------------------------------------------------------------------- /data/social/trade/exchange/grand_exchange.ifaces.toml: -------------------------------------------------------------------------------- 1 | [stock_side] 2 | id = 107 3 | 4 | [exchange_history] 5 | id = 643 6 | 7 | [exchange_sets_side] 8 | id = 644 9 | 10 | [exchange_item_sets] 11 | id = 645 12 | -------------------------------------------------------------------------------- /data/social/trade/exchange/grand_exchange.jingles.toml: -------------------------------------------------------------------------------- 1 | [grand_exchange_offer_complete] 2 | id = 284 3 | -------------------------------------------------------------------------------- /data/social/trade/exchange/grand_exchange.npc-spawns.toml: -------------------------------------------------------------------------------- 1 | spawns = [ 2 | # 12598 3 | { id = "bob_barter_herbs", x = 3156, y = 3481 }, 4 | ] -------------------------------------------------------------------------------- /data/social/trade/lend/lend.varbits.toml: -------------------------------------------------------------------------------- 1 | [lend_time] 2 | id = 5026 3 | format = "int" 4 | default = -1 5 | 6 | [other_lend_time] 7 | id = 5070 8 | format = "int" 9 | default = -1 10 | -------------------------------------------------------------------------------- /data/social/trade/lend/lend.varps.toml: -------------------------------------------------------------------------------- 1 | [lent_item_id] 2 | id = 1267 3 | format = "int" 4 | default = -1 5 | 6 | [lent_item_amount] 7 | id = 1269 8 | format = "int" 9 | -------------------------------------------------------------------------------- /data/social/trade/lend/lend.vars.toml: -------------------------------------------------------------------------------- 1 | [lend_timeout] 2 | format = "int" 3 | persist = true 4 | 5 | [borrow_timeout] 6 | format = "int" 7 | persist = true 8 | 9 | [borrowed_item] 10 | format = "string" 11 | persist = true 12 | 13 | [lent_item] 14 | format = "string" 15 | persist = true 16 | -------------------------------------------------------------------------------- /data/social/trade/trade.invs.toml: -------------------------------------------------------------------------------- 1 | [trade_offer] 2 | id = 90 3 | width = 4 4 | height = 7 5 | 6 | [returned_lent_items] 7 | id = 540 8 | width = 0 9 | height = 1 10 | 11 | [item_loan] 12 | id = 541 13 | width = 0 14 | height = 1 15 | -------------------------------------------------------------------------------- /data/social/trade/trade.varps.toml: -------------------------------------------------------------------------------- 1 | [offer_modified] 2 | id = 1042 3 | format = "boolean" 4 | 5 | [other_offer_modified] 6 | id = 1043 7 | format = "boolean" 8 | -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/client/ui/chat/Colour.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.client.ui.chat 2 | 3 | typealias Colour = Int 4 | 5 | fun Colour.toTag() = "" -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/data/config/AccountDefinition.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.data.config 2 | 3 | data class AccountDefinition( 4 | val accountName: String, 5 | var displayName: String, 6 | var previousName: String, 7 | var passwordHash: String 8 | ) -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/entity/character/mode/EmptyMode.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.entity.character.mode 2 | 3 | object EmptyMode : Mode { 4 | override fun tick() { 5 | } 6 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/entity/character/mode/PauseMode.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.entity.character.mode 2 | 3 | /** 4 | * Same as EmptyMode but doesn't reset to Wander 5 | */ 6 | object PauseMode : Mode { 7 | override fun tick() { 8 | } 9 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/entity/character/npc/NPCVisuals.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.entity.character.npc 2 | 3 | import world.gregs.voidps.network.login.protocol.visual.VisualMask 4 | 5 | fun NPC.flagTransform() = visuals.flag(VisualMask.TRANSFORM_MASK) -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/entity/item/drop/Drop.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.entity.item.drop 2 | 3 | import world.gregs.voidps.engine.entity.character.player.Player 4 | 5 | interface Drop { 6 | val chance: Int 7 | val predicate: ((Player) -> Boolean)? 8 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/entity/item/floor/ItemSpawn.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.entity.item.floor 2 | 3 | data class ItemSpawn( 4 | val id: String, 5 | val amount: Int = 1, 6 | val delay: Int = 60 7 | ) -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/event/CancellableEvent.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.event 2 | 3 | abstract class CancellableEvent : Event { 4 | var cancelled = false 5 | 6 | fun cancel() { 7 | cancelled = true 8 | } 9 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/event/SuspendableEvent.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.event 2 | 3 | interface SuspendableEvent : Event -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/inv/remove/DefaultItemAmountBounds.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.inv.remove 2 | 3 | object DefaultItemAmountBounds : ItemAmountBounds -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/inv/remove/ItemAmountBounds.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.inv.remove 2 | 3 | interface ItemAmountBounds { 4 | 5 | fun minimum(index: Int = -1): Int = 0 6 | 7 | fun maximum(index: Int = -1): Int = Int.MAX_VALUE 8 | 9 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/inv/remove/ShopItemAmountBounds.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.inv.remove 2 | 3 | object ShopItemAmountBounds : ItemAmountBounds { 4 | override fun minimum(index: Int): Int { 5 | return -1 6 | } 7 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/inv/restrict/NoRestrictions.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.inv.restrict 2 | 3 | object NoRestrictions : ItemRestrictionRule { 4 | override fun restricted(id: String): Boolean { 5 | return false 6 | } 7 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/inv/stack/AlwaysStack.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.inv.stack 2 | 3 | /** 4 | * Forces all items, even un-stackable items, to be stacked 5 | */ 6 | object AlwaysStack : ItemStackingRule { 7 | override fun stackable(id: String) = true 8 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/inv/stack/NeverStack.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.inv.stack 2 | 3 | /** 4 | * Forces all items, even stackable items, to be unstacked 5 | */ 6 | object NeverStack : ItemStackingRule { 7 | override fun stackable(id: String) = false 8 | } -------------------------------------------------------------------------------- /engine/src/main/kotlin/world/gregs/voidps/engine/queue/LogoutBehaviour.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.engine.queue 2 | 3 | enum class LogoutBehaviour { 4 | /** 5 | * Execute immediately 6 | */ 7 | Accelerate, 8 | /** 9 | * Don't process 10 | */ 11 | Discard 12 | } -------------------------------------------------------------------------------- /engine/src/test/resources/world/gregs/voidps/engine/data/definition/test-animation.toml: -------------------------------------------------------------------------------- 1 | [expression_yes] 2 | id = 9741 -------------------------------------------------------------------------------- /engine/src/test/resources/world/gregs/voidps/engine/data/definition/test-gfx.toml: -------------------------------------------------------------------------------- 1 | [gfx] 2 | teleport_modern = 1576 -------------------------------------------------------------------------------- /engine/src/test/resources/world/gregs/voidps/engine/data/definition/test-item.toml: -------------------------------------------------------------------------------- 1 | [lit_candle] 2 | id = 34 3 | examine = "A candle." -------------------------------------------------------------------------------- /engine/src/test/resources/world/gregs/voidps/engine/data/definition/test-npc.toml: -------------------------------------------------------------------------------- 1 | [hans] 2 | id = 0 3 | wander_radius = 4 4 | categories = ["human"] 5 | examine = "Servant of the Duke of Lumbridge." -------------------------------------------------------------------------------- /engine/src/test/resources/world/gregs/voidps/engine/data/definition/test-object.toml: -------------------------------------------------------------------------------- 1 | [door_closed] 2 | id = 3 3 | examine = "The door is closed." -------------------------------------------------------------------------------- /game/src/main/kotlin/content/bot/interact/navigation/graph/Condition.kt: -------------------------------------------------------------------------------- 1 | package content.bot.interact.navigation.graph 2 | 3 | import world.gregs.voidps.engine.entity.character.player.Player 4 | 5 | interface Condition { 6 | fun has(player: Player): Boolean 7 | } -------------------------------------------------------------------------------- /game/src/main/kotlin/content/bot/interact/path/NodeTargetStrategy.kt: -------------------------------------------------------------------------------- 1 | package content.bot.interact.path 2 | 3 | abstract class NodeTargetStrategy { 4 | abstract fun reached(node: Any): Boolean 5 | } -------------------------------------------------------------------------------- /game/src/main/kotlin/content/entity/npc/combat/ranged/Archers.kts: -------------------------------------------------------------------------------- 1 | package content.entity.npc.combat.ranged 2 | 3 | import content.entity.combat.npcCombatPrepare 4 | import content.skill.ranged.ammo 5 | 6 | npcCombatPrepare { npc -> 7 | npc.ammo = npc.def.getOrNull("ammo") ?: return@npcCombatPrepare 8 | } -------------------------------------------------------------------------------- /game/src/main/kotlin/content/entity/player/inv/item/ItemExtensions.kt: -------------------------------------------------------------------------------- 1 | package content.entity.player.inv.item 2 | 3 | import world.gregs.voidps.engine.entity.item.Item 4 | 5 | val Item.tradeable: Boolean 6 | get() = def["tradeable", true] -------------------------------------------------------------------------------- /game/src/main/kotlin/content/entity/player/kept/AreaType.kt: -------------------------------------------------------------------------------- 1 | package content.entity.player.kept 2 | 3 | enum class AreaType { 4 | Dangerous, 5 | Safe, 6 | CastleWars, 7 | TroubleBrewing, 8 | BarbarianAssault 9 | } -------------------------------------------------------------------------------- /game/src/main/kotlin/content/entity/player/modal/tab/Notes.kts: -------------------------------------------------------------------------------- 1 | package content.entity.player.modal.tab 2 | 3 | import world.gregs.voidps.engine.client.ui.event.interfaceOpen 4 | 5 | interfaceOpen("notes") { player -> 6 | player.interfaceOptions.unlockAll(id, "notes", 0..30) 7 | } -------------------------------------------------------------------------------- /game/src/main/kotlin/content/skill/constitution/food/PoisonKarambwan.kts: -------------------------------------------------------------------------------- 1 | package content.skill.constitution.food 2 | 3 | import content.entity.combat.hit.directHit 4 | import content.skill.constitution.consume 5 | 6 | consume("poison_karambwan") { player -> 7 | player.directHit(50, "poison") 8 | } -------------------------------------------------------------------------------- /game/src/main/resources/run-server.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | title Void Game Sever 3 | java -jar void-server-dev.jar 4 | pause -------------------------------------------------------------------------------- /game/src/test/kotlin/FakeRandom.kt: -------------------------------------------------------------------------------- 1 | import kotlin.random.Random 2 | 3 | open class FakeRandom : Random() { 4 | override fun nextBits(bitCount: Int): Int = 0 5 | } -------------------------------------------------------------------------------- /game/src/test/kotlin/content/skill/magic/LawStaffTest.kt: -------------------------------------------------------------------------------- 1 | package content.skill.magic 2 | 3 | internal class LawStaffTest : DungeoneeringRewardStaffTest() { 4 | 5 | override val rune: String = "law_rune" 6 | override val staff: String = "law_staff" 7 | 8 | } -------------------------------------------------------------------------------- /game/src/test/kotlin/content/skill/magic/NatureStaffTest.kt: -------------------------------------------------------------------------------- 1 | package content.skill.magic 2 | 3 | internal class NatureStaffTest : DungeoneeringRewardStaffTest() { 4 | 5 | override val rune: String = "nature_rune" 6 | override val staff: String = "nature_staff" 7 | 8 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GregHib/void/72dec94db8898fafca7c2d64cd3f01deac9031c3/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/Server.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network 2 | 3 | import io.ktor.utils.io.* 4 | 5 | interface Server { 6 | suspend fun connect(read: ByteReadChannel, write: ByteWriteChannel, hostname: String) 7 | } -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/Instruction.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client 2 | 3 | interface Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/ClanChatRank.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class ClanChatRank( 6 | val name: String, 7 | val rank: Int 8 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/EnterInt.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class EnterInt(val value: Int) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/EnterName.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class EnterName(val value: String) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/EnterString.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class EnterString(val value: String) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/ExamineItem.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | @JvmInline 6 | value class ExamineItem( 7 | val itemId: Int 8 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/ExamineNpc.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | @JvmInline 6 | value class ExamineNpc( 7 | val npcId: Int 8 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/ExamineObject.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | @JvmInline 6 | value class ExamineObject( 7 | val objectId: Int 8 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/ExecuteCommand.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class ExecuteCommand(val prefix: String, val content: String) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/FinishRegionLoad.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | object FinishRegionLoad : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/FriendAdd.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class FriendAdd( 6 | val friendsName: String 7 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/FriendDelete.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class FriendDelete( 6 | val friendsName: String 7 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/IgnoreAdd.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class IgnoreAdd( 6 | val name: String 7 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/IgnoreDelete.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class IgnoreDelete( 6 | val name: String 7 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/InteractNPC.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class InteractNPC( 6 | val npcIndex: Int, 7 | val option: Int, 8 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/InteractPlayer.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class InteractPlayer( 6 | val playerIndex: Int, 7 | val option: Int 8 | ) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/InterfaceClosedInstruction.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | object InterfaceClosedInstruction : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/SongEnd.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class SongEnd( 6 | val songIndex: Int 7 | ): Instruction 8 | -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/Walk.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class Walk(val x: Int, val y: Int, val minimap: Boolean = false) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/client/instruction/WorldMapClick.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.client.instruction 2 | 3 | import world.gregs.voidps.network.client.Instruction 4 | 5 | data class WorldMapClick(val tile: Int) : Instruction -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/login/protocol/encode/LogoutEncoder.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.login.protocol.encode 2 | 3 | import world.gregs.voidps.network.client.Client 4 | import world.gregs.voidps.network.login.Protocol.LOGOUT 5 | 6 | fun Client.logout() = send(LOGOUT) {} -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/login/protocol/visual/update/Watch.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.login.protocol.visual.update 2 | 3 | import world.gregs.voidps.network.login.protocol.Visual 4 | 5 | data class Watch(var index: Int = -1) : Visual -------------------------------------------------------------------------------- /network/src/main/kotlin/world/gregs/voidps/network/login/protocol/visual/update/player/MoveType.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.network.login.protocol.visual.update.player 2 | 3 | enum class MoveType(val id: Int) { 4 | None(0), 5 | Walk(1), 6 | Run(2), 7 | Teleport(127) 8 | } -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | rootProject.name = "void" 2 | 3 | include("game") 4 | include("cache") 5 | include("engine") 6 | include("tools") 7 | include("buffer") 8 | include("network") 9 | include("types") 10 | include("yaml") 11 | include("config") 12 | -------------------------------------------------------------------------------- /tools/src/test/resources/xteas/123.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GregHib/void/72dec94db8898fafca7c2d64cd3f01deac9031c3/tools/src/test/resources/xteas/123.dat -------------------------------------------------------------------------------- /tools/src/test/resources/xteas/123.txt: -------------------------------------------------------------------------------- 1 | -1 2 | 2 3 | 3 -------------------------------------------------------------------------------- /tools/src/test/resources/xteas/xteas-default.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "mapsquare": 123, 4 | "keys": [ -1, 2, 99, 100] 5 | } 6 | ] -------------------------------------------------------------------------------- /tools/src/test/resources/xteas/xteas.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 123, 4 | "xteas": [ -1, 2, 99, 100] 5 | } 6 | ] -------------------------------------------------------------------------------- /types/build.gradle.kts: -------------------------------------------------------------------------------- 1 | dependencies { 2 | testImplementation("org.junit.jupiter:junit-jupiter-params:${findProperty("junitVersion")}") 3 | } -------------------------------------------------------------------------------- /types/src/main/kotlin/world/gregs/voidps/type/Random.kt: -------------------------------------------------------------------------------- 1 | package world.gregs.voidps.type 2 | 3 | import kotlin.random.Random 4 | 5 | var random: Random = Random 6 | private set 7 | 8 | fun setRandom(rand: Random) { 9 | random = rand 10 | } --------------------------------------------------------------------------------