Author Topic: Potion of Mirrored Eyes is bugged  (Read 3383 times)

Offline Salk

  • Planewalker
  • *****
  • Posts: 848
Potion of Mirrored Eyes is bugged
« on: November 17, 2007, 02:42:34 AM »
Hi SimDing0!

The potion (potn38.itm) of Mirrored Eyes that comes with the Quest Pack is missing the protection from petrification (effect 134) making it as effective as a glass of water...

I guess you can't tell us if an update for this Mod is on the works?

It'd be much needed...

Thanks!

Offline SimDing0

  • Back In Black
  • Global Moderator
  • Planewalker
  • *****
  • Posts: 3496
  • Gender: Male
  • Word Enhancer
Re: Potion of Mirrored Eyes is bugged
« Reply #1 on: November 17, 2007, 03:00:28 AM »
Protection from Petrification isn't the way I wanted to do it, since that protects against Flesh to Stone. It should convey protection against specific gaze spells.

I think?

Offline Salk

  • Planewalker
  • *****
  • Posts: 848
Re: Potion of Mirrored Eyes is bugged
« Reply #2 on: November 17, 2007, 03:45:39 AM »
I have had this issue on a BGT game: you might be right about not giving protection from petrification but your modified potn38.itm is also missing Protection from Projectile - Gaze (64) making the potion useless against basilisk.

Offline Ascension64

  • Planewalker
  • *****
  • Posts: 472
Re: Potion of Mirrored Eyes is bugged
« Reply #3 on: November 17, 2007, 07:00:14 AM »
Well, actually, the basilisk attack is a Petrification (opcode 134) effect.

Offline Salk

  • Planewalker
  • *****
  • Posts: 848
Re: Potion of Mirrored Eyes is bugged
« Reply #4 on: December 18, 2007, 12:15:57 AM »
Nythrun has made a quick fix for this available.

If you want to take a look at it, Sim, here it is:

Code: [Select]
BACKUP ~questpack/ImInYourFilesSim~
AUTHOR ~~
NO_IF_EVAL_BUG
BEGIN  ~Potion of Mirrored Eyes for Questpack + BGT~
COPY_EXISTING - ~potn38.itm~ ~override~
  PATCH_IF (SOURCE_SIZE > 0xa9) THEN BEGIN
    READ_LONG  0x64 "ho"
    READ_LONG  0x6a "eo"
    READ_SHORT ("ho" + 0x20) "ei"
    FOR (READ_SHORT ("ho" + 0x1e) "ec"; "ec" > 0x00; "ec" -= 0x01) BEGIN
      READ_LONG ("eo" + (("ec" + "ei" - 0x01) * 0x30) + 0x0e) "dr"
      PATCH_IF ("dr" > 0x07) THEN BEGIN
        READ_ASCII ("eo" + (("ec" + "ei" - 0x01) * 0x30)) ~ef~ (0x30)
        SET "ec" = 0x00
        INNER_PATCH_SAVE ~ef~ ~%ef%~ BEGIN
          WRITE_SHORT  0x00 0xce
          WRITE_LONG   0x04 0x3956
          WRITE_LONG   0x08 0x00
          WRITE_BYTE   0x0c 0x00
          WRITE_ASCII  0x14 ~~ #8
        END
      END
    END
  END
// BUT_ONLY
OUTER_SET "add" = 0x00
OUTER_SPRINT ~im~ ~~
ACTION_FOR_EACH ~item~ IN ~basilg1~
                          ~basill1~
                          ~basigaze~
                          ~eyegor01~
                          ~parabasi~ BEGIN
  ACTION_IF (FILE_EXISTS_IN_GAME ~%item%.itm~) THEN BEGIN
    COPY_EXISTING ~%item%.itm~ ~override~
      PATCH_IF (SOURCE_SIZE > 0xa9) THEN BEGIN
        READ_LONG    0x64 "ho"
        READ_LONG    0x6a "eo"
        READ_SHORT   ("ho" + 0x1e) "ec"
        WRITE_SHORT  ("ho" + 0x1e) 0x01
        READ_SHORT   ("ho" + 0x20) "ei"
        READ_ASCII   ("eo" + ("ei" * 0x30)) ~at~ ("ec" * 0x30)
        DELETE_BYTES ("eo" + ("ei" * 0x30)) (("ec" - 0x01) * 0x30)
        WRITE_SHORT  ("eo" + ("ei" * 0x30) + 0x00) 0x92
        WRITE_LONG   ("eo" + ("ei" * 0x30) + 0x04) 0x00
        WRITE_LONG   ("eo" + ("ei" * 0x30) + 0x08) 0x01
        WRITE_ASCIIE ("eo" + ("ei" * 0x30) + 0x14) ~%item%~ #8
        INNER_ACTION BEGIN
          OUTER_SPRINT ~im~ ~%ef%%im%~
          OUTER_PATCH_SAVE ~im~ ~%im%~ BEGIN
            WRITE_ASCIIE 0x14 ~%item%~ #8
          END
          OUTER_SET "add" = "add" + 0x01
          COPY_EXISTING ~bh3b1.spl~ ~override/%item%.spl~
            PATCH_IF (SOURCE_SIZE > 0x71) THEN BEGIN
              READ_LONG    0x64 "ho"
              READ_LONG    0x6a "eo"
              READ_SHORT   ("ho" + 0x1e) "e2"
              WRITE_SHORT  ("ho" + 0x1e) "ec"
              READ_SHORT   ("ho" + 0x20) "ei"
              DELETE_BYTES ("eo" + ("ei" * 0x30)) ("e2" * 0x30)
              INSERT_BYTES ("eo" + ("ei" * 0x30)) ("ec" * 0x30)
              WRITE_ASCIIE ("eo" + ("ei" * 0x30)) ~%at%~
            END
          // BUT_ONLY
        END
      END
    BUT_ONLY
  END
END
COPY_EXISTING ~potn38.itm~ ~override~
  PATCH_IF (SOURCE_SIZE > 0xa9) THEN BEGIN
    READ_LONG    0x64 "ho"
    READ_LONG    0x6a "eo"
    READ_SHORT   ("ho" + 0x1e) "ec"
    WRITE_SHORT  ("ho" + 0x1e) ("ec" + "add")
    READ_SHORT   ("ho" + 0x20) "ei"
    INSERT_BYTES ("eo" + (("ei" + "ec") * 0x30)) ("add" * 0x30)
    WRITE_ASCIIE ("eo" + (("ei" + "ec") * 0x30)) ~%im%~
  END
// BUT_ONLY

Offline Salk

  • Planewalker
  • *****
  • Posts: 848
Re: Potion of Mirrored Eyes is bugged
« Reply #5 on: May 05, 2008, 12:31:56 AM »
Just a small update to confirm that the above code does not fix the problem.  :-\

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: