-
Notifications
You must be signed in to change notification settings - Fork 0
Event Loc 03 Vulcania
Navigation: Home - Wiki - Event Loc 03 Vulcania
-
event.dat offset
0x0012CE, length 1386 bytes - Map: map screen 3; Vulcania
-
Record kind:
standard - Triggers: 41; script segments: 44; strings: 24
| Tile (y,x) | pos | Event | Condition |
|---|---|---|---|
| (0,5) | 0x05 |
19 | DIR_S? |
| (0,7) | 0x07 |
16 | DIR_S? |
| (0,10) | 0x0A |
22 | DIR_W? |
| (2,0) | 0x20 |
12 | DIR_N? |
| (2,3) | 0x23 |
15 | DIR_W? |
| (2,4) | 0x24 |
41 | ANY_DIR |
| (2,5) | 0x25 |
3 | DIR_W? |
| (2,6) | 0x26 |
5 | DIR_N? |
| (2,7) | 0x27 |
1 | DIR_S? |
| (2,8) | 0x28 |
6 | DIR_N? |
| (2,15) | 0x2F |
10 | DIR_N? |
| (3,0) | 0x30 |
27 | DIR_N? |
| (3,4) | 0x34 |
17 | DIR_W? |
| (3,5) | 0x35 |
4 | DIR_W? |
| (3,6) | 0x36 |
20 | DIR_N? |
| (3,8) | 0x38 |
21 | DIR_N? |
| (3,15) | 0x3F |
29 | DIR_N? |
| (5,10) | 0x5A |
42 | DIR_S? |
| (5,11) | 0x5B |
18 | DIR_S? |
| (6,11) | 0x6B |
7 | DIR_S? |
| (7,3) | 0x73 |
24 | DIR_N? |
| (8,0) | 0x80 |
23 | DIR_W? |
| (8,1) | 0x81 |
8 | DIR_W? |
| (8,11) | 0x8B |
14 | DIR_W? |
| (8,13) | 0x8D |
9 | DIR_W? |
| (8,14) | 0x8E |
2 | DIR_E? |
| (8,15) | 0x8F |
13 | DIR_E? |
| (9,3) | 0x93 |
28 | DIR_S? |
| (9,6) | 0x96 |
30 | 0x30 |
| (9,8) | 0x98 |
33 | 0x60 |
| (10,3) | 0xA3 |
11 | DIR_S? |
| (11,6) | 0xB6 |
31 | 0x90 |
| (11,8) | 0xB8 |
32 | DIR_N?+DIR_E? |
| (12,3) | 0xC3 |
35 | ANY_DIR |
| (12,7) | 0xC7 |
25 | DIR_N? |
| (12,10) | 0xCA |
26 | DIR_W? |
| (13,3) | 0xD3 |
36 | ANY_DIR |
| (14,3) | 0xE3 |
37 | ANY_DIR |
| (14,9) | 0xE9 |
39 | ANY_DIR |
| (14,11) | 0xEB |
40 | ANY_DIR |
| (15,3) | 0xF3 |
38 | ANY_DIR |
Event 01 — triggers: (2,7)/DIR_S?
04 01
00: show_text_above_door(str[1] "Hotel Four")
Event 02 — triggers: (8,14)/DIR_E?
04 02
00: show_text_above_door(str[2] "Bestway Blacksmith")
Event 03 — triggers: (2,5)/DIR_W?
04 03
00: show_text_above_door(str[3] "Belinthra's Bar")
Event 04 — triggers: (3,5)/DIR_W?
04 04
00: show_text_above_door(str[4] "Training Academy")
Event 05 — triggers: (2,6)/DIR_N?
04 05
00: show_text_above_door(str[5] "Vulcanian Transport")
Event 06 — triggers: (2,8)/DIR_N?
04 06
00: show_text_above_door(str[6] "Vulcanian Export Co.")
Event 07 — triggers: (6,11)/DIR_S?
04 07
00: show_text_above_door(str[7] "Blackrock Mage Guild")
Event 08 — triggers: (8,1)/DIR_W?
04 08
00: show_text_above_door(str[8] "Lava Locksmith")
Event 09 — triggers: (8,13)/DIR_W?
04 09
00: show_text_above_door(str[9] "Vulcan Temple")
Event 10 — triggers: (2,15)/DIR_N?
04 0a
00: show_text_above_door(str[10] "Profiency Expert")
Event 11 — triggers: (10,3)/DIR_S?
04 0b
00: show_text_above_door(str[11] "Disembowelments R Us")
Event 12 — triggers: (2,0)/DIR_N?
04 0c
00: show_text_above_door(str[12] "Sergeant Pain School")
Event 13 — triggers: (8,15)/DIR_E?
0b 02 00 0e 06
00: service_sign(idx=0x02 -> sign 62 [62.anm], pos=0x00)
01: exec_selector(0x06) # open_blacksmith_shop
Event 14 — triggers: (8,11)/DIR_W?
0b 05 00 0e 04
00: service_sign(idx=0x05 -> sign 67 [67.anm], pos=0x00)
01: exec_selector(0x04) # open_temple
Event 15 — triggers: (2,3)/DIR_W?
0b 04 00 0e 03
00: service_sign(idx=0x04 -> sign 66 [66.anm], pos=0x00)
01: exec_selector(0x03) # open_tavern_food
Event 16 — triggers: (0,7)/DIR_S?
0b 03 00 0e 01
00: service_sign(idx=0x03 -> sign 63 [63.anm], pos=0x00)
01: exec_selector(0x01) # open_inn_lodging
Event 17 — triggers: (3,4)/DIR_W?
0b 06 00 0e 02
00: service_sign(idx=0x06 -> sign 68 [68.anm], pos=0x00)
01: exec_selector(0x02) # open_training
Event 18 — triggers: (5,11)/DIR_S?
0b 14 00 0e 05
00: service_sign(idx=0x14 -> sign 37 [37.anm], pos=0x00)
01: exec_selector(0x05) # open_mages_guild
Event 19 — triggers: (0,5)/DIR_S?
02 0d 09 10 01 0f 0c 21 43
00: show_text_block(str[13] "A passage leads out of Vulcania. / Exit (y/n)?")
01: cond = prompt_yes_no()
02: if cond: skip_tokens(1)
# skip -> map_transition(0x21, 0x43)
03: end_script()
04: map_transition(0x21, 0x43)
Event 20 — triggers: (3,6)/DIR_N?
02 0e 09 10 01 0f 24 1e 00 11 01 0c 02 96 01 14 29
00: show_text_block(str[14] "The Vulcanian Transport Company offers / immediate transference to Tunda")
01: cond = prompt_yes_no()
02: if cond: skip_tokens(1)
# skip -> cond = check_gold_at_least(30)
03: end_script()
04: cond = check_gold_at_least(30)
05: if not cond: skip_tokens(1)
# skip -> show_text_basic(str[20] "Not enough gold!")
06: map_transition(0x02, 0x96)
07: show_text_basic(str[20] "Not enough gold!")
08: set_abort_and_exit()
Event 21 — triggers: (3,8)/DIR_N?
02 0f 09 10 01 0f 24 64 00 11 01 0c 01 03 01 14 29
00: show_text_block(str[15] "Wearing a uniform labeled "Vulcanian / Export" a pointy-eared dust devil")
01: cond = prompt_yes_no()
02: if cond: skip_tokens(1)
# skip -> cond = check_gold_at_least(100)
03: end_script()
04: cond = check_gold_at_least(100)
05: if not cond: skip_tokens(1)
# skip -> show_text_basic(str[20] "Not enough gold!")
06: map_transition(0x01, 0x03)
07: show_text_basic(str[20] "Not enough gold!")
08: set_abort_and_exit()
Event 22 — triggers: (0,10)/DIR_W?
01 10 09 10 01 0f 0c 14 0a
00: show_text_basic(str[16] "Stairs to Cavern. Descend (y/n)?")
01: cond = prompt_yes_no()
02: if cond: skip_tokens(1)
# skip -> map_transition(0x14, 0x0A)
03: end_script()
04: map_transition(0x14, 0x0A)
Event 23 — triggers: (8,0)/DIR_W?
02 11 09 11 07 24 c4 09 11 06 19 00 71 00 00 11 01 0f 01 12 29 0c 03 81 01 14 29
00: show_text_block(str[17] "Nestled amongst several bland keys, a / crimson wonder hypnotically reel")
01: cond = prompt_yes_no()
02: if not cond: skip_tokens(7)
# skip -> map_transition(0x03, 0x81)
03: cond = check_gold_at_least(2500)
04: if not cond: skip_tokens(6)
# skip -> show_text_basic(str[20] "Not enough gold!")
05: add_party_entity(0x00, f3a=0x71, f40=0x00, f46=0x00)
06: if not cond: skip_tokens(1)
# skip -> show_text_basic(str[18] "*** Backpacks Full ***")
07: end_script()
08: show_text_basic(str[18] "*** Backpacks Full ***")
09: set_abort_and_exit()
10: map_transition(0x03, 0x81)
11: show_text_basic(str[20] "Not enough gold!")
12: set_abort_and_exit()
Event 24 — triggers: (7,3)/DIR_N?
0b 14 00 02 13 0a 11 03 24 10 27 11 02 18 00 74 ef 10 0f 01 14 08 0f
00: service_sign(idx=0x14 -> sign 37 [37.anm], pos=0x00)
01: show_text_block(str[19] "A silver-tongued illusionist will / allow you to join the prestigious / ")
02: cond = prompt_yes_no(mode=1)
03: if not cond: skip_tokens(3)
# skip -> end_script()
04: cond = check_gold_at_least(10000)
05: if not cond: skip_tokens(2)
# skip -> show_text_basic(str[20] "Not enough gold!")
06: apply_party_masked(count=0x00, set=0x74, and=0xEF, or=0x10)
07: end_script()
08: show_text_basic(str[20] "Not enough gold!")
09: wait_key()
10: end_script()
Event 25 — triggers: (12,7)/DIR_N?
04 15
00: show_text_above_door(str[21] "Danger Wild Section!")
Event 26 — triggers: (12,10)/DIR_W?
02 16 19 00 b8 01 00 10 01 01 12 07 14
00: show_text_block(str[22] "Look, someone stashed a Lava Grenade / in this corner and now it's yours")
01: add_party_entity(0x00, f3a=0xB8, f40=0x01, f46=0x00)
02: if cond: skip_tokens(1)
# skip -> wait_for_space()
03: show_text_basic(str[18] "*** Backpacks Full ***")
04: wait_for_space()
05: clear_current_tile_event_flag()
Event 27 — triggers: (3,0)/DIR_N?
0e 3e
00: exec_selector(0x3E)
Event 28 — triggers: (9,3)/DIR_S?
0e 3f
00: exec_selector(0x3F)
Event 29 — triggers: (3,15)/DIR_N?
0e 40
00: exec_selector(0x40)
Event 30 — triggers: (9,6)/0x30
0b 07 00 0e 41
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x41)
Event 31 — triggers: (11,6)/0x90
0b 07 00 0e 42
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x42)
Event 32 — triggers: (11,8)/DIR_N?+DIR_E?
0b 07 00 0e 43
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x43)
Event 33 — triggers: (9,8)/0x60
0b 07 00 0e 44
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x44)
Event 35 — triggers: (12,3)/ANY_DIR
2b 01 0e 2e 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x2E)
02: clear_current_tile_event_flag()
Event 36 — triggers: (13,3)/ANY_DIR
2b 01 0e 46 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x46)
02: clear_current_tile_event_flag()
Event 37 — triggers: (14,3)/ANY_DIR
2b 01 0e 34 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x34)
02: clear_current_tile_event_flag()
Event 38 — triggers: (15,3)/ANY_DIR
2b 01 0e 47 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x47)
02: clear_current_tile_event_flag()
Event 39 — triggers: (14,9)/ANY_DIR
2b 01 0e 45 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x45)
02: clear_current_tile_event_flag()
Event 40 — triggers: (14,11)/ANY_DIR
2b 01 0e 30 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x30)
02: clear_current_tile_event_flag()
Event 41 — triggers: (2,4)/ANY_DIR
2b 04 15 00 78 04 10 01 0f 12 04 04 04 04 04 04 06 06 06 06 06 02 17 03 00 11 01 14 0e 48
00: skip_tokens(4)
# skip -> cond = load_var8(group=0x03, index=0x00)
01: apply_party(count=0x00, op=0x78, val=0x04)
02: if cond: skip_tokens(1)
# skip -> encounter_setup(monsters=04 04 04 04 04 04 06 06 06 06, flags=06 02)
03: end_script()
04: encounter_setup(monsters=04 04 04 04 04 04 06 06 06 06, flags=06 02)
05: cond = load_var8(group=0x03, index=0x00)
06: if not cond: skip_tokens(1)
# skip -> exec_selector(0x48)
07: clear_current_tile_event_flag()
08: exec_selector(0x48)
Event 42 — triggers: (5,10)/DIR_S?
0e 07
00: exec_selector(0x07) # open_general_store
-
[00] -
[01]Hotel Four -
[02]Bestway Blacksmith -
[03]Belinthra's Bar -
[04]Training Academy -
[05]Vulcanian Transport -
[06]Vulcanian Export Co. -
[07]Blackrock Mage Guild -
[08]Lava Locksmith -
[09]Vulcan Temple -
[10]Profiency Expert -
[11]Disembowelments R Us -
[12]Sergeant Pain School -
[13]A passage leads out of Vulcania. / Exit (y/n)? -
[14]The Vulcanian Transport Company offers / immediate transference to Tundara for / 30 gold. "Well, how about it (y/n)?" -
[15]Wearing a uniform labeled "Vulcanian / Export" a pointy-eared dust devil / barks, "Fare to Atlantium is 100 gold. / Pay up (y/n)?" -
[16]Stairs to Cavern. Descend (y/n)? -
[17]Nestled amongst several bland keys, a / crimson wonder hypnotically reels you / in. The locksmith pounces, "The Red / Key goes for 2500 gold. Pay (y/n)?" -
[18]*** Backpacks Full *** -
[19]A silver-tongued illusionist will / allow you to join the prestigious / local mage guild for the special / price of 10,000 gold. Act now (y/n)? -
[20]Not enough gold! -
[21]Danger Wild Section! -
[22]Look, someone stashed a Lava Grenade / in this corner and now it's yours. -
[23]
Generated by tools/build_event_location_docs.py from event.dat. Decoder: tools/decode_event.py.
- Docs Wiki Hub ← full doc index
- Getting Started ← read this first
- Overview
- Workspace Notes
- Open Questions
- Full Analysis
- Game Remake
- Startup and Init
- Runtime Memory Map
- Main Loop and Map
- Exploration Input and Options
- Party and Session
- Game State Struct
- Data Hunk mm2 data 00
- Time Era Calendar
- GFX Loading
- ANM TV Format
- PC DOS graphics
- SNES graphics
- 3D View and Game Screen
- Amiga 3D Render Process
- Scripted Scene Graphics
- Event Graphics Opcodes
- Title Screen Assets
- Title Screen Animation
- Format inventory
- items.dat
- monsters.dat
- roster.dat
- attrib.dat
- map.dat
- spells & item use
- event.dat
- Events by location ← 71 maps
- Events hub (numbered)
- Event Script Opcodes
-
Event Script DSL ←
.mm2evtauthoring - Event Text Rendering
- Event Graphics Opcodes
- Combat Overview
- Combat System
- Encounter Tables
- Spell Cast ASM
- monsters.dat abilities
- Spells and item use
- Town Services
- Spell Sources
- Character Mechanics
- Skills and Hirelings
- Commerce Formulas
- Commerce World Services
- Mount Farview Class Quest
- Class Quest HP Bug
- Event Runtime
- Event to String Path
- Embedded Exe Strings
- Copy Protection
- Time Era Calendar
- Game State Struct
- MM1 Overview ← hub + decode status
- MM1 MAZEDATA format
- MM1 to MM2 outdoor
- MM1 WALLPIX by sector
- MM1 art & graphics
- MM1 items / monsters (status)
- MM1 map walker ↗
- MM1 2D maps gallery
- MM1 WALLPIX gallery