Jump to content

Protection from Normal Missiles


devSin

Recommended Posts

So, a lot of missiles are using projectiles that are blocked by Protection from Normal Missiles.

 

AROW02 should use Arrow(2)

? Arrow of Biting: I can never decide if it's magical or not; if not, Arrow Heavy(5)

 

All throwing axes except AX1H04 should use Axe(7)

 

That stupid hammer should also use Axe(7)

 

Projectiles are ignored for melee abilities; if it's not ranged, don't bother messing with it.

 

I think daggers, darts, and bullets were all good; I don't remember if I even checked bolts, sorry.

Link to comment

Arrows of Biting are flagged as magical so I'm ging to leave them be. Sling of Everard was using the normal bullet projectile.

 

// missile weapons using wrong projectiles and being blocked by protection from normal missiles
COPY_EXISTING ~aegis.itm~    ~override~ // aegis fang
             ~arow02.itm~   ~override~ // arrows +1
             ~ax1h05.itm~   ~override~ // throwing axe +2
             ~ax1h06.itm~   ~override~ // throwing axe +2
             ~ax1h08.itm~   ~override~ // hangard's axe +2
             ~ax1h09.itm~   ~override~ // rifthome axe +3
             ~ax1h10.itm~   ~override~ // azuredge
             ~ax1h16.itm~   ~override~ // k'logarath +4
             ~hamm06.itm~   ~override~ // dwarven thrower
             ~wasling.itm~  ~override~ // sling of everard +5
 READ_LONG  0x64 "abil_off" ELSE 0
 READ_SHORT 0x68 "abil_num" ELSE 0
 FOR (index = 0; index < abil_num; index = index + 1) BEGIN
   READ_BYTE  ("%abil_off%" +        ("%index%" * 0x38)) "type"
   PATCH_IF ("%type%" = 2) BEGIN
     READ_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) "proj"
     PATCH_IF ("%proj%" = 5) BEGIN // normal arrow projectile
       WRITE_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) 2 // magic arrow
     END ELSE
     PATCH_IF ("%proj%" = 10) BEGIN // normal axe projectile
       WRITE_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) 7 // magic axe
     END ELSE
     PATCH_IF ("%proj%" = 20) BEGIN // normal axe projectile
       WRITE_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) 21 // magic bullet
     END
   END
 END
 BUT_ONLY_IF_IT_CHANGES

Link to comment
// missile weapons using wrong projectiles and being blocked by protection from normal missiles
COPY_EXISTING ...
             ~wasling.itm~  ~override~ // sling of everard +5
 READ_LONG  0x64 "abil_off" ELSE 0
 READ_SHORT 0x68 "abil_num" ELSE 0
 FOR (index = 0; index < abil_num; index = index + 1) BEGIN
   READ_BYTE  ("%abil_off%" +        ("%index%" * 0x38)) "type"
   PATCH_IF ("%type%" = 2) BEGIN
     READ_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) "proj"
     PATCH_IF ("%proj%" = 5) BEGIN // normal arrow projectile
       WRITE_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) 2 // magic arrow
     END ELSE
     PATCH_IF ("%proj%" = 10) BEGIN // normal axe projectile
       WRITE_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) 7 // magic axe
     END ELSE
     PATCH_IF ("%proj%" = 20) BEGIN // normal axe projectile
       WRITE_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) 21 // magic bullet
     END
   END
 END
 BUT_ONLY_IF_IT_CHANGES

The magic bullet should be 17... no practical effect, but 21 would be the theoretical lightning bullet PRO.
	  PATCH_IF ("%proj%" = 20) BEGIN // normal axe projectile
	WRITE_SHORT ("%abil_off%" + 0x2a + ("%index%" * 0x38)) 17 // magic bullet
  END

Link to comment

Archived

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

×
×
  • Create New...