[Scummvm-tracker] [ScummVM] #10871: After geas, Hero can walk through castle gates and enter castle as though in "break-in" scenario
ScummVM
trac at scummvm.org
Mon Jan 14 23:35:31 CET 2019
#10871: After geas, Hero can walk through castle gates and enter castle as though
in "break-in" scenario
--------------------------------+-------------------------
Reporter: tomasz89 | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: SCI
Resolution: | Keywords:
Game: Quest for Glory 4 |
--------------------------------+-------------------------
Comment (by Vhati):
There's an inconsistency between two IF blocks' conditions.
One decides whether the gate is open. (Dungeon is not mentioned)
One decides whether polygon to use the polygon with a path to the castle.
(Dungeon is mentioned)
\\
\\
script 600 - rm600::init()
{{{
# local0 decides the situation.
(= local0
(cond
# ...
# 670 Dungeon
((== g12_myPrevRoomNum 670)
11
)
(
(and
# 552 Forest 1S from the gate
# 670 Dungeon (can't happen)
(proc64999_5 g12_myPrevRoomNum 552 670)
# Geas'd.
(proc0_4 110)
# Have all the ritual scrolls or completed
the rituals.
(or (global0 has: 52) (proc0_4 323))
(or (global0 has: 53) (proc0_4 324))
(or (global0 has: 55) (proc0_4 325))
(or (global0 has: 56) (proc0_4 326))
(or (global0 has: 54) (proc0_4 327))
)
10
# This situation would set flag 101, which is
needed
# for Ad and Kat to appear at the castle
entrance.
)
# ...
)
)
# ...
(if (or (proc64999_5 g12_myPrevRoomNum 810 610 630) (== local0 10))
# 810 Combat
# 610 Castle entrance
# 630 Great hall
# The gate is open.
(aGate posn: -30 105 setPri: 163 init:)
else
# The gate is closed.
(aGate init: approachVerbs: 4)
(cond
((== local0 10) (aGate posn: -30 105)) # !? This can
never be true.
((not (proc0_4 122))
(if g121_myIsNight
(gateTeller init: aGate 600 14 125 15)
else
(gateTeller init: aGate 600 14 125 13)
)
)
)
)
(if (or (proc64999_5 g12_myPrevRoomNum 670 810 610 630) (== local0 10))
# 670 Dungeon
# 810 Combat
# 610 Castle entrance
# 630 Great hall
# Add the polygon with a path to the castle.
# ...
else
# Add the impassable gate polygon.
# ...
)
}}}
\\
\\
If hero was sent to the gate directly from the dungeon, they will be
magic'd into view, the gate will be closed and passable, and the castle
entrance will not have Ad and Kat.
\\
\\
If hero has been geas'd and has all the ritual scrolls... arriving at the
gate from a non-dungeon room leads to local0=10. The gate will be open and
passable, and the castle entrance will have Ad and Kat. This is why
leaving and returning works.
--
Ticket URL: <https://bugs.scummvm.org/ticket/10871#comment:2>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list