Jump to content

Zombies in the Unseeing Eye's pit have bows.


Recommended Posts

Something I remember from my last play (don't remember filenames, sorry).

 

Don't know if it is a bugfix, but half a dozen zombies with bows but no arrows and no animation to fire bows sounds a little silly to me...

Link to comment

BHGHOUL5 have bows, incorrect arrow referencs (arrw01 instead of arow01). OUt of laziness, I simply made the arrows undroppab;e/unstealable and replaced the bow reference with the zombie attack item.

 

// zombies shouldn't be using bows and arrows, especially w/o animation
COPY_EXISTING ~bhghoul5.cre~ ~override~
 READ_LONG  0x2bc "itm_off"
 READ_LONG  0x2c0 "itm_num"
 WHILE ("%itm_num%" > 0) BEGIN
   SET "itm_num" = ("%itm_num%" - 1)
   READ_ASCII ("%itm_off%" + (0x14 * "%itm_num%")) "item"
   PATCH_IF ("%item%" STRING_COMPARE_CASE "arrw01" = 0) BEGIN
     WRITE_ASCII ("%itm_off%" +        (0x14 * "%itm_num%")) ~arow01~ #8
     READ_BYTE   ("%itm_off%" + 0x10 + (0x14 * "%itm_num%")) "flags"
     WRITE_BYTE  ("%itm_off%" + 0x10 + (0x14 * "%itm_num%")) ("%flags%" BOR   0b00001010) // adds unstealable, undroppable flags
   END ELSE
   PATCH_IF ("%item%" STRING_COMPARE_CASE "bow03" = 0) BEGIN
     WRITE_ASCII ("%itm_off%" +        (0x14 * "%itm_num%")) ~b3-12~ #8 // replace bow with zombie attack item
   END
 END
 BUT_ONLY_IF_IT_CHANGES

 

Several Amnish guards use bow and arrow, but I only found a few that used the Amnish guard w/pike animation with a bow. In this case, I just changed the equipped weapon to long sword.

// amnish guards shouldn't be using bows and arrows, especially w/o animation
COPY_EXISTING ~bamng01.cre~ ~override~
             ~bamng02.cre~ ~override~
             ~circg1.cre~  ~override~
 READ_LONG  0x2b8 "slot_off"
 READ_LONG  0x2bc "itm_off"
 FOR (index = 0; index < 4; index = index + 1) BEGIN // cycles through weapon slots
   READ_SHORT ("%slot_off%" + 0x12 + ("%index%" * 0x02)) "slot_num"
   PATCH_IF ("%slot_num%" < 37) BEGIN
     READ_ASCII ("%itm_off%" + ("%slot_num%" * 0x14)) "weapon"
     PATCH_IF ("sw1h04" STRING_COMPARE_CASE "%weapon%" = 0) BEGIN // if long sword
       WRITE_SHORT ("%slot_off%" + 0x4c) "%index%" // sets weapon slot to selected weapon
       SET "index" = 4
     END
   END
 END
 BUT_ONLY_IF_IT_CHANGES

 

I consider these bugfixes; included in alpha 4.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...