ISXBJ Using BJ Movement Walkthrough

Article Index

Immunity Chain

Completely re-written in Patch # 110, Immunity Chain is a way for your group/raid bots to communicate with each other to keep a character immune/alive to different damage types.  There are 8 required parameters that must be declared and 1 optional parameter before Immunity Chain will function.

  • Parameter order is as follows:
    • Parameter 1 = SaveWho (Option: PlayerName)
    • Parameter 2 = ForWho (Options: Off | Me | Group | Raid | IRCG (IRC Group Only) | IRCR (IRC Raid))
    • Parameter 3 = DamageType (Options: Physical | Magical)
    • Parameter 4 = UseHealSpells (Opions: TRUE | FALSE)
    • Parameter 5 = UseStoneskinSpells (Options: TRUE | FALSE)
    • Parameter 6 = UseDeathInterventionSpells (Options: TRUE | FALSE)
    • Parameter 7 = UseMeleeAvoidSpells (Options: TRUE | FALSE)
    • Parameter 8 = UseAoEAvoidSpells (Options: TRUE | FALSE)
    • Parameter 9 = Loop (Options: TRUE | FALSE, Default = TRUE)
  • The spell priority information is located in a reference file called: Immunity_Chain_Spells.xml
    • This file is located in your .../EQ2BJCommon/BJMovement/Saves/Immunity Chain Spells/ folder.


With the parameters from the picture above, Immunity Chain would activate on the person who pushed the Ogre MCP button and ask everyone who was in IRC and in their raid to check their available spells.  The specific spells the person using the button is looking for are stoneskin abilities that will absorb damage from physical attacks.

Long Winded Explanation of What Is Happening Behind the Scenes (Can skip if you only care that it works!)

The reference file stores the spells that I feel will keep a player alive under different circumstances.  They are specifically ordered from fastest recast to slowest recast.  The overall idea behind Immunities is to keep the character immune to damage for as long as possible.  This means that faster recasting spells should be cast first, even if they aren't the best spell for the job.  I purposefully did not include spells that would not provide 100% immunity to damage.  IE. 30% damage reduction spells

When the Immunity Routine is activated, the character that is assigned by the SaveWho parameter will send out a request for available spells that match the parameter criteria to all connected sessions.  Only those sessions that match the ForWho parameter will begin to evaluate their choices based on the reference file list and associated subclass.  If a spell meets all of the criteria it will be selected by that character as their available spell and the spell name, spell duration and spell recast values will be sent back to the character that is requesting saving. This whole process should take approximately half a second or less.

After 1 second the person who activated the Immunity Routine will evaluate the returned responses.  They are looking for the fastest recast minus duration ability that was reported back.  When they have evaluated all responses, they will make their decision and tell the person who reported their selected spell to queue the spell into OgreBot's internal cast order.  This spell will then be cast by OgreBot as the next spell.