User Tools

Site Tools



sallyreactions

SallyReactions

IMPORTANT: SallyReactions requires ACT or INNACT for timeline functionality and most event triggers. Only onUpdate events will work without these addons installed.

SallyReactions is a powerful and versatile reactions system that combines both timeline-based automation for high-end raids and traditional event-based reactions for general gameplay. The system is designed to be user-friendly while offering deep customization options for advanced users.

Key Features

  • Profile System: Create, import, and export reaction profiles for easy sharing and backup
  • Timeline Integration: Execute precise reactions based on fight timelines
  • Event System: Create reactions triggered by various in-game events with integration with ACT/INNACT
  • Visual Editor: Comprehensive GUI for creating and managing reactions without coding
  • Skillbar System: Group and manage reactions with a customizable skillbar interface
  • Smart Queue System: Intelligent action queuing with priority handling
  • Condition Builder: Create reusable conditions for precise trigger control
  • Logic Block System: Combine conditions and actions with flexible logic options

The addon offers both simplicity for basic usage and depth for advanced customization. While this documentation covers the main features, users are encouraged to experiment with the various options available in the GUI.

Author System

The author system in SallyReactions makes sharing and managing reactions easier. Each reaction, condition, and logic block is tagged with its creator's name (in the format Name#1234).

Features

  • Easy identification of who created each component
  • Safe sharing of reactions between users
  • Ability to fork (create your own copy) of other users' reactions
  • Protection against accidental modification of others' work
  • Clear organization of reactions by creator

When you first use SallyReactions, you'll be prompted to set your creator name. This name will be attached to any components you create. You can only edit or delete components that you created, but you can fork (create a copy) of anyone else's components to modify them.

General Settings

Required Setup

IMPORTANT: Before using SallyReactions, you must configure the path to your ACT or INNACT log folder. Without this configuration, timeline features and most event triggers will not function.

  1. Go to general settings
  2. If log folders are in the default location, you can hit the button for ACT or INNACT to auto setup
  3. Otherwise, please specify the log path and make sure it ends with a \

Overview and Workflow of Reactions

Creating Conditions

Conditions are the building blocks of the reaction system. They define when and how your reactions should trigger.

Basic Steps

  1. Enter a condition name in the input field
  2. Click “Create New Condition” to start building your condition
  3. Select a target to check against
  4. Choose the specific condition type
  5. Configure the condition settings
  6. Add the configured condition to the sub-condition list
  7. Repeat if you need multiple conditions

Understanding Fields

Target Selection

The target determines what entity the condition will check:

  • Self - Check your own character
  • Target - Check your current target
  • Main Aggro - Check the enemy with highest aggro
  • Tank Partner - Check your co-tank
  • Party Members - Check specific party members
  • Groups - Check groups like “All Tanks” or “All Healers”

Condition Types

Different targets have different available conditions:

HP/MP Conditions:

  • HP % - Check target's health percentage
  • MP % - Check target's mana percentage

Status Conditions:

  • Buff - Check for presence/absence of buffs

Combat Conditions:

  • Distance - Check distance from player
  • In Combat - Check combat status
  • Movement - Check if target is moving
  • Aggro - Check aggro position or count
  • Last Ability - Check the last ability used
  • Channeling ID - Check if channeling a specific ability

Sub-Condition List

  • All conditions in the list must be true for the overall condition to pass
  • You must have at least one sub-condition
  • Sub-conditions can be edited or removed after creation
  • Use multiple sub-conditions for complex checks

Tips

  • Give conditions clear, descriptive names
  • Use the description field to document complex conditions
  • Start with simple conditions before creating complex ones
  • Test conditions thoroughly before using them in reactions
  • Use the preview tooltip to verify condition settings

Logic Blocks

Logic blocks are reusable components that combine conditions with actions. They determine what actions should be performed when specific conditions are met.

Creating Logic Blocks

  1. Enter a logic name in the input field
  2. Select the logic type (ALL, ANY, or NONE)
  3. Add conditions from your condition list
  4. Add actions that should execute when conditions are met
  5. Save the logic block for use in reactions

Logic Types

ALL Conditions

  • Every condition in the list must be true
  • Actions execute only when all conditions pass
  • Best for precise, specific triggers
  • Example: “Cast heal when target is below 50% HP AND has a specific debuff”

ANY Condition

  • At least one condition must be true
  • Actions execute if any condition passes
  • Useful for flexible triggers
  • Example: “Cast shield when target is either taking damage OR about to take a tank buster”

NONE of Conditions

  • No conditions in the list should be true
  • Actions execute when all conditions are false
  • Useful for preventive actions
  • Example: “Keep buff active when target has NONE of these debuffs”

Action Types

Logic blocks can include three types of actions:

Regular Actions

Combat abilities and spells:

  • Select the ability from your skill list
  • Choose targeting options:
    • My Party (specific party members)
    • Target(s) from Condition (uses targets that triggered the condition)
    • Misc (special targeting like mouse position)
  • Optional settings:
    • Ignore oGCD Weave Check
    • Skip if on Cooldown

Skillbar Actions

  • Enable or disable other reaction groups
  • Control reaction priorities
  • Manage reaction flow
  • Example: “Disable AoE reactions when single-target phase starts”

Misc Actions

  • Send text to chat
  • Other utility functions
  • System commands

Event Reactions

Event reactions define when your logic blocks should trigger based on in-game events. Each event reaction links a specific event type with a logic block and includes timing controls for precise execution management.

Event Types

Combat Events

  • onAbility - Triggers when a specified ability is used
  • onStartCasting - Triggers when a cast begins
  • onStartCastingAOE - Specifically triggers for AOE cast starts
  • onStartCastingTankBuster - Specifically triggers for Tank Buster cast starts
  • onAOEHit - Triggers when an AOE ability hits
  • onDoTTick - Triggers when damage over time effects tick

Status Events

  • onBuff - Triggers when specified buffs are applied/removed
  • onHeadMarker - Triggers when specific head markers appear
  • onSpreadMarker - Triggers for spread markers
  • onTankBusterMarker - Triggers for tank buster markers
  • onTether - Triggers when tether effects are applied

Combat State Events

  • onUpdate - Continuous check during combat
  • onDeath - Triggers when specified entities die
  • onWipe - Triggers on party wipe
  • onZoneMapChange - Triggers when changing zones

Combat Setup Events

  • onCountdownStart - Triggers when pull countdown begins
  • onCountdownCancel - Triggers when countdown is canceled

Timing Controls

Same Event Delay

  • Controls how long before this specific reaction can trigger again
  • Prevents reaction spam from the same event type
  • Example: 5 second delay prevents healing reaction from triggering more than once every 5 seconds
  • Useful for managing resource-intensive reactions

All Events Delay

  • Sets a global cooldown for ALL reactions after this one triggers
  • Prevents any reactions from triggering for specified duration
  • Example: 2 second delay ensures no other reactions occur for 2 seconds after a major defensive cooldown
  • Important for preventing reaction overlap

Timeout Duration

  • Maximum time allowed for actions to complete
  • Actions are removed from queue if not completed within timeout
  • Prevents stale actions from executing too late
  • Example: 3 second timeout ensures healing reaction doesn't occur if it takes too long to process

Timeline System

The Timeline system in SallyReactions allows for precise, time-based execution of reactions in raids and trials. This system reads standard ACT timeline files and lets you attach logic blocks and action sequences at specific timestamps.

Timeline Interface

Profile Management

  • Create multiple timeline profiles for different strategies
  • Import/Export profiles via clipboard
  • Copy profiles for easy sharing
  • Profiles save all logic and sequence assignments

Timeline View

Visual representation of fight timeline:

  • Events shown with timestamps
  • Color coding for different event types:
    • Blue: Standard events
    • Orange: AoE indicators
    • Light Blue: Labels
    • Green: Jump points
    • Red: Force jumps
  • Adjustable zoom level for precise placement
  • Event clustering for cleaner visualization

Adding Reactions

Logic Blocks

  • Drag and drop logic blocks onto timeline
  • Set timeout duration for execution
  • Logic blocks execute when timeline reaches their timestamp
  • Can be edited or repositioned after placement

Action Sequences

  • Create custom sequences of actions
  • Add abilities with specific targeting
  • Include skillbar controls
  • Set sequence timeouts
  • Visual preview of sequence flow

sallyreactions.txt · Last modified: 2024/11/01 15:56 by xsalice