Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add achievement tasks and world map controls #544

Merged
merged 48 commits into from
Jun 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
a00bce8
Fix drop ids
GregHib May 20, 2024
5bd78ad
Start adding main and tab interfaces
GregHib May 20, 2024
5532318
Add string scripts to command
GregHib May 20, 2024
d03a247
Fix sending interface visibility component ids
GregHib May 20, 2024
4b09cfc
Change sprite dump directory
GregHib May 20, 2024
c61e1d3
Add task pinning
GregHib May 21, 2024
b23c121
Add struct configs
GregHib May 21, 2024
abf9482
Add quest configs
GregHib May 22, 2024
7f1ba60
Add manual server side fix for #540
GregHib May 22, 2024
8d553ef
More manual server side fixes for #540
GregHib May 22, 2024
e131573
Add all quest varbits from cs2 3227
GregHib May 22, 2024
370b522
Add combat summoning level support
GregHib May 22, 2024
23149b2
Add boolean support to var command
GregHib May 22, 2024
75f338c
Filter task tab by task requirements
GregHib May 23, 2024
a28ff59
Fix struct ids
GregHib May 23, 2024
afa2ff2
Add all task varbits
GregHib May 23, 2024
650daeb
Fix task pinning
GregHib May 23, 2024
35b7d0f
Add first task
GregHib May 23, 2024
365495c
Add task popup, display completed/total tasks, wipe pinned task on ok
GregHib May 24, 2024
519c754
Add task complete messages, explorer jack and ring reward
GregHib May 25, 2024
9bfb551
Extract task looping
GregHib May 25, 2024
ddd589b
Add message wrap around
GregHib May 25, 2024
c3f720c
Rename bot variables
GregHib May 25, 2024
6c13051
Add boolean support to script command
GregHib May 25, 2024
e955744
Add initial explorer jack task
GregHib May 25, 2024
f289446
Add task set filtering
GregHib May 25, 2024
2fc524d
Fix quest complete checks
GregHib May 25, 2024
43ba646
Check overall progress dynamically
GregHib May 25, 2024
0a1e1b7
Start adding lumbridge beginner tasks
GregHib May 25, 2024
679b1f0
Add remaining lumbridge beginner tasks
GregHib May 26, 2024
310f53e
Add experience lamp dialogue and antique lamp
GregHib May 26, 2024
2744bd1
Start adding task unit tests
GregHib May 26, 2024
3a431a5
Fix using spells on magic dummy
GregHib May 27, 2024
c0f0793
Add more integration tests, fix ellis tanning
GregHib May 27, 2024
1c2cc1d
Add shop buy and sell events
GregHib May 30, 2024
8c718bd
Add tests for remaining tasks
GregHib May 30, 2024
e277b15
Fix area's not including all levels
GregHib May 30, 2024
d5df422
Fixes
GregHib May 30, 2024
dcec404
Fix wizards tower top floor level
GregHib May 30, 2024
00aee9f
Add world map functionality
GregHib May 30, 2024
76aabc3
Add task hint world map marking and fix tab pinning
GregHib May 30, 2024
2f37a1d
Show no tasks when run out
GregHib May 30, 2024
29b67f3
Fix tests
GregHib May 30, 2024
75d4c22
Fix invalid inject code
GregHib May 30, 2024
c0ed634
Fix missing font defs
GregHib May 30, 2024
1e3b0b7
Fix hitpoint test
GregHib May 30, 2024
84c5674
Fix npcs messing with tests
GregHib May 30, 2024
52ec82e
Add explorer jack item rewards
GregHib Jun 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -114,4 +114,8 @@ data class QuestDefinition(
result = 31 * result + (extras?.hashCode() ?: 0)
return result
}

companion object {
val EMPTY = QuestDefinition()
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package world.gregs.voidps.cache.config.decoder

import world.gregs.voidps.buffer.read.Reader
import world.gregs.voidps.cache.Cache
import world.gregs.voidps.cache.Config.STRUCTS
import world.gregs.voidps.cache.config.ConfigDecoder
import world.gregs.voidps.cache.config.data.StructDefinition
Expand All @@ -12,6 +13,44 @@ class StructDecoder(

override fun create(size: Int) = Array(size) { StructDefinition(it) }


override fun load(cache: Cache): Array<StructDefinition> {
val definitions = super.load(cache)
// Manually fix values see https://github.com/GregHib/void/issues/540
var extras = definitions[1330].extras as MutableMap<String, Any>
extras["1296"] = 3
extras["1297"] = 19
extras["1298"] = 2
extras["1299"] = 37
extras = definitions[1337].extras as MutableMap<String, Any>
extras["1294"] = 62
extras["1295"] = 8
extras["1296"] = 14
extras["1297"] = 13
extras["1298"] = 13
extras["1299"] = 10
extras = definitions[1342].extras as MutableMap<String, Any>
extras["1294"] = 62
extras["1295"] = 13
extras["1296"] = 12
extras["1297"] = 56
extras = definitions[1450].extras as MutableMap<String, Any>
extras["1298"] = 2
extras["1299"] = 75
extras["1300"] = 20
extras["1301"] = 65
extras = definitions[1346].extras as MutableMap<String, Any>
extras["1294"] = 13
extras["1295"] = 60
extras = definitions[1649].extras as MutableMap<String, Any>
extras["1296"] = 10
extras["1297"] = 17
extras = definitions[1658].extras as MutableMap<String, Any>
extras["1296"] = 12
extras["1297"] = 50
return definitions
}

override fun StructDefinition.read(opcode: Int, buffer: Reader) {
if (opcode == 249) {
readParameters(buffer, parameters)
Expand Down
4 changes: 3 additions & 1 deletion data/definitions/animations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1696,4 +1696,6 @@ gecko_attack: 7207
gecko_death: 7205
wolves_hit: 6557
wolves_attack: 6559
wolves_death: 6558
wolves_death: 6558
run_replenish: 9988
play_organ: 3675
16 changes: 14 additions & 2 deletions data/definitions/enums.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,18 @@ npc_contact_structs: 869
dungeoneering_rewards: 3016
dungeoneering_rewards_members: 3015
ring_of_kingship_classes: 3088
achievements_structs: 3483
achievement_sprites: 3492
task_area_start_indices: 3482
task_structs: 3483
task_area_first_ids: 3484
task_distraction_and_diversions: 3485
task_area_names: 3487
task_difficulties: 3488
task_set_dropdown_interfaces: 3489
task_set_dropdown_sprite_interfaces: 3490
task_set_dropdown_sprites: 3491
task_difficulty_sprites: 3492
task_summary_interfaces: 3493
task_set_structs: 3494
task_set_sprites: 3495
task_sprites: 3492
clan_wars_arenas: 1604
3 changes: 2 additions & 1 deletion data/definitions/graphics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1485,4 +1485,5 @@ burrow_dust: 571
tele_other: 343
tele_other_receive:
id: 342
height: 52
height: 52
run_replenish: 1733
6 changes: 5 additions & 1 deletion data/definitions/interface-types.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,4 +142,8 @@ full_screen:

skill_creation:
parent: dialogue_skill_creation
index: 4
index: 4

task_overlay:
fixedIndex: 20
resizeIndex: 79
74 changes: 72 additions & 2 deletions data/definitions/interfaces.yml
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,37 @@ dialogue_double_obj_box:
dialogue_garden_quiz:
id: 133
type: dialogue_box
skill_stat_advance: 134
skill_stat_advance:
id: 134
type: main_screen
components:
confirm: 2
close: 29
attack: 30
strength: 31
defence: 32
ranged: 33
prayer: 34
constitution: 35
magic: 36
agility: 37
herblore: 38
thieving: 39
crafting: 40
fletching: 41
mining: 42
smithing: 43
fishing: 44
firemaking: 45
cooking: 46
woodcutting: 47
runecrafting: 48
slayer: 49
hunter: 50
farming: 51
construction: 52
summoning: 53
dungeoneering: 54
dialogue_chat_both:
id: 136
type: dialogue_box
Expand Down Expand Up @@ -2156,6 +2186,12 @@ world_map:
type: full_screen
components:
close: 44
order: 54
marker: 42
key_list:
id: 49
options:
Select: 0
chat_model_text: 757
canoe_travel:
id: 758
Expand Down Expand Up @@ -2319,6 +2355,29 @@ skill_creation_amount:
task_list:
id: 917
type: main_screen
components:
area_lumbridge_draynor: 119
area_varrock: 121
area_falador: 123
area_seers_village: 125
area_ardougne: 127
area_karamja: 129
area_fremennik: 131
area_dnd_activities: 147
filter_sets: 110
filter_done: 102
toggle_popups: 136
pin: 40
hint_1: 2
hint_2: 4
hint_3: 6
hint_4: 8
hint_5: 10
tasks:
id: 94
options:
Summary: 0
Pin: 1
dialogue_make_amount:
id: 944
type: dialogue_box
Expand Down Expand Up @@ -2528,6 +2587,11 @@ character_creation:
Select: 0
choose_colour: 102
confirm: 117
task_popup:
id: 1055
type: task_overlay
components:
details: 2
task_system:
id: 1056
type: task_system_tab
Expand All @@ -2540,9 +2604,15 @@ task_system:
task_5: 157
task_6: 162
task_list: 102
dont_show: 172
dont_show: 173
close_hint: 174
hints: 36
summary_overlay: 122
message_overlay: 171
ok: 130
hint_1: 77
hint_2: 79
hint_3: 81
warriors_guild: 1057
fade_out:
id: 120
Expand Down
3 changes: 2 additions & 1 deletion data/definitions/jingles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,4 +176,5 @@ soul_wars_loss: 379
soul_wars_win: 380
level_up_dungeoneering: 416
level_up_dungeoneering_unlock: 417
pyramid_plunder_snake_charming: 417
pyramid_plunder_snake_charming: 417
ambient_church_happy: 72
3 changes: 2 additions & 1 deletion data/definitions/midis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@ nex_fumus_dont_fail: 3321
nex_embrace_darkness: 3322
nex_taste_wrath: 3323
nex_fumus: 3325
nex_glacies_dont_fail: 3327
nex_glacies_dont_fail: 3327
church_organ: 147
7 changes: 6 additions & 1 deletion data/definitions/npcs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2169,4 +2169,9 @@ monk_of_zamorak_ourania:
hunt_mode: aggressive
drop_table: monk_of_zamorak
respawn_delay: 50
examine: "An evil human cleric."
examine: "An evil human cleric."
explorer_jack:
id: 13295
wander_radius: 5
race: human
examine: "He looks like a professional explorer."
15 changes: 15 additions & 0 deletions data/definitions/objects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11836,3 +11836,18 @@ ourania_crack_exit:
ourania_altar:
id: 26847
examine: "An altar upon which to craft runes."
lumbridge_castle_ladder:
id: 36771
examine: "I can climb up this."
lumbridge_organ:
id: 36978
examine: "A church organ."
lumbridge_church_bell:
id: 36976
examine: "I can ring this."
fire_barbarian_village:
id: 5499
examine: "Hot!"
wizards_tower_staircase:
id: 12537
examine: "I can climb these stairs."
100 changes: 50 additions & 50 deletions data/definitions/parameters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ ammo_group: 21
secondary_use_level: 23
unbankable: 59
quest_list_enum: 61
world_sprite_1: 130
world_sprite_2: 131
world_sprite_3: 134
world_sprite_4: 135
world_map_marker_sprite_icon: 130
world_map_marker_sprite: 131
world_map_marker_sprite_horizontal: 134
world_map_marker_sprite_diagonal: 135
quest_list_interface: 152
quest_list_scroll: 153
construction_required_item_id_1: 211
Expand Down Expand Up @@ -239,7 +239,7 @@ quest_journal_hint_text: 948
quest_item_requirement_text: 949
quest_level_requirement_text: 950
quest_reward_text_0: 951
achievement_quest_sprite: 952
task_quest_sprite: 952
barbarian_assault_reward: 954
barbarian_assault_ticket_wave: 955
familiarisation_familiar_1: 956
Expand Down Expand Up @@ -355,51 +355,51 @@ conquest_unit_param_15: 1229
conquest_unit_param_16: 1230
dynamic_inventory_option_original: 1264
dynamic_inventory_option_replacement: 1265
achievement_name: 1266
achievement_area: 1267
achievement_index: 1268
achievement_nextIndex: 1269
achievement_quest_id: 1270
achievement_sprite: 1271
achievement_difficulty: 1272
achievement_description: 1273
achievement_hint_1: 1274
achievement_hint_2: 1275
achievement_hint_3: 1276
achievement_hint_4: 1277
achievement_hint_5: 1278
achievement_hint_6: 1279
achievement_text_rol: 1280
achievement_selectable_1: 1282
achievement_selectable_2: 1283
achievement_selectable_3: 1284
achievement_selectable_4: 1285
achievement_selectable_5: 1286
achievement_selectable_6: 1287
achievement_members: 1290
achievement_group: 1292
achievement_sprite_offset: 1293
achievement_skill_1: 1294
achievement_level_1: 1295
achievement_skill_2: 1296
achievement_level_2: 1297
achievement_skill_3: 1298
achievement_level_3: 1299
achievement_skill_4: 1300
achievement_level_4: 1301
achievement_skill_5: 1302
achievement_level_5: 1303
achievement_skill_6: 1304
achievement_level_6: 1305
achievement_skill_7: 1306
achievement_level_7: 1307
achievement_skill_8: 1308
achievement_level_8: 1309
achievement_skill_9: 1310
achievement_level_9: 1311
achievement_skill_10: 1312
achievement_level_10: 1313
achievement_is_tutorial: 1322
task_name: 1266
task_area: 1267
task_index: 1268
task_next_index: 1269
task_quest_id: 1270
task_sprite: 1271
task_difficulty: 1272
task_description: 1273
task_hint_1: 1274
task_hint_2: 1275
task_hint_3: 1276
task_hint_4: 1277
task_hint_5: 1278
task_hint_6: 1279
task_text_rol: 1280
task_hint_tile_1: 1282
task_hint_tile_2: 1283
task_hint_tile_3: 1284
task_hint_tile_4: 1285
task_hint_tile_5: 1286
task_hint_tile_6: 1287
task_members: 1290
task_set: 1292
task_sprite_offset: 1293
task_skill_1: 1294
task_level_1: 1295
task_skill_2: 1296
task_level_2: 1297
task_skill_3: 1298
task_level_3: 1299
task_skill_4: 1300
task_level_4: 1301
task_skill_5: 1302
task_level_5: 1303
task_skill_6: 1304
task_level_6: 1305
task_skill_7: 1306
task_level_7: 1307
task_skill_8: 1308
task_level_8: 1309
task_skill_9: 1310
task_level_9: 1311
task_skill_10: 1312
task_level_10: 1313
task_is_tutorial: 1322
summoning_beast_of_burden: 1323
required_chompy_kills: 1366
chompy_hat_name: 1367
Expand Down
Loading
Loading