[Scummvm-tracker] [ScummVM] #10835: QFG4: Mage stuck unable to cast spells in endgame crystal room
Vhati
trac at scummvm.org
Thu Dec 13 22:06:40 CET 2018
#10835: QFG4: Mage stuck unable to cast spells in endgame crystal room
--------------------------------+----------------------------
Reporter: Vhati | Owner: (none)
Type: defect | Status: new
Priority: high | Component: Engine: SCI
Resolution: | Keywords: SCI32 original
Game: Quest for Glory 4 |
--------------------------------+----------------------------
Comment (by Vhati):
project (ScriptID 32) is triggered in a lot of ways: every spell
projectile, and throwing dagger.
\\
\\
script 730 - rm730::doVerb()
{{{
# Does not set g441 and g442.
# ...
(86
# 26 is g273_myFlameDartSkill.
(g0_hero trySkill: 26)
(= loc1 4)
(self setScript: (ScriptID 32) self 86)
)
(88
# 28 is g275_myForceBoltSkill.
(g0_hero trySkill: 28)
(= loc1 5)
(self setScript: (ScriptID 32) self 88)
)
(79
# 34 is g281_myFrostbiteSkill.
(g0_hero trySkill: 34)
(= loc1 6)
(self setScript: (ScriptID 32) self 79)
)
# ...
(93
# 33 is g280_myLightningBallSkill.
(g0_hero trySkill: 33)
(= loc1 8)
(self setScript: (ScriptID 32) self 93)
)
}}}
\\
\\
script 730 - avis::doVerb()
{{{
# Seems to inform project.
(= g441 ((User curEvent?) x?))
(= g442 ((User curEvent?) y?))
# ...
(21
(g0_hero trySkill: 10)
(= loc1 0)
(g0_hero use: 6)
(g2_myCurrentRoom setScript: (ScriptID 32) 0 21)
)
(37
(if (== (global0 has: 5) 1)
# "You are down to your last dagger.
# You'd better hold on to it."
(g91_gloryMessager say: 6 6 40)
else
# 10 is g257_myThrowing.
(g0_hero trySkill: 10)
# 5 is theThrowdagger (available via debugger with "send
hero get 5").
(g0_hero use: 5)
(= loc1 0)
(g2_myCurrentRoom setScript: (ScriptID 32) 0 37)
)
)
(86
# 26 is g273_myFlameDartSkill.
(g0_hero trySkill: 26)
(= loc1 4)
(g2_myCurrentRoom setScript: (ScriptID 32) 0 86)
)
(88
# 28 is g275_myForceBoltSkill.
(g0_hero trySkill: 28)
(= loc1 5)
(g2_myCurrentRoom setScript: (ScriptID 32) 0 88)
)
(93
# 33 is g280_myLightningBallSkill.
(g0_hero trySkill: 33)
(= loc1 8)
(g2_myCurrentRoom setScript: (ScriptID 32) 0 93)
)
(79
# 34 is g281_myFrostbiteSkill.
(g0_hero trySkill: 34)
(= loc1 6)
(g2_myCurrentRoom setScript: (ScriptID 32) 0 79)
)
# ...
}}}
\\
\\
script 730 - crystal::doVerb()
{{{
(if loc2_avisDied
# Seems to inform project.
(= g441 ((User curEvent?) x?))
(= g442 ((User curEvent?) y?))
(switch param1
# ...
# theThrowDagger item.
(37
(if (== (g0_hero has: 5) 1)
# "You are down to your last dagger.
# You'd better hold on to it."
(g91_gloryMessager say: 6 6 40)
else
# Blank.
(g91_gloryMessager say: 1 37 0 0)
)
)
# ...
# Flame Dart
(86
(self setScript: (ScriptID 32) crystal 86)
)
# Force Bolt
(88
(self setScript: (ScriptID 32) crystal 88)
)
# Frostbite
(79
(self setScript: (ScriptID 32) crystal 79)
)
# ...
# Lightning Ball
(93
(self setScript: (ScriptID 32) crystal 93)
)
# ...
# theStaff item, given to non-mage heroes,
# available via debugger with ("send hero get 47")
(157
(g2_myCurrentRoom setScript: sDoTheEndGame)
)
# ...
)
else
# "You don't have time to deal with the crystal right now
# -- Ad Avis is trying to kill you!"
(g91_gloryMessager say: 1 157 0 0)
)
}}}
\\
\\
script 32 - project::init()
{{{
(method (init param1 param2 param3 param4)
(= loc6 (IntArray with: 20 -20 10 -10))
(= loc7 (IntArray with: 0 0 0 0))
(= loc8 (IntArray with: 10 -10 -10 10))
(= loc9 (IntArray with: -5 -5 -5 -5))
(= loc10 (IntArray with: 0 1 0 0 0 1 0 1))
(= loc11 (IntArray with: 2 3 6 7))
(= lastTicks g88)
(if (>= argc 1)
((= client param1) script: self)
(if (>= argc 2)
(= caller param2)
(if (>= argc 3)
(= register param3)
(if (>= argc 4) (= loc4 param4) else (=
loc4 0))
)
)
)
(= state (- start 1))
(self cue:)
)
}}}
--
Ticket URL: <https://bugs.scummvm.org/ticket/10835#comment:6>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list