Jump to content

Find Familiar 2.0


Recommended Posts

Beastmasters can cast Find Familiar? Say what?

 

If this is legit, it should probably set TUTFAM01, just to keep it from talking about the starting dungeon in the tutorial (I honestly have no idea why they bothered).

Link to comment
// all versions of ff should set variable
COPY_EXISTING ~spcl342.spl~ ~override~
 READ_LONG  0x64 "abil_off"
 READ_SHORT 0x68 "abil_num"
 READ_LONG  0x6a "fx_off"
 SET "delta" = 0
 FOR (index = 0; index < abil_num; index = index + 1) BEGIN
   READ_SHORT  ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num"
   READ_SHORT  ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx"
   SET "abil_fx_idx" = ("%abil_fx_idx%" + "%delta%")
   WRITE_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) ("%abil_fx_num%" + 1)
   WRITE_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "%abil_fx_idx%"
   INSERT_BYTES  ("%fx_off%" +        ("%abil_fx_idx%" * 0x30)) 0x30       // new effect
     WRITE_SHORT ("%fx_off%" +        ("%abil_fx_idx%" * 0x30)) 265        // set global
     WRITE_BYTE  ("%fx_off%" + 0x02 + ("%abil_fx_idx%" * 0x30)) 1          // target: self
     WRITE_LONG  ("%fx_off%" + 0x04 + ("%abil_fx_idx%" * 0x30)) 1          // value
     WRITE_BYTE  ("%fx_off%" + 0x0c + ("%abil_fx_idx%" * 0x30)) 1          // instant/perm
     WRITE_BYTE  ("%fx_off%" + 0x12 + ("%abil_fx_idx%" * 0x30)) 100        // probability
     WRITE_ASCII ("%fx_off%" + 0x14 + ("%abil_fx_idx%" * 0x30)) ~tutfam01~ // variable
   END
   SET "delta" = ("%delta%" + 1)
 END
 BUT_ONLY_IF_IT_CHANGES

Link to comment
The set \(global effect\) should be a \1.

You're never happy. :)

 

// all versions of ff should set variable
COPY_EXISTING ~spcl342.spl~ ~override~
 READ_LONG   0x64 "abil_off"
 READ_SHORT  0x68 "abil_num"
 READ_LONG   0x6a "fx_off"
 READ_SHORT  0x70 "fx_num"
 WRITE_SHORT 0x70 ("%fx_num%" + 1)
 FOR (index = 0; index < abil_num; index = index + 1) BEGIN
   READ_SHORT  ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx"
   WRITE_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) ("%abil_fx_num%" + 1)
 END
 INSERT_BYTES  ("%fx_off%"       ) 0x30       // new effect
   WRITE_SHORT ("%fx_off%"       ) 265        // set global
   WRITE_BYTE  ("%fx_off%" + 0x02) 1          // target: self
   WRITE_LONG  ("%fx_off%" + 0x04) 1          // value
   WRITE_BYTE  ("%fx_off%" + 0x0c) 1          // instant/perm
   WRITE_BYTE  ("%fx_off%" + 0x12) 100        // probability
   WRITE_ASCII ("%fx_off%" + 0x14) ~tutfam01~ // variable
 BUT_ONLY_IF_IT_CHANGES

Link to comment

Archived

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

×
×
  • Create New...