[Scummvm-tracker] [ScummVM] #10835: QFG4: Mage stuck unable to cast spells in endgame crystal room

Vhati trac at scummvm.org
Fri Dec 14 19:12:07 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):

 In the floppy edition, getHurt() also clobbers hero's view.
 It has an else instead of a cond for sMessages.
 \\
 \\
 Floppy, Script 730 - avis::getHurt()
 {{{
 (if (and (not local10) (not local2))
         (if (and local4 (not (global0 script?)))
                 (global0 view: 5 setLoop: 5 1)
                 (global0 setScript: sAdavisDies)
         else
                 (global2 setScript: sMessages)
         )
 )
 }}}
 \\
 \\
 Aside from innocuous hex variations, floppy's project::changeState() is
 almost identical. Only one irrelevant line differs.

 Floppy: "(g0_hero useStamina: 1)"
 CD: "(g0_hero useStamina: 2)"
 \\
 \\
 More significantly, in script 64998, the floppy edition Prop class had no
 setLoop() method.
 It doesn't do anything to the cycler.

 View::setLoop() only sets the "loop" property (and some signal stuff that
 doesn't apply here).
 Maybe without CD's incomplete meddling the cycler doesn't stall?
 \\
 \\
 In any case, getHurt() should not be allowed to replace hero's view before
 project finishes. Slowing ProjObj will be good for both editions.

--
Ticket URL: <https://bugs.scummvm.org/ticket/10835#comment:12>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list