-
Notifications
You must be signed in to change notification settings - Fork 0
Event Loc 01 Atlantium
Navigation: Home - Wiki - Event Loc 01 Atlantium
-
event.dat offset
0x000758, length 1469 bytes - Map: map screen 1; Atlantium
-
Record kind:
standard - Triggers: 57; script segments: 54; strings: 29
| Tile (y,x) | pos | Event | Condition |
|---|---|---|---|
| (0,2) | 0x02 |
36 | ANY_DIR |
| (0,3) | 0x03 |
25 | DIR_W? |
| (0,4) | 0x04 |
5 | DIR_W? |
| (0,11) | 0x0B |
6 | DIR_E? |
| (0,12) | 0x0C |
26 | DIR_E? |
| (0,15) | 0x0F |
40 | ANY_DIR |
| (1,13) | 0x1D |
39 | ANY_DIR |
| (2,0) | 0x20 |
34 | ANY_DIR |
| (2,6) | 0x26 |
27 | DIR_S? |
| (2,9) | 0x29 |
29 | DIR_S? |
| (3,2) | 0x32 |
35 | ANY_DIR |
| (3,6) | 0x36 |
10 | DIR_S? |
| (3,8) | 0x38 |
11 | DIR_N? |
| (3,9) | 0x39 |
12 | DIR_S? |
| (3,15) | 0x3F |
38 | ANY_DIR |
| (4,5) | 0x45 |
19 | DIR_W? |
| (4,6) | 0x46 |
7 | DIR_W? |
| (4,8) | 0x48 |
28 | DIR_N? |
| (4,9) | 0x49 |
4 | DIR_E? |
| (4,10) | 0x4A |
20 | DIR_E? |
| (4,13) | 0x4D |
37 | ANY_DIR |
| (5,0) | 0x50 |
33 | ANY_DIR |
| (6,2) | 0x62 |
41 | DIR_S? |
| (6,13) | 0x6D |
42 | DIR_S? |
| (7,4) | 0x74 |
18 | DIR_W? |
| (7,5) | 0x75 |
13 | DIR_W? |
| (7,7) | 0x77 |
9 | DIR_N? |
| (7,8) | 0x78 |
9 | DIR_N? |
| (7,11) | 0x7B |
30 | DIR_E? |
| (8,0) | 0x80 |
46 | DIR_W? |
| (8,15) | 0x8F |
50 | DIR_E? |
| (9,0) | 0x90 |
45 | DIR_W? |
| (9,5) | 0x95 |
9 | DIR_E? |
| (9,7) | 0x97 |
52 | ANY_DIR |
| (9,10) | 0x9A |
9 | DIR_W? |
| (9,15) | 0x9F |
49 | DIR_E? |
| (10,0) | 0xA0 |
44 | DIR_W? |
| (10,3) | 0xA3 |
24 | DIR_W? |
| (10,4) | 0xA4 |
8 | DIR_W? |
| (10,11) | 0xAB |
3 | DIR_E? |
| (10,12) | 0xAC |
21 | DIR_E? |
| (10,15) | 0xAF |
48 | DIR_E? |
| (11,0) | 0xB0 |
43 | DIR_W? |
| (11,7) | 0xB7 |
9 | DIR_S? |
| (11,8) | 0xB8 |
9 | DIR_S? |
| (11,15) | 0xBF |
47 | DIR_E? |
| (13,0) | 0xD0 |
32 | ANY_DIR |
| (13,1) | 0xD1 |
15 | DIR_W? |
| (13,3) | 0xD3 |
14 | DIR_W? |
| (13,6) | 0xD6 |
17 | DIR_S? |
| (13,9) | 0xD9 |
16 | DIR_S? |
| (13,15) | 0xDF |
31 | ANY_DIR |
| (14,0) | 0xE0 |
51 | DIR_N? |
| (14,6) | 0xE6 |
2 | DIR_S? |
| (14,9) | 0xE9 |
1 | DIR_S? |
| (15,0) | 0xF0 |
23 | DIR_W? |
| (15,15) | 0xFF |
22 | DIR_E? |
Event 01 — triggers: (14,9)/DIR_S?
04 01
00: show_text_above_door(str[1] "Carriage Inn")
Event 02 — triggers: (14,6)/DIR_S?
04 02
00: show_text_above_door(str[2] "Drewnhald Ironworks")
Event 03 — triggers: (10,11)/DIR_E?
04 03
00: show_text_above_door(str[3] "Boar's Tongue Tavern")
Event 04 — triggers: (4,9)/DIR_E?
04 04
00: show_text_above_door(str[4] "Island Training")
Event 05 — triggers: (0,4)/DIR_W?
04 05
00: show_text_above_door(str[5] "Beautify Atlantium")
Event 06 — triggers: (0,11)/DIR_E?
04 06
00: show_text_above_door(str[6] "The Mystic Portal")
Event 07 — triggers: (4,6)/DIR_W?
04 07
00: show_text_above_door(str[7] "Cabalist Mage Guild")
Event 08 — triggers: (10,4)/DIR_W?
04 08
00: show_text_above_door(str[8] "Classic Key Shoppe")
Event 09 — triggers: (7,7)/DIR_N?, (7,8)/DIR_N?, (9,5)/DIR_E?, (9,10)/DIR_W?, (11,7)/DIR_S?, (11,8)/DIR_S?
04 09
00: show_text_above_door(str[9] "The Colosseum")
Event 10 — triggers: (3,6)/DIR_S?
04 0a
00: show_text_above_door(str[10] "The Olympic Trial")
Event 11 — triggers: (3,8)/DIR_N?
04 0b
00: show_text_above_door(str[11] "Odysseus' Tongue")
Event 12 — triggers: (3,9)/DIR_S?
04 0c
00: show_text_above_door(str[12] "Hippomenes + Atlanta")
Event 13 — triggers: (7,5)/DIR_W?
04 0d
00: show_text_above_door(str[13] "Eleusinian Temple")
Event 14 — triggers: (13,3)/DIR_W?
04 0e
00: show_text_above_door(str[14] "Danger! City Jail!")
Event 15 — triggers: (13,1)/DIR_W?
04 0f
00: show_text_above_door(str[15] "Death Row!")
Event 16 — triggers: (13,9)/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: (13,6)/DIR_S?
0b 02 00 0e 06
00: service_sign(idx=0x02 -> sign 62 [62.anm], pos=0x00)
01: exec_selector(0x06) # open_blacksmith_shop
Event 18 — triggers: (7,4)/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 19 — triggers: (4,5)/DIR_W?
0b 14 00 0e 05
00: service_sign(idx=0x14 -> sign 37 [37.anm], pos=0x00)
01: exec_selector(0x05) # open_mages_guild
Event 20 — triggers: (4,10)/DIR_E?
0b 06 00 0e 02
00: service_sign(idx=0x06 -> sign 68 [68.anm], pos=0x00)
01: exec_selector(0x02) # open_training
Event 21 — triggers: (10,12)/DIR_E?
0b 04 00 0e 03
00: service_sign(idx=0x04 -> sign 66 [66.anm], pos=0x00)
01: exec_selector(0x03) # open_tavern_food
Event 22 — triggers: (15,15)/DIR_E?
02 10 09 10 01 0f 0c 0f ad
00: show_text_block(str[16] "An empty pier stretches out of town. / Leave (y/n)?")
01: cond = prompt_yes_no()
02: if cond: skip_tokens(1)
# skip -> map_transition(0x0F, 0xAD)
03: end_script()
04: map_transition(0x0F, 0xAD)
Event 23 — triggers: (15,0)/DIR_W?
01 11 09 10 01 0f 0c 12 88
00: show_text_basic(str[17] "Stairs to cavern. Descend (y/n)?")
01: cond = prompt_yes_no()
02: if cond: skip_tokens(1)
# skip -> map_transition(0x12, 0x88)
03: end_script()
04: map_transition(0x12, 0x88)
Event 24 — triggers: (10,3)/DIR_W?
0e 1c
00: exec_selector(0x1C)
Event 25 — triggers: (0,3)/DIR_W?
02 13 09 10 01 0f 24 32 00 11 01 0c 03 38 01 14 29
00: show_text_block(str[19] "A girl in a pure white toga offers / travel to Vulcania for 50 gold. / A")
01: cond = prompt_yes_no()
02: if cond: skip_tokens(1)
# skip -> cond = check_gold_at_least(50)
03: end_script()
04: cond = check_gold_at_least(50)
05: if not cond: skip_tokens(1)
# skip -> show_text_basic(str[20] "Not enough gold!")
06: map_transition(0x03, 0x38)
07: show_text_basic(str[20] "Not enough gold!")
08: set_abort_and_exit()
Event 26 — triggers: (0,12)/DIR_E?
02 15 09 10 01 0f 24 19 00 11 01 0c 00 50 01 14 29
00: show_text_block(str[21] "The Keep Atlantium Beautiful Committee / offers to send you to Middlegat")
01: cond = prompt_yes_no()
02: if cond: skip_tokens(1)
# skip -> cond = check_gold_at_least(25)
03: end_script()
04: cond = check_gold_at_least(25)
05: if not cond: skip_tokens(1)
# skip -> show_text_basic(str[20] "Not enough gold!")
06: map_transition(0x00, 0x50)
07: show_text_basic(str[20] "Not enough gold!")
08: set_abort_and_exit()
Event 27 — triggers: (2,6)/DIR_S?
02 16 09 11 08 02 1b 26 15 09 6d 0f 10 05 24 f4 01 11 0c 18 09 6d f0 02 1f 09 13 01 05 00 00 0f 15 09 6d f0 10 05 24 f4 01 11 05 18 09 6d 0f 20 1f 09 13 01 05 00 00 0f 01 17 29 01 14 29
00: show_text_block(str[22] "Hurl the spear, let fly the discus, / all in the Olympic manner. Spend 5")
01: cond = prompt_yes_no()
02: if not cond: skip_tokens(8)
# skip -> end_script()
03: show_text_block(str[27] "Who will learn this skill (1-8)?")
04: selected = select_party_member()
05: apply_party(count=0x09, op=0x6D, val=0x0F)
06: if cond: skip_tokens(5)
# skip -> apply_party(count=0x09, op=0x6D, val=0xF0)
07: cond = check_gold_at_least(500)
08: if not cond: skip_tokens(12)
# skip -> show_text_basic(str[20] "Not enough gold!")
09: apply_party_masked(count=0x09, set=0x6D, and=0xF0, or=0x02)
10: party_effect(sel=0x09, 13 01 05 00 00)
11: end_script()
12: apply_party(count=0x09, op=0x6D, val=0xF0)
13: if cond: skip_tokens(5)
# skip -> show_text_basic(str[23] "You already have two Skills!")
14: cond = check_gold_at_least(500)
15: if not cond: skip_tokens(5)
# skip -> show_text_basic(str[20] "Not enough gold!")
16: apply_party_masked(count=0x09, set=0x6D, and=0x0F, or=0x20)
17: party_effect(sel=0x09, 13 01 05 00 00)
18: end_script()
19: show_text_basic(str[23] "You already have two Skills!")
20: set_abort_and_exit()
21: show_text_basic(str[20] "Not enough gold!")
22: set_abort_and_exit()
Event 28 — triggers: (4,8)/DIR_N?
02 18 09 11 08 02 1b 26 15 09 6d 0f 10 05 24 f4 01 11 0c 18 09 6d f0 09 1f 09 11 01 05 00 00 0f 15 09 6d f0 10 05 24 f4 01 11 05 18 09 6d 0f 90 1f 09 11 01 05 00 00 0f 01 17 29 01 14 29
00: show_text_block(str[24] "Let crafty Odysseus teach you his many / linguistic skills for 500 gold ")
01: cond = prompt_yes_no()
02: if not cond: skip_tokens(8)
# skip -> end_script()
03: show_text_block(str[27] "Who will learn this skill (1-8)?")
04: selected = select_party_member()
05: apply_party(count=0x09, op=0x6D, val=0x0F)
06: if cond: skip_tokens(5)
# skip -> apply_party(count=0x09, op=0x6D, val=0xF0)
07: cond = check_gold_at_least(500)
08: if not cond: skip_tokens(12)
# skip -> show_text_basic(str[20] "Not enough gold!")
09: apply_party_masked(count=0x09, set=0x6D, and=0xF0, or=0x09)
10: party_effect(sel=0x09, 11 01 05 00 00)
11: end_script()
12: apply_party(count=0x09, op=0x6D, val=0xF0)
13: if cond: skip_tokens(5)
# skip -> show_text_basic(str[23] "You already have two Skills!")
14: cond = check_gold_at_least(500)
15: if not cond: skip_tokens(5)
# skip -> show_text_basic(str[20] "Not enough gold!")
16: apply_party_masked(count=0x09, set=0x6D, and=0x0F, or=0x90)
17: party_effect(sel=0x09, 11 01 05 00 00)
18: end_script()
19: show_text_basic(str[23] "You already have two Skills!")
20: set_abort_and_exit()
21: show_text_basic(str[20] "Not enough gold!")
22: set_abort_and_exit()
Event 29 — triggers: (2,9)/DIR_S?
02 19 09 11 03 02 1b 26 0e 52 0f
00: show_text_block(str[25] "Become the Hero/Heroine of your / dreams for 1000 gold (y/n)?")
01: cond = prompt_yes_no()
02: if not cond: skip_tokens(3)
# skip -> end_script()
03: show_text_block(str[27] "Who will learn this skill (1-8)?")
04: selected = select_party_member()
05: exec_selector(0x52)
06: end_script()
Event 30 — triggers: (7,11)/DIR_E?
0b 14 00 0e 12
00: service_sign(idx=0x14 -> sign 37 [37.anm], pos=0x00)
01: exec_selector(0x12)
Event 31 — triggers: (13,15)/ANY_DIR
2b 01 0e 26 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x26)
02: clear_current_tile_event_flag()
Event 32 — triggers: (13,0)/ANY_DIR
2b 01 0e 13 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x13)
02: clear_current_tile_event_flag()
Event 33 — triggers: (5,0)/ANY_DIR
2b 01 0e 14 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x14)
02: clear_current_tile_event_flag()
Event 34 — triggers: (2,0)/ANY_DIR
2b 01 0e 15 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x15)
02: clear_current_tile_event_flag()
Event 35 — triggers: (3,2)/ANY_DIR
2b 01 0e 16 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x16)
02: clear_current_tile_event_flag()
Event 36 — triggers: (0,2)/ANY_DIR
2b 01 0e 17 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x17)
02: clear_current_tile_event_flag()
Event 37 — triggers: (4,13)/ANY_DIR
2b 01 0e 18 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x18)
02: clear_current_tile_event_flag()
Event 38 — triggers: (3,15)/ANY_DIR
2b 01 0e 19 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x19)
02: clear_current_tile_event_flag()
Event 39 — triggers: (1,13)/ANY_DIR
2b 01 0e 1a 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x1A)
02: clear_current_tile_event_flag()
Event 40 — triggers: (0,15)/ANY_DIR
2b 01 0e 1b 14
00: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
01: exec_selector(0x1B)
02: clear_current_tile_event_flag()
Event 41 — triggers: (6,2)/DIR_S?
04 1a
00: show_text_above_door(str[26] "Knights/Warriors")
Event 42 — triggers: (6,13)/DIR_S?
04 12
00: show_text_above_door(str[18] "Sorcerers/Clerics")
Event 43 — triggers: (11,0)/DIR_W?
0b 07 00 0e 24
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x24)
Event 44 — triggers: (10,0)/DIR_W?
0b 07 00 0e 1d
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x1D)
Event 45 — triggers: (9,0)/DIR_W?
0b 07 00 0e 1e
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x1E)
Event 46 — triggers: (8,0)/DIR_W?
0b 07 00 0e 1f
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x1F)
Event 47 — triggers: (11,15)/DIR_E?
0b 07 00 0e 20
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x20)
Event 48 — triggers: (10,15)/DIR_E?
0b 07 00 0e 21
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x21)
Event 49 — triggers: (9,15)/DIR_E?
0b 07 00 0e 22
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x22)
Event 50 — triggers: (8,15)/DIR_E?
0b 07 00 0e 23
00: service_sign(idx=0x07 -> sign 65 [65.anm], pos=0x00)
01: exec_selector(0x23)
Event 51 — triggers: (14,0)/DIR_N?
17 05 00 10 01 0e 25 14
00: cond = load_var8(group=0x05, index=0x00)
01: if cond: skip_tokens(1)
# skip -> clear_current_tile_event_flag()
02: exec_selector(0x25)
03: clear_current_tile_event_flag()
Event 52 — triggers: (9,7)/ANY_DIR
0e 08
00: exec_selector(0x08) # open_arena_shop
-
[00] -
[01]Carriage Inn -
[02]Drewnhald Ironworks -
[03]Boar's Tongue Tavern -
[04]Island Training -
[05]Beautify Atlantium -
[06]The Mystic Portal -
[07]Cabalist Mage Guild -
[08]Classic Key Shoppe -
[09]The Colosseum -
[10]The Olympic Trial -
[11]Odysseus' Tongue -
[12]Hippomenes + Atlanta -
[13]Eleusinian Temple -
[14]Danger! City Jail! -
[15]Death Row! -
[16]An empty pier stretches out of town. / Leave (y/n)? -
[17]Stairs to cavern. Descend (y/n)? -
[18]Sorcerers/Clerics -
[19]A girl in a pure white toga offers / travel to Vulcania for 50 gold. / Accept (y/n)? -
[20]Not enough gold! -
[21]The Keep Atlantium Beautiful Committee / offers to send you to Middlegate for / 25 gold. Embark (y/n)? -
[22]Hurl the spear, let fly the discus, / all in the Olympic manner. Spend 500 / gold to be an Athlete (y/n)? -
[23]You already have two Skills! -
[24]Let crafty Odysseus teach you his many / linguistic skills for 500 gold (y/n)? -
[25]Become the Hero/Heroine of your / dreams for 1000 gold (y/n)? -
[26]Knights/Warriors -
[27]Who will learn this skill (1-8)? -
[28]
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
- Amiga audio in exe ← Paula / DATA / remake
- Controls: Sounds / Walk Beep
- MM2 music format (superseded)
- Title/death audio paths (superseded)
- Known songs catalog (superseded)
- 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