Overview
BSM fully integrates with Game Creator 2's Visual Scripting system. All functionality is available through Instructions, Conditions, and Events - no coding required.
18
Instructions
15
Conditions
9
Events
All BSM Visual Scripting components are found under the category:
Buff Status Effect ManagerInstructions
Instructions are actions that modify game state. Use them in Triggers, Actions, and Sequences.
| Instruction | Description | Category |
|---|---|---|
| Apply Status Effect | Applies a status effect to the target | Core |
| Remove Status Effect | Removes a specific effect from the target | Core |
| Remove All Effects | Removes all active effects from the target | Core |
| Dispel Category | Removes all effects of a specific category | Dispel |
| Dispel Category Type | Removes all Buffs, Debuffs, or CC effects | Dispel |
| Dispel by Tag | Removes all effects with a specific tag | Dispel |
| Dispel by Cleanse Type | Removes effects matching the cleanse type (Magic, Physical, etc.) | Dispel |
| Add Stacks | Adds stacks to an existing effect | Stacking |
| Remove Stacks | Removes stacks from an effect (may dispel if 0) | Stacking |
| Add Immunity (Effect) | Grants temporary immunity to a specific effect | Immunity |
| Add Immunity (Category) | Grants temporary immunity to a category | Immunity |
| Add Immunity (Tag) | Grants temporary immunity to effects with a tag | Immunity |
| Clear Immunities | Removes all temporary immunities | Immunity |
| Clear Cooldown | Clears cooldown for a specific effect | Cooldown |
| Clear All Cooldowns | Clears all effect cooldowns | Cooldown |
| Toggle Aura | Activates, deactivates, or toggles an aura | Aura |
| Set Aura Radius | Changes the aura radius at runtime | Aura |
| Set Aura Effect | Changes which effect the aura applies | Aura |
Conditions
Conditions check game state and return true/false. Use them in Branches and conditional logic.
| Condition | Description |
|---|---|
| Has Effect | Returns true if target has a specific effect active |
| Has Any Effect | Returns true if target has any active effects |
| Has Effect Category | Returns true if target has any effect of a category |
| Has Effect Category Type | Returns true if target has any Buff/Debuff/CC |
| Has Effect Tag | Returns true if target has any effect with a tag |
| Is Immune to Effect | Returns true if target is immune to an effect |
| Is Immune to Category | Returns true if target is immune to a category |
| Effect Stack Count | Compares the stack count of an effect |
| Active Effect Count | Compares total number of active effects |
| Effect Remaining Duration | Compares remaining time of an effect |
| Can Apply Effect | Returns true if effect could be applied (not blocked) |
| Is On Cooldown | Returns true if an effect is on cooldown |
| Cooldown Remaining | Compares remaining cooldown time |
| Aura Is Active | Returns true if an aura is currently active |
| Aura Target Count | Compares number of targets affected by an aura |
Events
Events trigger when something happens. Add them to Trigger components to react to effect changes.
| Event | Description |
|---|---|
| On Any Effect Applied | Fires when any effect is applied to the target |
| On Any Effect Expired | Fires when any effect expires naturally |
| On Any Effect Dispelled | Fires when any effect is manually removed |
| On Any Effect Ticked | Fires on each tick of any effect |
| On Any Effect Stacked | Fires when any effect gains or loses stacks |
| On Specific Effect Applied | Fires when a specific effect is applied |
| On Specific Effect Expired | Fires when a specific effect expires |
| On Effect Blocked | Fires when an effect application is blocked (immunity) |
| On Category Type Applied | Fires when any Buff/Debuff/CC is applied |
Common Patterns
Poison Damage on Tick
Deal damage to the player every time a poison effect ticks.
- Add Trigger to Player with Event: On Specific Effect Applied
- Set Effect to your Poison definition
- Add another Trigger with Event: On Any Effect Ticked
- Add Condition: Has Effect (check for Poison)
- Add Action: Change Attribute (reduce Health)
Stun with Immunity After
After being stunned, grant brief immunity to prevent chain-stunning.
- Add Trigger with Event: On Specific Effect Expired
- Set Effect to your Stun definition
- Add Action: Add Immunity (Effect)
- Set Effect to Stun, Duration to 3 seconds
Healing Aura Zone
Create a zone that heals allies who stand in it.
- Create a HealOverTime effect (category: Buff, HasTick: true)
- Create empty GameObject with StatusEffectAura component
- Assign HealOverTime effect, set Radius to 5
- Set Target Mode to AlliesOnly
- Enable Remove On Exit
Boss Immune to CC
Make boss enemies immune to all crowd control effects.
- Create an ImmunityProfile asset
- Add your CrowdControl category to Immune Categories
- Assign this profile to the Boss's StatusEffectManager
- (Optional) Add Trigger with Event: On Effect Blocked to show "Immune!" text