[Hide]
QUESTS
[Hide]
Hive ending
Here's the last event from the game:
Quote
event 60 Hint = str[27] -- "Exit" 0: Cmp {"QBits", Value = 202, jump = 3} -- NPC 1: StatusText {Str = 25} -- "The door is locked" 2: Exit {}
3: ForPlayer ("All") 4: Cmp {"Inventory", Value = 544, jump = 7} -- "Ritual of the Void" 5: EnterHouse {Id = 601} -- Lose 6: Exit {}
7: Set {"QBits", Value = 237} -- NPC 8: Subtract {"QBits", Value = 198} -- Quest item bits for seer 9: Subtract {"Inventory", Value = 544} -- "Ritual of the Void" 10: Set {"Awards", Value = 36} -- "Destroyed the Hive and Saved Enroth" 11: EnterHouse {Id = 600} -- Win end
QBits is a sort of array of quest triggers. The value can be set or not (?)
There is no map event at Hive that sets the 237 value, because it is handled by the death state of the Queen and Reactor. Using telekinesis for killing Reactor or Queen won't do anything because the death state doesn't happen. If there is a way to summon Reactor anywhere else you'd still be able to complete the game by destroying it. Visiting houses 600 & 601 completes the game
[Hide]
Admission to the Oracle
The game checks if that quest is completed not only at High Council but after each council quest as well
AwardsQuote
event 375 -- "Admission to the Oracle" 0: ForPlayer ("All") 1: Cmp {"Awards", Value = 4, jump = 4} -- "Destroyed the Devil's Post" 2: SetMessage {Str = 122} -- "I am only allowed to vote on the issues that Lord Temper specifically instructs me on. Garner his approval, and on his recommendation, I will vote in your favor." 3: Exit {}
4: SetMessage {Str = 123} -- "Osric has instructed me to vote for your cause. I give you my full support in his name." end
event 376 -- "Admission to the Oracle" 0: ForPlayer ("All") 1: Cmp {"Awards", Value = 6, jump = 4} -- "Fixed the Stable Prices" 2: SetMessage {Str = 124} -- "Lady Fleise could not possibly care less about your problems and I will therefore not even consider your request." 3: Exit {}
4: SetMessage {Str = 125} -- "You have my vote, in Lorettas name, to visit the Oracle." end
event 377 -- "Admission to the Oracle" 0: ForPlayer ("All") 1: Cmp {"Awards", Value = 5, jump = 4} -- "Captured the Prince of Thieves" 2: SetMessage {Str = 126} -- "Lord Stone has not authorized me to vote in your behalf. You will need to take this matter up with him." 3: Exit {}
4: SetMessage {Str = 127} -- "Anthony backs your request to visit the Oracle, and I give you my vote on his behalf." end
event 378 -- "Admission to the Oracle" 0: ForPlayer ("All") 1: Cmp {"Awards", Value = 7, jump = 4} -- "Ended Winter" 2: SetMessage {Str = 128} -- "I cannot vote on matters that do not concern Lord Stromgard. Until you have his backing, I cannot vote for you." 3: Exit {}
4: SetMessage {Str = 129} -- "I vote for you to visit the Oracle, as instructed by Eric von Stromgard himself." end
event 379 -- "Admission to the Oracle" 0: ForPlayer ("All") 1: Cmp {"Awards", Value = 3, jump = 4} -- "Retrieved the Hourglass of Time" 2: SetMessage {Str = 130} -- "Until I receive favorable word from Lord Newton on your request, I cannot give you my backing." 3: Exit {}
4: SetMessage {Str = 131} -- "Albert has given me permission to back your request to visit the Oracle. " end
QuestQuote
event 380 -- "Admission to the Oracle" 0: ForPlayer ("All") 1: Cmp {"Inventory", Value = 502, jump = 3} -- "Letter from Zenofex" 2: GoTo {jump = 30}
3: MoveNPC {NPC = 304, HouseId = 0} -- "Slicker Silvertongue" 4: Subtract {"Inventory", Value = 502} -- "Letter from Zenofex" 5: SetMessage {Str = 134} -- "Do not believe you have won! Soon the Iron Fist will lose its grip, and I will be your king! And you can be sure I won't forget you
" 6: Add {"ReputationIs", Value = 200} 7: Set {"QBits", Value = 168} -- NPC 8: ForPlayer ("All") 9: Add {"Awards", Value = 32} -- "Exposed the Traitor on the High Council" 10: Subtract {"QBits", Value = 190} -- Quest item bits for seer 11: Subtract {"QBits", Value = 201} -- "Bring the the letter detailing Silvertongue's treason to the High Council in Free Haven." 12: Cmp {"QBits", Value = 200, jump = 14} -- "Find a cure for Slicker Silvertongue in the Superior Temple of Baa east of Castle Kriegspire and return to Wilbur Humphrey with the good news." 13: GoTo {jump = 15}
14: Subtract {"QBits", Value = 200} -- "Find a cure for Slicker Silvertongue in the Superior Temple of Baa east of Castle Kriegspire and return to Wilbur Humphrey with the good news." 15: SetNPCTopic {NPC = 4, Index = 0, Event = 103} -- "Wilbur Humphrey" : "Service to the Crown" 16: Cmp {"Awards", Value = 2, jump = 18} -- "Retrieved Lord Kilburn's Shield" 17: Exit {}
18: Cmp {"Awards", Value = 3, jump = 20} -- "Retrieved the Hourglass of Time" 19: Exit {}
20: Cmp {"Awards", Value = 4, jump = 22} -- "Destroyed the Devil's Post" 21: Exit {}
22: Cmp {"Awards", Value = 5, jump = 24} -- "Captured the Prince of Thieves" 23: Exit {}
24: Cmp {"Awards", Value = 6, jump = 26} -- "Fixed the Stable Prices" 25: Exit {}
26: Cmp {"Awards", Value = 7, jump = 28} -- "Ended Winter" 27: Exit {}
28: Set {"QBits", Value = 167} -- NPC 29: Exit {}
30: Cmp {"Awards", Value = 2, jump = 33} -- "Retrieved Lord Kilburn's Shield" 31: SetMessage {Str = 132} -- "You have not adequately demonstrated your loyalty to my liege, Lord Humphrey, and I cannot give you my vote." 32: Exit {}
33: SetMessage {Str = 133} -- "As long as I am a member of this council, you will not be permitted to visit the Oracle. I am not convinced of your sincerity and will not grant your request." 34: SetNPCTopic {NPC = 4, Index = 0, Event = 101} -- "Wilbur Humphrey" : "Silvertongue's Refusal" end
[Hide]
The Third Eye
The King's LibraryQuote
event 42 Hint = str[168] 0: Cmp {"QBits", Value = 177, jump = 3} -- NPC 1: EnterHouse {Id = 168} -- "King's Library" 2: Exit {}
3: EnterHouse {Id = 554} -- "King's Library" end
WellQuote
event 231 Hint = str[11] -- "Well" 0: Cmp {"QBits", Value = 305, jump = 2} -- NPC 1: Cmp {"QBits", Value = 96, jump = 3} -- "Find the Third Eye and bring it to Prince Nicolai in Castle Ironfist." 2: Exit {}
3: Add {"Inventory", Value = 446} -- "The Third Eye" 4: Set {"QBits", Value = 305} -- NPC 5: Set {"QBits", Value = 196} -- Quest item bits for seer end
EventsQuote
event 26 -- "The Third Eye" 0: SetMessage {Str = 34} -- "You want to free Archibald?! If the Oracle told you to do it, I guess we should, but hell be trouble once hes loose, thats for sure. I know where the bell is that turned him to stone, but I cant open the family vault that its in without the Third Eye. Its one of three gems you need to put into the door of the vault in order to open it. Ive got two of them one in my fathers crown and one in his scepter, but my father hid the third one, and he didnt tell me where it is. If you could find it, I could open the vault and get the bell." 1: Add {"QBits", Value = 96} -- "Find the Third Eye and bring it to Prince Nicolai in Castle Ironfist." 2: SetNPCTopic {NPC = 13, Index = 1, Event = 27} -- "Nicolai Ironfist" : "Uncle Archibald" 3: SetNPCTopic {NPC = 8, Index = 1, Event = 0} -- "Oracle" end
event 27 -- "Uncle Archibald" 0: ForPlayer ("All") 1: Cmp {"Inventory", Value = 446, jump = 4} -- "The Third Eye" 2: SetMessage {Str = 35} -- "Without the Third Eye, I cant get into the vault to get you the bell that will release Archibald. He must have hidden it near the castle, because he used to just go right outside and fetch it whenever he needed to open the vault." 3: Exit {}
4: SetMessage {Str = 36} -- "You found the Third Eye! All right, wait here the bell should be in the vault. <Nicolai runs out of the throne room, returning a short while later> Ok, here it is! " 5: Subtract {"Inventory", Value = 446} -- "The Third Eye" 6: Subtract {"QBits", Value = 196} -- Quest item bits for seer 7: Subtract {"QBits", Value = 96} -- "Find the Third Eye and bring it to Prince Nicolai in Castle Ironfist." 8: ForPlayer ("Current") 9: Add {"Inventory", Value = 461} -- "Tanir's Bell" 10: Set {"QBits", Value = 197} -- Quest item bits for seer 11: SetNPCTopic {NPC = 13, Index = 1, Event = 28} -- "Nicolai Ironfist" : "Uncle Archibald" end
event 28 -- "Uncle Archibald" 0: SetMessage {Str = 37} -- "I hope you know what you're doing. Everyone says my uncle is quite treacherous." end
event 30 -- "Release Archibald" 0: Cmp {"QBits", Value = 177, jump = 12} -- NPC 1: SetMessage {Str = 39} -- "Now wait just a minute Tanir, and Ill make it worth your while to let me
Oh. <Archibald is silent for a long while> I guess I have you people to thank for releasing me from my prison of stone. Thank you! You say you need a spell that I've created? <reaching to the shelves and removing a library scroll> Well, as a reward, Ill give you the Ritual of the Void. Use it in good health. Now, Im sure youre very busy, as am I
<Archibald waves his arms and fades away>" 2: Add {"Inventory", Value = 544} -- "Ritual of the Void" 3: Subtract {"QBits", Value = 197} -- Quest item bits for seer 4: Add {"QBits", Value = 177} -- NPC 5: Subtract {"QBits", Value = 97} -- Walt 6: Subtract {"QBits", Value = 235} -- "Obtain Arcane Magic from Archibald in the Royal Library in Castle Ironfist" 7: Add {"QBits", Value = 198} -- Quest item bits for seer 8: ForPlayer ("All") 9: Subtract {"ReputationIs", Value = 1000} 10: Add {"Experience", Value = 50000} 11: MoveNPC {NPC = 12, HouseId = 0} -- "Archibald Ironfist" 12: Exit {} end
[Hide]
Superior Temple of Baa entrance
Quote
event 90 0: ForPlayer ("All") 1: Cmp {"Inventory", Value = 485, jump = 4} -- "Cloak of Baa" 2: StatusText {Str = 12} -- "You are not a follower of Baa. Begone!" 3: Exit {}
4: MoveToMap {X = 2094, Y = -19, Z = 177, Direction = 337, LookAngle = 0, SpeedZ = 0, HouseId = 197, Icon = 5, Name = "T7.Blv"} -- "Superior Temple of Baa" 5: Exit {}
6: EnterHouse {Id = 197} -- "Superior Temple of Baa" end
[Hide]
Dragon Towers
Quote
event 210 Timer(<function>, 5*const.Minute) 1: Cmp {"QBits", Value = 157, jump = 3} -- NPC 2: Cmp {"Flying", Value = 0, jump = 4} 3: Exit {}
4: CastSpell {Spell = 6, Mastery = const.Master, Skill = 5, FromX = 3039, FromY = -9201, FromZ = 2818, ToX = 0, ToY = 0, ToZ = 0} -- "Fireball" end
event 211 0: ForPlayer ("All") 1: Cmp {"QBits", Value = 157, jump = 3} -- NPC 2: Cmp {"Inventory", Value = 486, jump = 4} -- "Dragon Tower Keys" 3: Exit {}
4: Set {"QBits", Value = 157} -- NPC 5: SetTextureOutdoors {Model = 53, Facet = 42, Name = "T1swBu"} end
[Hide]
Memory Crystals
As itemcopy-pasted several times just with different ids for the other crystals
Quote
event 62 Hint = str[38] 0: ForPlayer ("All") 1: Cmp {"QBits", Value = 104, jump = 8} -- CD3 2: Cmp {"Inventory", Value = 553, jump = 8} -- "Memory Crystal Epsilon" 3: SetSprite {SpriteId = 290, Visible = 1, Name = "crysdisc"} 4: ForPlayer ("Current") 5: Add {"Inventory", Value = 553} -- "Memory Crystal Epsilon" 6: Set {"QBits", Value = 104} -- CD3 7: Set {"QBits", Value = 194} -- Quest item bits for seer 8: Exit {} end
event 63 function events.LoadMap() 1: ForPlayer ("All") 2: Cmp {"QBits", Value = 104, jump = 5} -- CD3 3: Cmp {"Inventory", Value = 553, jump = 5} -- "Memory Crystal Epsilon" 4: Exit {}
5: SetSprite {SpriteId = 290, Visible = 1, Name = "crysdisc"} end
Placement eventcopy-pasted several times just with different ids for the other crystals
Quote
event 5 0: Cmp {"MapVar6", Value = 1, jump = 2} 1: Exit {}
2: Cmp {"QBits", Value = 280, jump = 10} -- NPC 3: ForPlayer ("All") 4: Cmp {"Inventory", Value = 550, jump = 12} -- "Memory Crystal Alpha" 5: Cmp {"Inventory", Value = 551, jump = 18} -- "Memory Crystal Beta" 6: Cmp {"Inventory", Value = 552, jump = 24} -- "Memory Crystal Delta" 7: Cmp {"Inventory", Value = 553, jump = 30} -- "Memory Crystal Epsilon" 8: StatusText {Str = 9} -- "Insert Memory module to activate Melian." 9: Exit {}
10: StatusText {Str = 10} -- "Memory module restored." 11: Exit {}
12: Cmp {"QBits", Value = 100, jump = 5} -- Oracle 13: Subtract {"Inventory", Value = 550} -- "Memory Crystal Alpha" 14: Set {"QBits", Value = 100} -- Oracle 15: Subtract {"QBits", Value = 191} -- Quest item bits for seer 16: Set {"QBits", Value = 280} -- NPC 17: GoTo {jump = 36}
18: Cmp {"QBits", Value = 101, jump = 6} -- Oracle 19: Subtract {"Inventory", Value = 551} -- "Memory Crystal Beta" 20: Set {"QBits", Value = 101} -- Oracle 21: Subtract {"QBits", Value = 192} -- Quest item bits for seer 22: Set {"QBits", Value = 280} -- NPC 23: GoTo {jump = 36}
24: Cmp {"QBits", Value = 102, jump = 7} -- Oracle 25: Subtract {"Inventory", Value = 552} -- "Memory Crystal Delta" 26: Set {"QBits", Value = 102} -- Oracle 27: Subtract {"QBits", Value = 193} -- Quest item bits for seer 28: Set {"QBits", Value = 280} -- NPC 29: GoTo {jump = 36}
30: Cmp {"QBits", Value = 103, jump = 10} -- Oracle 31: Subtract {"Inventory", Value = 553} -- "Memory Crystal Epsilon" 32: Set {"QBits", Value = 103} -- Oracle 33: Subtract {"QBits", Value = 194} -- Quest item bits for seer 34: Set {"QBits", Value = 280} -- NPC 35: GoTo {jump = 36}
36: SetSprite {SpriteId = 4, Visible = 1, Name = "mcryst01"} 37: SetLight {Id = 63, On = true} 38: Add {"Experience", Value = 100000} 39: StatusText {Str = 11} -- "+100,000 Experience" 40: Cmp {"QBits", Value = 100, jump = 42} -- Oracle 41: Exit {}
42: Cmp {"QBits", Value = 101, jump = 44} -- Oracle 43: Exit {}
44: Cmp {"QBits", Value = 102, jump = 46} -- Oracle 45: Exit {}
46: Cmp {"QBits", Value = 103, jump = 48} -- Oracle 47: Exit {}
48: SetNPCTopic {NPC = 8, Index = 0, Event = 76} -- "Oracle" : "Control Center" 49: SetNPCTopic {NPC = 8, Index = 1, Event = 0} -- "Oracle" end
event 51 function events.LoadMap() 1: Cmp {"QBits", Value = 280, jump = 6} -- NPC 2: Cmp {"QBits", Value = 281, jump = 8} -- NPC 3: Cmp {"QBits", Value = 282, jump = 10} -- NPC 4: Cmp {"QBits", Value = 283, jump = 12} -- NPC 5: Exit {}
6: SetSprite {SpriteId = 4, Visible = 1, Name = "mcryst01"} 7: GoTo {jump = 2}
8: SetSprite {SpriteId = 3, Visible = 1, Name = "mcryst01"} 9: GoTo {jump = 3}
10: SetSprite {SpriteId = 2, Visible = 1, Name = "mcryst01"} 11: GoTo {jump = 4}
12: SetSprite {SpriteId = 1, Visible = 1, Name = "mcryst01"} end
EXTRA
[Hide]
Shrine of the Gods
Quote
event 103 Hint = str[16] -- "Shrine of the Gods" 0: Cmp {"PlayerBits", Value = 10, jump = 17} 1: Add {"FireResistance", Value = 20} 2: Add {"ElecResistance", Value = 20} 3: Add {"ColdResistance", Value = 20} 4: Add {"PoisonResistance", Value = 20} 5: Add {"MagicResistance", Value = 20} 6: Add {"BaseMight", Value = 20} 7: Add {"BaseIntellect", Value = 20} 8: Add {"BasePersonality", Value = 20} 9: Add {"BaseEndurance", Value = 20} 10: Add {"BaseSpeed", Value = 20} 11: Add {"BaseAccuracy", Value = 20} 12: Add {"BaseLuck", Value = 20} 13: Set {"PlayerBits", Value = 10} 14: Set {"MainCondition", Value = const.Condition.Cursed} 15: PlaySound {Id = 14050, X = 0, Y = 0} 16: StatusText {Str = 7} -- "+20 to all stats permanent." 17: Exit {} end
[Hide]
Travel
Quote
event 14 Hint = str[50] 0: EnterHouse {Id = 50} -- "Free Haven Travel East" end
event 15 Hint = str[50] 0: Exit {}
1: EnterHouse {Id = 50} -- "Free Haven Travel East" end
event 16 Hint = str[51] 0: EnterHouse {Id = 51} -- "Free Haven Travel West" end
event 17 Hint = str[51] 0: Exit {}
1: EnterHouse {Id = 51} -- "Free Haven Travel West" end
Traveling being the same as entering a house was a bit surprising
[Hide]
The Circus (Blackshire)
EntranceQuote
event 30 Hint = str[166] 0: Cmp {"DayOfYearIs", Value = 84, jump = 30} 1: Cmp {"DayOfYearIs", Value = 85, jump = 30} 2: Cmp {"DayOfYearIs", Value = 86, jump = 30} 3: Cmp {"DayOfYearIs", Value = 87, jump = 30} 4: Cmp {"DayOfYearIs", Value = 88, jump = 30} 5: Cmp {"DayOfYearIs", Value = 89, jump = 30} 6: Cmp {"DayOfYearIs", Value = 90, jump = 30} 7: Cmp {"DayOfYearIs", Value = 91, jump = 30} 8: Cmp {"DayOfYearIs", Value = 92, jump = 30} 9: Cmp {"DayOfYearIs", Value = 93, jump = 30} 10: Cmp {"DayOfYearIs", Value = 94, jump = 30} 11: Cmp {"DayOfYearIs", Value = 95, jump = 30} 12: Cmp {"DayOfYearIs", Value = 96, jump = 30} 13: Cmp {"DayOfYearIs", Value = 97, jump = 30} 14: Cmp {"DayOfYearIs", Value = 98, jump = 30} 15: Cmp {"DayOfYearIs", Value = 99, jump = 30} 16: Cmp {"DayOfYearIs", Value = 100, jump = 30} 17: Cmp {"DayOfYearIs", Value = 101, jump = 30} 18: Cmp {"DayOfYearIs", Value = 102, jump = 30} 19: Cmp {"DayOfYearIs", Value = 103, jump = 30} 20: Cmp {"DayOfYearIs", Value = 104, jump = 30} 21: Cmp {"DayOfYearIs", Value = 105, jump = 30} 22: Cmp {"DayOfYearIs", Value = 106, jump = 30} 23: Cmp {"DayOfYearIs", Value = 107, jump = 30} 24: Cmp {"DayOfYearIs", Value = 108, jump = 30} 25: Cmp {"DayOfYearIs", Value = 109, jump = 30} 26: Cmp {"DayOfYearIs", Value = 110, jump = 30} 27: Cmp {"DayOfYearIs", Value = 111, jump = 30} 28: StatusText {Str = 9} -- "No one is here. The Circus has moved." 29: Exit {}
30: EnterHouse {Id = 166} -- "Circus" end
GameQuote
event 108 -- "Play Endurance Game for 50 Gold" 0: Subtract {"Gold", Value = 50} 1: Cmp {"CurrentEndurance", Value = 200, jump = 3} 2: GoTo {jump = 22}
3: RandomGoTo {jumpA = 4, jumpB = 7, jumpC = 10, jumpD = 13, jumpE = 16, jumpF = 19} 4: Add {"Inventory", Value = 477} -- "Four Leaf Clover" 5: SetMessage {Str = 189} -- "Incredible! Are you sure you didn't cheat? Well, a rule's a rule. Here's your prize a four leaf clover!" 6: Exit {}
7: Add {"Inventory", Value = 477} -- "Four Leaf Clover" 8: SetMessage {Str = 189} -- "Incredible! Are you sure you didn't cheat? Well, a rule's a rule. Here's your prize a four leaf clover!" 9: Exit {}
10: Add {"Inventory", Value = 477} -- "Four Leaf Clover" 11: SetMessage {Str = 189} -- "Incredible! Are you sure you didn't cheat? Well, a rule's a rule. Here's your prize a four leaf clover!" 12: Exit {}
13: Add {"Inventory", Value = 471} -- "Harpy Feather" 14: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 15: Exit {}
16: Add {"Inventory", Value = 471} -- "Harpy Feather" 17: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 18: Exit {}
19: Add {"Inventory", Value = 470} -- "Lodestone" 20: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 21: Exit {}
22: Cmp {"CurrentEndurance", Value = 150, jump = 24} 23: GoTo {jump = 43}
24: RandomGoTo {jumpA = 25, jumpB = 28, jumpC = 31, jumpD = 34, jumpE = 37, jumpF = 40} 25: Add {"Inventory", Value = 477} -- "Four Leaf Clover" 26: SetMessage {Str = 189} -- "Incredible! Are you sure you didn't cheat? Well, a rule's a rule. Here's your prize a four leaf clover!" 27: Exit {}
28: Add {"Inventory", Value = 477} -- "Four Leaf Clover" 29: SetMessage {Str = 189} -- "Incredible! Are you sure you didn't cheat? Well, a rule's a rule. Here's your prize a four leaf clover!" 30: Exit {}
31: Add {"Inventory", Value = 471} -- "Harpy Feather" 32: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 33: Exit {}
34: Add {"Inventory", Value = 471} -- "Harpy Feather" 35: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 36: Exit {}
37: Add {"Inventory", Value = 470} -- "Lodestone" 38: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 39: Exit {}
40: Add {"Inventory", Value = 470} -- "Lodestone" 41: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 42: Exit {}
43: Cmp {"CurrentEndurance", Value = 100, jump = 45} 44: GoTo {jump = 63}
45: RandomGoTo {jumpA = 46, jumpB = 49, jumpC = 52, jumpD = 55, jumpE = 58, jumpF = 61} 46: Add {"Inventory", Value = 477} -- "Four Leaf Clover" 47: SetMessage {Str = 189} -- "Incredible! Are you sure you didn't cheat? Well, a rule's a rule. Here's your prize a four leaf clover!" 48: Exit {}
49: Add {"Inventory", Value = 471} -- "Harpy Feather" 50: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 51: Exit {}
52: Add {"Inventory", Value = 471} -- "Harpy Feather" 53: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 54: Exit {}
55: Add {"Inventory", Value = 470} -- "Lodestone" 56: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 57: Exit {}
58: Add {"Inventory", Value = 470} -- "Lodestone" 59: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 60: Exit {}
61: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 62: Exit {}
63: Cmp {"CurrentEndurance", Value = 75, jump = 65} 64: GoTo {jump = 82}
65: RandomGoTo {jumpA = 66, jumpB = 69, jumpC = 72, jumpD = 75, jumpE = 78, jumpF = 80} 66: Add {"Inventory", Value = 471} -- "Harpy Feather" 67: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 68: Exit {}
69: Add {"Inventory", Value = 471} -- "Harpy Feather" 70: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 71: Exit {}
72: Add {"Inventory", Value = 470} -- "Lodestone" 73: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 74: Exit {}
75: Add {"Inventory", Value = 470} -- "Lodestone" 76: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 77: Exit {}
78: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 79: Exit {}
80: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 81: Exit {}
82: Cmp {"CurrentEndurance", Value = 50, jump = 84} 83: GoTo {jump = 100}
84: RandomGoTo {jumpA = 85, jumpB = 88, jumpC = 91, jumpD = 94, jumpE = 96, jumpF = 98} 85: Add {"Inventory", Value = 471} -- "Harpy Feather" 86: SetMessage {Str = 188} -- "Excellent work, you win a harpy feather!" 87: Exit {}
88: Add {"Inventory", Value = 470} -- "Lodestone" 89: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 90: Exit {}
91: Add {"Inventory", Value = 470} -- "Lodestone" 92: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 93: Exit {}
94: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 95: Exit {}
96: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 97: Exit {}
98: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 99: Exit {}
100: RandomGoTo {jumpA = 101, jumpB = 104, jumpC = 107, jumpD = 109, jumpE = 111, jumpF = 113} 101: Add {"Inventory", Value = 470} -- "Lodestone" 102: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 103: Exit {}
104: Add {"Inventory", Value = 470} -- "Lodestone" 105: SetMessage {Str = 187} -- "Good job, I thought I had you there. You win a lodestone!" 106: Exit {}
107: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 108: Exit {}
109: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 110: Exit {}
111: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 112: Exit {}
113: SetMessage {Str = 186} -- "Too bad! You came pretty close. For 50 gold, I'll give you another chance." 114: Exit {} end
[Hide]
The Obelisk Chest
Quote
event 108 Hint = str[17] -- "rock" 0: Cmp {"MapVar1", Value = 1, jump = 30} 1: Cmp {"QBits", Value = 375, jump = 36} --[[ NPC 431 ]] 2: Cmp {"QBits", Value = 361, jump = 4} --[[ NPC 403 ]] 3: Exit {}
4: Cmp {"QBits", Value = 362, jump = 6} --[[ NPC 405 ]] 5: Exit {}
6: Cmp {"QBits", Value = 363, jump = 8} --[[ NPC 407 ]] 7: Exit {}
8: Cmp {"QBits", Value = 364, jump = 10} --[[ NPC 409 ]] 9: Exit {}
10: Cmp {"QBits", Value = 365, jump = 12} --[[ NPC 411 ]] 11: Exit {}
12: Cmp {"QBits", Value = 366, jump = 14} --[[ NPC 413 ]] 13: Exit {}
14: Cmp {"QBits", Value = 367, jump = 16} --[[ NPC 415 ]] 15: Exit {}
16: Cmp {"QBits", Value = 368, jump = 18} --[[ NPC 417 ]] 17: Exit {}
18: Cmp {"QBits", Value = 369, jump = 20} --[[ NPC 419 ]] 19: Exit {}
20: Cmp {"QBits", Value = 370, jump = 22} --[[ NPC 421 ]] 21: Exit {}
22: Cmp {"QBits", Value = 371, jump = 24} --[[ NPC 423 ]] 23: Exit {}
24: Cmp {"QBits", Value = 372, jump = 26} --[[ NPC 425 ]] 25: Exit {}
26: Cmp {"QBits", Value = 373, jump = 28} --[[ NPC 427 ]] 27: Exit {}
28: Cmp {"QBits", Value = 374, jump = 30} --[[ NPC 429 ]] 29: Exit {}
30: OpenChest {Id = 6} 31: Cmp {"QBits", Value = 375, jump = 35} --[[ NPC 431 ]] 32: Add {"Gold", Value = 250000} 33: Set {"MapVar1", Value = 1} 34: Set {"QBits", Value = 375} --[[ NPC 431 ]] 35: Exit {}
36: OpenChest {Id = 7} end
[Hide]
Throne Room Example
Quote
event 34 Hint = str[161] 0: MoveToMap {X = 0, Y = 0, Z = 0, Direction = 0, LookAngle = 0, SpeedZ = 0, HouseId = 161, Icon = 2, Name = "0"} -- "Castle Fleise" 1: EnterHouse {Id = 162} -- "Throne Room" end
I guess MoveToMap doesn't actually move the party anywhere most of the time, its just a way to ensure that player is at some certain location right now and not outside for example, so that monsters won't attack and such.The command is also used for map teleports: Quote
event 215 0: MoveToMap {X = -9192, Y = 21936, Z = 160, Direction = 1536, LookAngle = 0, SpeedZ = 0, HouseId = 0, Icon = 0, Name = "0"} end
[Hide]
? (Castle Ironfist)
Quote
event 220 0: Cmp {"MapVar9", Value = 1, jump = 4} 1: Set {"MapVar9", Value = 1} 2: SetFacetBitOutdoors {Model = 1, Facet = -1, Bit = const.FacetBits.Invisible, On = true} 3: Exit {}
4: Set {"MapVar9", Value = 0} 5: SetFacetBitOutdoors {Model = 1, Facet = -1, Bit = const.FacetBits.Invisible, On = false} end
event 221 0: Cmp {"MapVar14", Value = 1, jump = 4} 1: Set {"MapVar14", Value = 1} 2: SetFacetBitOutdoors {Model = 1, Facet = -1, Bit = const.FacetBits.Untouchable, On = true} 3: Exit {}
4: Set {"MapVar14", Value = 0} 5: SetFacetBitOutdoors {Model = 1, Facet = -1, Bit = const.FacetBits.Untouchable, On = false} end
[Hide]
Barrels
Quote
event 411 -- "Barrel of Red liquid" 0: StatusText {Str = 411} -- "+1 Might permanent" 1: Add {"BaseMight", Value = 1} 2: Set {"AutonotesBits", Value = 117} -- "Red liquid grants Might." 3: ChangeEvent {NewEvent = 410} -- "Empty Barrel" end
[Hide]
That is the naming scheme for the outdoor maps: [for example: out.odm]

You can download all the scripts from the game here Thanks to GrayFace!
|