Orblike Orb System Design
Summary
A comprehensive session designing the ORBS (Orthogonal Rule Binding System) ability system for Orblike, working from a massive reference corpus of ~360 abilities across 5 games to extract orthogonal building blocks, then designing a composition model based on orbiting orbs connected by trigger-event links.
Project Acquaintance and Initial Direction:
- Read ORBS.md, FRAMEWORK_API_QUICK.md, and main.lua to understand the current Orblike codebase (~915 lines with 5 attack types, player, seeker enemy, SNKRX-style visuals)
- User started by discussing what ORBS should capture for the projectile ability, then redirected: "Let's try a different approach" — create an EBB-style ATTACK DESIGN REFERENCE document with orthogonal tables
- Before building tables, user wanted to build a reference corpus of abilities first: "can we figure out if you can generate a text version of ALL abilities in a single game?"
Building the Ability Reference Corpus (orbs/ability_reference.md):
- Path of Exile: 30 active skills + 30 support gems. Sample of 10 shown first, user approved the format (name, tags, mechanical description focusing on logic, no numbers)
- League of Legends: 60 champion abilities. Discussion about whether item effects serve the same purpose as PoE support gems — broke them into 6 categories (ability modifiers, triggered effects, active abilities from items, ability replacements, stat modifiers, meta-modifiers), then narrowed focus to abilities and ability modifiers only
- Dota 2: 60 complex abilities + 20 simpler "bread and butter" ones (beams, projectiles, simple AoEs). User: "Do some simpler abilities in DoTA as well?"
- Isaac: 80 items covering tear replacements, path modifiers, on-hit modifiers, familiars, orbitals, death prevention, etc.
- Risk of Rain 2: 80 abilities/items covering survivor abilities, on-hit/on-kill items, equipment, lunar/void items
- Discussed adding Noita and SNKRX. User agreed SNKRX is covered by other games. Decided against Noita: "Noita's system is constrained in an important way I don't like which is that position matters in unintuitive ways"
Designing the Ability Design Reference (orbs/ability_design_reference.md):
- Extracted 6 building block tables from the corpus: Trigger (12 types), Targeting (9 types), Delivery (28 types), Behavior (13 types), Hit Behavior (12 types), Effect (25 types)
- Discussion about multi-phase abilities: user asked for 10 examples. Result: use compound types for common patterns (channel-then-release, hold-to-charge, mark-then-recast) and staged decomposition for complex multi-phase abilities
- User wanted separate modifier tables, framed as an "exhaustive instruction manual for the creation of further modifiers" — exhaustive meaning every row must have concrete examples from the reference games, not speculative
- Three kinds of modification identified: swap within a column, add a new triggered ability, change the fundamental frame
Carrier Analysis — Fundamental Objects of Abilities:
- User asked about compositionality: "how can we tell that the abilities we're generating are prone to interesting changes?" Led to key insight: compositionality ≈ modifier surface area. Projectile (T1, A1, D1, B1, H1, E1) is the "default template" with ~46 applicable modifiers
- Identified "1-2 deviation sweet spot" — abilities should deviate from template on 1-2 axes (their identity) and stay standard on the rest (modifier attachment points)
- User asked about areas vs projectiles — honestly acknowledged areas are ~70-80% as versatile, with different compositional character (temporal behavior and spatial manipulation vs trajectory and count)
- User asked to enumerate all "fundamental objects of an ability" and name them. Named them carriers. Identified 17: Projectile, Beam, Area, Zone, Aura, Orbit, Trail, Melee, Targeted, Chain, Summon, Deployable, Tether, Attached (Brand), Movement, Terrain, Trap
- Full compositionality analysis per carrier with modifier surface area counts and compositional character descriptions
- "Delivery" table replaced by Carriers as a first-class concept. All ID abbreviations (T1, A1, D1, MD1, etc.) removed per user request
Modifier Brainstorm (120 modifiers):
- Generated 120 new modifier ideas across all carriers, presented as numbered flat list
- User selected ~100 of them, with corrections: rename Volley→Burst (#5), fix Shotgun description (#6), generalize Phasing to include terrain/walls/screen-wrap (#8), make multi-count modifiers (LMP/GMP/Volley) general across carriers (#13), note that beam pathing modifiers DO work per Isaac Brimstone (#beam), generalize pulsing/expanding-on-kill as area modifiers not aura-specific (#38, #39)
- User noted additional tether modifiers: pull tethered enemies, detonate tethered, share damage/debuffs between tethered
Meta-Modifier Discovery — Trigger Bridges:
- User's key observation about "Detonate" appearing across many modifiers: "there are a few hooks for modifier → modifier types" and gave PoE-link-style examples: "Summon Skeleton → Cast on Death → Detonate"
- User's "Cast on Movement" level-scaling idea: low threshold = many weak triggers, high threshold = one big trigger after long distance
- Identified 7 trigger bridge types: Cast on Hit, Cast on Expire, Cast on Death, Detonate (manual), Cast on Movement, Cast on Transition, Cast on Kill
- Key realization: many specific modifiers decompose into bridge compositions. "Add explosion" = Cast on Hit → Area. "Sacrificial Summon" = Summon → Cast on Death → Explode
- Parametric mods (pathing, count, size, phasing) and pure hit behavior mods (pierce, absorb, bounce) DON'T decompose — they modify continuous properties, not events
System Design Document (orbs/system_design.md):
- Designed the orb-based composition model: each orbiting orb IS an ability with properties from the building block tables. Orbs connect via links (bridge type + optional modifiers)
- Links are directed connections carrying a bridge type (Cast on Hit, Cast on Expire, etc.) that let one orb's carrier events trigger another orb
- User feedback and corrections on system_design.md:
- Bridge types should only be carrier events, NOT player/world events (those belong in the Trigger table). Cast on Movement moved to trigger table
- Added Cast on Crit, Cast on Pierce, Cast on Chain, Cast on Bounce as bridge types
- "Link modifiers" eliminated as a concept — unified rule: any modifier can be placed on an orb (always applies) or on a link (scoped to that link's activations only)
- Example builds must show fully-specified orbs with their own triggers and behaviors
- User was "much happier" with the revised design: "I'm sure there are details to iron out but we'll do so as we move forward with the actual implementation"
Files Created/Modified:
Orblike/orbs/ability_reference.md— ~1400 lines, 360 ability descriptions across 5 gamesOrblike/orbs/ability_design_reference.md— Carriers table, 5 building block tables (Trigger, Targeting, Behavior, Hit Behavior, Effect), modifier reference with 100+ modifiers, meta-modifier/trigger bridge documentation, classification examplesOrblike/orbs/system_design.md— Orb composition model with links, bridge types, unified modifier placement, example builds, open questions
We have the basics needed to start work on the abilities for Orblike. Get acquainted with the project first.
Opus 4.6
[Think]
The user wants to start working on abilities for Orblike. Per the CLAUDE.md instructions, when the user mentions this session is for Orblike, I should immediately read these files:
1. `Orblike/ORBS.md` — system goals, architecture, open questions, development process
2. `Anchor/docs/FRAMEWORK_API_QUICK.md` — compact function signatures
3. `Orblike/main.lua` — the current game code
Let me read all three in parallel.
Reading the Orblike project files now.
Read (E:\a327ex\Orblike\ORBS.md)
1→# ORBS — Orthogonal Rule Binding System
2→
3→## What ORBS Is
4→
5→ORBS is a general ability system designed to describe, generate, and implement abilities across all build-heavy games — League of Legends, DoTA, Path of Exile, The Binding of Isaac, Risk of Rain 2, SNKRX, and any game with abilities, heroes, items, synergies, etc.
6→
7→The name captures the core design philosophy: abilities are **orthogonal** — they compose independently without needing to know about each other. A freeze effect, a damage-on-hit proc, and a projectile-splitting modifier should all work together without any of them being written with the others in mind.
8→
9→## Goals
10→
11→1. **Universal coverage.** ORBS should be able to describe every possible ability in any game. Not "most abilities" — every one.
12→
13→2. **LLM-optimized.** The system has two layers: a description layer (interpreted by an LLM) and an implementation layer (actual code). The description format should be learnable enough that an LLM reading the ORBS documentation can convert a designer's intent into correct, working ability code without supervision.
14→
15→3. **Purely functional.** "Functional" not in the programming sense, but meaning ORBS concerns itself only with the logical/mechanical work needed to make abilities function. No visuals, no effects, no sounds. These are handled through hooks/events that the gameplay coder attaches to externally.
16→
17→4. **Incremental discovery.** We build bottom-up: implement real abilities, notice patterns, extract primitives, document everything. Every addition to the system is documented thoroughly so that past pieces are understood and reused. New abstractions are added only when existing ones don't cover a use case.
18→
19→## Architecture
20→
21→### Two Layers
22→
23→**Description layer** — How the designer/LLM thinks about an ability. The format for this layer will be discovered as we implement abilities. It should map cleanly to the implementation layer.
24→
25→**Implementation layer** — Actual Lua code using ORBS primitives. This runs on the Anchor engine.
26→
27→### What ORBS Handles
28→
29→- **Ability logic** — triggers, timing, targeting, conditions, sequencing
30→- **Execution** — cooldowns, charges, channels, state machines
... [60 more lines]
Read (E:\a327ex\Anchor\docs\FRAMEWORK_API_QUICK.md)
1→# Framework API Quick Reference
2→
3→Function signatures for Lua framework classes. See `FRAMEWORK_API.md` for detailed documentation with examples.
4→
5→## Initialization
6→
7→```
8→require('anchor') {
9→ width = 640, -- game resolution width (default: 480)
10→ height = 360, -- game resolution height (default: 270)
11→ title = "My Game", -- window title (default: "Anchor")
12→ scale = 2, -- initial window scale (default: 3)
13→ vsync = true, -- vertical sync (default: true)
14→ fullscreen = false, -- start fullscreen (default: false)
15→ resizable = true, -- window resizable (default: true)
16→ filter = "rough", -- "rough" or "smooth" (default: "rough")
17→}
18→```
19→
20→## Root Object (an)
21→
22→### Engine State (Static)
23→```
24→an.width -> int -- game resolution width
25→an.height -> int -- game resolution height
26→an.dt -> number -- fixed delta time (1/120)
27→an.platform -> string -- "web" or "windows"
28→```
29→
30→### Engine State (Dynamic - updated every frame)
... [610 more lines]
Read (E:\a327ex\Orblike\main.lua)
1→require('anchor')({ width = 480, height = 270, scale = 3 })
2→
3→gw, gh = an.width, an.height
4→
5→-- SNKRX palette
6→bg_color = color(48, 48, 48)
7→bg_off = color(46, 46, 46)
8→fg_color = color(218, 218, 218)
9→fg_alt = color(176, 168, 159)
10→yellow = color(250, 207, 0)
11→orange = color(240, 112, 33)
12→blue = color(1, 155, 214)
13→green = color(139, 191, 64)
14→red = color(233, 29, 57)
15→purple = color(142, 85, 158)
16→blue2 = color(71, 120, 186)
17→yellow2 = color(245, 159, 16)
18→
19→palette = {fg_color, fg_alt, yellow, orange, blue, green, red, purple, blue2, yellow2}
20→
21→-- Physics
22→an:physics_init()
23→an:physics_set_gravity(0, 0)
24→an:physics_tag('player')
25→an:physics_tag('enemy')
26→an:physics_tag('projectile')
27→an:physics_collision('player', 'enemy')
28→an:physics_sensor('projectile', 'enemy')
29→
30→-- Input
... [885 more lines]
All read. Here's what I see in the current state of Orblike:
Current codebase (~915 lines): A working prototype with a player, a seeker enemy, and five attack types — all with polished SNKRX-style visual feedback (springs, flash, hit_circles, hit_particles, hit_effects). The attacks are:
- Projectile (key 1) — directional bullet, hits one enemy on contact
- Single target (key 2) — crosshair at mouse, hits closest enemy within radius
- Area rect (key 3) — rectangular AoE at mouse with bracket corners
- Area circle (key 4) — circular AoE at mouse with rotating arc segments
- Line attack (key 5) — instant piercing ray, hits all enemies along the line
What exists: All five attack archetypes are implemented as standalone objects with hardcoded values. Each has its own cooldown on the player, its own visual style, and its own hit detection. There's one enemy type (seeker) with HP, knockback, and death effects.
What doesn't exist yet: No orbs/ directory, no ORBS primitives, no ability descriptions. The attacks are baked directly into main.lua as individual classes. There's no stat system, no buff/debuff system, no composition model.
The ORBS design doc envisions a bottom-up process: implement real abilities, notice patterns, extract primitives. The current attacks are essentially the first batch of "real abilities" — they already demonstrate several patterns worth extracting (cooldown management, hit detection, visual feedback hooks, expand-flash-blink-die lifecycle).
What ability do you want to start with? Some options:
- Extract patterns from existing attacks — pull out the shared cooldown, flash/blink lifecycle, and hit-feedback patterns into reusable ORBS primitives, using what's already here as the reference
- Implement a new ability — pick something that exercises a mechanic the current five don't cover (DoT, channeling, chaining between targets, summons, buffs/debuffs, etc.)
- Something else entirely — different starting point you have in mind
Each game that implements the ORBS system will essentially be tasked with implements the events it generates per ability. Let's imagine the 4 abilities we have now. Actually, only the first:
- Projectile. On click, it generates a projectile towards the direction of the mouse. The ability should capture, "click", "spawn projectile", "mouse direction/angle", right?
[Think]
The user is thinking through what ORBS should capture for the projectile ability. They're asking me to think about the description layer — what primitives/concepts does ORBS need to represent for a basic projectile ability.
Let me think about this carefully.
The projectile ability as it exists:
1. Trigger: mouse click (key press '1')
2. Cooldown: 0.5s
3. Action: spawn a projectile at player position + offset in facing direction
4. Projectile behavior: travels in a straight line at fixed speed, hits first enemy it contacts, dies on screen edge
5. Damage: 1 on hit
What the user is getting at: ORBS should capture the *logical* description — the "what happens" — and the game implements the actual spawning, visuals, physics. So for this ability, ORBS would describe something like:
- Trigger: on_click (or on_activate)
- Action: spawn_projectile
- Direction: toward_mouse (or mouse_angle)
- Speed, damage, etc. would be parameters
Now I'm thinking about what's truly essential for the description layer versus what's implementation detail. The core elements ORBS needs to capture are the trigger condition, the cooldown constraint, what entity gets created, and the direction it travels — everything else like speed and damage are just parameters that configure the behavior.
But I'm realizing the user is really asking about the right level of abstraction here. They're focusing on trigger, action, and targeting as the key decomposition, which makes sense as a starting point. The question is whether that's granular enough or if we need to also explicitly describe what happens on collision and when the projectile dies, or if those are just properties of the projectile entity itself.
Looking at what ORBS actually claims to handle — ability logic, triggers, timing, targeting, effects like damage — I think the design question is whether the ability description includes the projectile's full behavior spec or just the spawn instruction. That's the tension worth exploring.
Right, and I think the interesting question is where the boundary falls. Let me think through what's actually in the projectile ability:
What the ability "decides":
- Trigger: on click
- Cooldown: 0.5s
- Action: spawn a projectile
- Direction: toward mouse
- Spawn offset: 8px in front of player
What the projectile "decides":
- Speed: 190
- Size: 10x4
- Dies on screen edge
- Dies on first enemy contact
- Deals 1 damage on hit
What the game decides (visual/feel):
- Screen shake on fire
- Spring pull on player
- Flash white for 0.15s
- Hit circle + hit particles at spawn point
- Hit effect + particles on enemy contact
- Rounded rectangle rendering
So "click, spawn projectile, mouse direction" captures the trigger and targeting, but there's also the projectile's own behavior — speed, what it collides with, what happens on hit, when it dies. That's a second layer of description nested inside the first.
The question this raises: does ORBS treat "projectile" as a primitive with parameters (speed, pierce count, lifetime, hit behavior), or does ORBS just say "spawn an entity" and the projectile's behavior is described as its own separate set of rules?
The first approach is more like a data-driven ability system (LoL/Dota style — "spawn projectile, speed 190, hits first enemy, deals 1 damage"). The second is more compositional — the projectile itself could have abilities/rules attached to it.
What's your instinct? Is a projectile a built-in ORBS spatial primitive, or is it an entity that happens to have "move forward" + "die on hit" + "deal damage on hit" rules composed onto it?
Hmmm, let's try a different approach. Let's try creating something similar to the ATTACK DESIGN REFERENCE document in EBB, where we divide the design by sections that can have multiple types to them. Can you see that document?
[Think]
The user is asking me to find and read the ATTACK DESIGN REFERENCE document from the emoji-ball-battles project.
Grep (ATTACK DESIGN REFERENCE)
No files found
Glob (emoji-ball-battles//attack)
E:\a327ex\emoji-ball-battles\reference\emojunky-one\res\attack1.ogg
E:\a327ex\emoji-ball-battles\reference\super-emoji-box\attacks.lua
E:\a327ex\emoji-ball-battles\reference\super-emoji-invaders\src\assets\sounds\cloud_attack.ogg
E:\a327ex\emoji-ball-battles\reference\super-emoji-pairs\src\assets\sounds\cloud_attack.ogg
E:\a327ex\emoji-ball-battles\reference\super emoji box\assets\cloud_attack.ogg
E:\a327ex\emoji-ball-battles\reference\attack-design-space.md
Glob (emoji-ball-battles//ATTACK)
E:\a327ex\emoji-ball-battles\docs\ATTACK_REFERENCE.md
Glob (emoji-ball-battles/docs/*)
E:\a327ex\emoji-ball-battles\docs\PHASE2_WEAPONS.md
E:\a327ex\emoji-ball-battles\docs\WEAPON_DESIGN.md
E:\a327ex\emoji-ball-battles\docs\FRAMEWORK_API.md
E:\a327ex\emoji-ball-battles\docs\FRAMEWORK_API_QUICK.md
E:\a327ex\emoji-ball-battles\docs\ENGINE_API.md
E:\a327ex\emoji-ball-battles\docs\ENGINE_API_QUICK.md
E:\a327ex\emoji-ball-battles\docs\ATTACK_REFERENCE.md
Glob (emoji-ball-battles/reference/*)
E:\a327ex\emoji-ball-battles\reference\.gitkeep
E:\a327ex\emoji-ball-battles\reference\earclacks-attribute-analysis.md
E:\a327ex\emoji-ball-battles\reference\basic-emoji-anchor-game.md
E:\a327ex\emoji-ball-battles\reference\effects_api_gaps.md
E:\a327ex\emoji-ball-battles\reference\emoji_effects_documentation.md
E:\a327ex\emoji-ball-battles\reference\sound_mapping.md
E:\a327ex\emoji-ball-battles\reference\status-effects-research.md
E:\a327ex\emoji-ball-battles\reference\bow-reference.md
E:\a327ex\emoji-ball-battles\reference\headless-playthrough-plan.md
E:\a327ex\emoji-ball-battles\reference\attack-design-space.md
E:\a327ex\emoji-ball-battles\reference\headless-usage.md
Found it — ATTACK_REFERENCE.md and also attack-design-space.md. Let me read both.
Read (E:\a327ex\emoji-ball-battles\docs\ATTACK_REFERENCE.md)
1→# Attack Design Reference
2→
3→Quick-reference for designing weapons. Pick one from each column, check the scaling is visual.
4→
5→Detailed exploration and rationale: `reference/attack-design-space.md`
6→
7→---
8→
9→## Building Blocks
10→
11→### Shapes — What the attack looks like in the arena
12→
13→| ID | Shape | Description | Example |
14→|----|-------|-------------|---------|
15→| S1 | Point/Contact | Weapon tip hitbox | Dagger |
16→| S2 | Forward Line | Line extending from weapon tip | Sword thrust, beam |
17→| S3 | Forward Cone | Fan/wedge from weapon tip | Flashlight, shotgun |
18→| S4 | Arc/Sweep | Partial rotation (90°–180°) | Cleave, wide swing |
19→| S5 | Full Circle | Omnidirectional around ball | Pulse, aura |
20→| S6 | Expanding Ring | Ring that radiates outward | Shockwave |
21→| S7 | Cross/Star Burst | Multiple lines from ball at fixed angles | Nova burst in 4/8 dirs |
22→| S8 | Orbital | Entities revolving at fixed radius | Temporary shards |
23→| S9 | Straight Projectile | Travels in a line | Arrow |
24→| S10 | Bouncing Projectile | Reflects off walls | Gun bullet |
25→| S11 | Gravity-Arc Projectile | Parabolic/lobbed trajectory | Rock |
26→| S12 | Returning Projectile | Goes out, comes back | Boomerang |
27→| S13 | Spiral Projectile | Spirals outward from ball | Lollipop |
28→| S14 | Zigzag Projectile | Bounces at fixed angles (e.g. 45°) | CD |
29→| S15 | Homing Projectile | Curves toward enemy | Spoon |
30→| S16 | Zone/Pool | Persistent circle at a location | Acid pool, paint splat |
... [107 more lines]
Read (E:\a327ex\emoji-ball-battles\reference\attack-design-space.md)
<persisted-output>
Output too large (56.6KB). Full output saved to: C:\Users\adn\.claude\projects\E--a327ex\ee3e2eaa-a459-4dc8-9749-c859da57ef1d\tool-results\toolu_01XPcuqjQxgZfXzcXiW6PMth.txt
Preview (first 2KB):
1→# Attack Design Space Exploration
2→
3→## Context & Constraints
4→
5→The arena is a 200x200 bouncy box with gravity. Two balls bounce around, each with an attached weapon that rotates with the ball. Good scaling is **visual** — more stuff on screen, more chaos, more compelling to watch — without making fights one-sided numerically.
6→
7→Existing weapons establish the baseline:
8→- **Dagger**: rotation (continuous area sweep around ball), scales via rotation speed
9→- **Gun**: raycast-aligned projectiles that bounce, scales via burst fire (more bullets)
10→- **Bow**: raycast-aligned projectiles that stick, scales via arrow count per shot
11→- **Sword**: raycast-aligned melee thrust, scales via thrust damage (this one's actually the weakest visual scaler — damage is invisible)
12→
13→---
14→
15→## Part 1: Shape Vocabulary
16→
17→These are the spatial patterns an attack can take, grounded in what makes sense in the arena.
18→
19→### Shapes Originating From The Ball
20→
21→**1. Point / Contact**
22→The weapon tip itself is the damage zone. Dagger does this — the hitbox is a small rectangle at the weapon's end. Requires the weapon to physically overlap the enemy.
23→
24→**2. Forward Line**
25→A line extending from the weapon tip in the direction it points. Sword thrust is a short version. A beam would be a long version that reaches across the arena. Visually, it's a ray or a extending rectangle.
26→
... [6 more lines]
Yes, I see it. The EBB ATTACK_REFERENCE.md breaks every weapon into four orthogonal dimensions — Shape (spatial pattern), Behavior (temporal pattern), Trigger (what causes firing), and Scaling (what changes as it powers up). Each dimension has a typed menu. You pick one from each column, and that describes your weapon.
So you want to do something similar for ORBS — break abilities into sections where each section has a set of types, and you compose an ability by picking one from each. But ORBS is more general than EBB (not just weapons on bouncing balls), so the sections would be different.
For the projectile ability in Orblike, the EBB-style decomposition might look something like:
- Trigger: On click
- Targeting: Mouse direction
- Shape/Delivery: Projectile (straight line)
- Hit behavior: Single target (destroy on first hit)
- Effect: Damage (1)
And then something like the area_circle would be:
- Trigger: On click
- Targeting: Mouse position
- Shape/Delivery: Circle AoE (radius 25)
- Hit behavior: All in area
- Effect: Damage (1)
Should I draft a full reference document like this, mapping out what sections/types we'd need to cover all five current attacks plus the kinds of abilities you'd want ORBS to eventually describe (DoTs, buffs, channels, chains, etc.)? Or do you want to work through the sections together first?
Yes, but first, can we figure out if you can generate a text version of ALL abilities in a single game? I believe the wikis for the most popular games must contain descriptions of all their abilities, so we can probably get the abilities for a few game that matter and that I care about in a full way, and then design the system slowly by picking a few specific abilities at a time and making sure that it can be described properly at this high level. Imagine you wanted to do this for Path of Exile, how would you go about it?
[Think]
The user wants to get comprehensive ability/skill data from games like Path of Exile to use as a reference corpus for designing ORBS. They're asking me how I'd go about getting all abilities for PoE specifically.
Let me think about this. Path of Exile has a wiki (the PoE wiki, now on poewiki.net) that lists all skill gems with their mechanics. There are also community resources.
For PoE specifically:
- The official wiki (poewiki.net) has pages for every skill gem
- There are also data-mined resources
- The PoE community maintains very detailed wikis
The challenge is that PoE has hundreds of skill gems, each with detailed mechanics.
I'm considering a few practical approaches: I could use web scraping to pull the wiki's skill gem list page and then fetch individual skill pages, or look for community-maintained spreadsheets and data dumps that might already have this compiled. There's also the possibility of accessing PoE's game data directly through tools like PyPoE or the official API, though that depends on what's publicly available. Since the user is asking for my approach rather than immediate results, I should focus on explaining which method would be most feasible and efficient. before we do it. Let me be honest about what's feasible.
For PoE specifically, poewiki.net has a page listing all skill gems. Each gem page has the gem's mechanics described. But there are 200+ skill gems in PoE.
Actually, let me think about this differently. The user wants text descriptions of abilities — not the full wiki articles with all the numbers and scaling, but the mechanical descriptions. Like "Fireball: Projectile that explodes on hit in an AoE" level descriptions. That's much more tractable.
Let me check if there's a good list page on the wiki that summarizes all skills.
Actually, the user asked "how would you go about it" — this is a planning/approach question. Let me answer it directly rather than trying to do it immediately.
So the main games we're looking at are Path of Exile with its skill gems, League of Legends with champion abilities, Dota 2 with hero abilities, plus The Binding of Isaac, Risk of Rain 2, and SNKRX. For PoE, I could scrape the wiki's skill gem list and pull the mechanical descriptions using the tags and summaries already there. Let me try fetching that list to see what's available.
Good question. Let me check what's actually available on the PoE wiki — it's one of the most thoroughly documented games out there.
WebFetch (https://www.poewiki.net/wiki/Skill_gem)
# Active Skill Gems Overview
## Structure & Organization
Active skill gems are organized in a table format with the following structure:
- **Gem Name** - Links to individual skill pages
- **Gem Tags** - Categorical labels (e.g., "Spell," "Attack," "Melee," "AoE")
- **Requirements** - Character level and attribute needs (Strength, Dexterity, Intelligence)
- **Stats** - Mana costs, cooldowns, damage values, and unique mechanics
The page notes that "gem tags are not intended to indicate whether a skill gem can be supported by other gems or whether specific stats apply."
## Skills Listed (Partial)
The visible portion includes approximately 50+ active skill gems, including:
Absolution, Ancestral Cry, Anger, Animate Guardian, Autoexertion, Battlemage's Cry, Berserk, Bladestorm, Blood and Sand, Boneshatter, Chain Hook, Cleave, Consecrated Path, Corrupting Fever, Crushing Fist, Decoy Totem, Defiance Banner, Determination, Devouring Totem, Dominating Blow, Dread Banner, Earthquake, Earthshatter, Enduring Cry, Eviscerate, Exsanguinate, Flame Link, Flesh and Stone, Frozen Legion, General's Cry, Glacial Hammer, Ground Slam, Heavy Strike, Herald of Ash, Herald of Purity, Holy Flame Totem, Ice Crash, Immortal Call, Infernal Blow, Infernal Cry, Intimidating Cry, Leap Slam, Molten Shell, Molten Strike, Perforate, Petrified Blood, Pride, Protective Link, Punishment, Purity of Fire, Rage Vortex, Rallying Cry, Reap, Rejuvenation Totem, Searing Bond, Seismic Cry.
**Total count** is not explicitly stated in the visible content.
That gives me a partial list with tags but not the mechanical descriptions. The wiki has individual pages per skill with full details. The challenge is PoE has probably 200-300+ active skill gems, and fetching each one individually would be slow.
Let me think about more practical approaches:
Option A: Wiki list pages. Fetch the full skill gem list, then batch-fetch individual pages. Doable but tedious — hundreds of fetches. The descriptions would be thorough though.
Option B: Community data dumps. PoE's data gets mined regularly. There might be JSON/CSV exports of all skill gems with their mechanical descriptions already compiled.
Option C: Use the wiki's category/table pages that sometimes have condensed descriptions.
Option D: Use an LLM's existing knowledge. I already know PoE's skill gems fairly well from training data. I could generate descriptions from memory, but they'd be from PoE 1 circa early 2025 and might miss recent additions or get details wrong. Still, for the purpose of designing ORBS categories (not building a PoE clone), approximate descriptions might be sufficient.
Given your goal of creating a single .md file with all abilities — which games do you actually want? PoE has the most complex ability system but also the most abilities. League, Dota, Isaac, and Risk of Rain 2 are also mentioned in ORBS.md.
My honest take: for designing ORBS's category system, you probably want breadth across games more than perfect completeness in one game. A file with ~50 PoE skills + ~30 LoL champions + ~20 Isaac items would stress-test the category system better than 300 PoE skills alone. But you know your priorities better — which games matter most to you for this?
Start with PoE and use your knowledge. However, give me 10 abilities first from your knowledge base and how you plan on adding them to the document so I can see if its good.
[Think]
The user wants me to show them 10 PoE abilities as a sample, formatted the way I'd put them in the document, so they can approve the format before I do all of them.
Let me pick 10 diverse PoE skills that cover different mechanics:
1. Fireball - projectile, AoE on hit
2. Arc - chaining lightning
3. Cyclone - channeled spinning melee
4. Raise Zombie - minion summoning
5. Blade Vortex - orbiting blades around caster
6. Essence Drain - projectile DoT
7. Flicker Strike - teleport melee
8. Rain of Arrows - targeted AoE rain
9. Righteous Fire - self-aura burn
10. Molten Strike - melee + projectile hybrid
For each one I should describe the mechanical behavior - what it does, not the numbers. Since the user wants to eventually use this for ORBS categorization, I need to be clear about how each ability functions mechanically. I'll structure each entry with the name, relevant tags from PoE's system, and a straightforward description of what the ability does step by step.
Now I'm drafting out these ability descriptions.
Here's a sample of 10, covering diverse mechanics:
Fireball Spell, Projectile, AoE, Fire Fires a projectile in the targeted direction. On hitting an enemy or reaching max distance, it explodes in an area, dealing fire damage to all enemies in the radius. Can ignite.
Arc Spell, Chaining, Lightning Fires a bolt of lightning at the nearest enemy. The bolt then chains to additional nearby enemies, dealing reduced damage per chain. Each chain must find a new target within range. Can shock.
Cyclone Attack, Melee, Channelled, AoE While channelling, the character spins in place (or while moving), hitting all enemies in a radius around them repeatedly at a fixed rate. Movement speed is reduced while channelling. Can be sustained indefinitely.
Raise Zombie Spell, Minion Cast on a corpse to raise it as a zombie minion that follows the player and attacks nearby enemies with melee. Zombies persist until killed. Has a maximum count.
Blade Vortex Spell, AoE, Duration Each cast adds a spinning blade that orbits the caster. Blades hit enemies they pass through. Up to a maximum number of blades can be active. Each blade has its own duration, hitting enemies repeatedly as it circles.
Essence Drain Spell, Projectile, DoT, Chaos Fires a projectile that applies a chaos damage-over-time debuff to the first enemy hit. While the debuff is active, the caster regenerates life based on the DoT damage. If the target dies, the debuff spreads to a nearby enemy.
Flicker Strike Attack, Melee, Movement Teleports to a nearby enemy and strikes them. Consumes a frenzy charge to bypass the cooldown, allowing rapid repeated use. Without charges, has a cooldown between uses.
Rain of Arrows Attack, AoE, Projectile Fires arrows into the air that rain down on a targeted area after a short delay. Each arrow hits independently in a small radius within the targeted area. Enemies in the area can be hit by multiple arrows.
Righteous Fire Spell, AoE, Fire, Duration Engulfs the caster in fire, dealing burning damage per second to nearby enemies in a radius. Also burns the caster, draining a percentage of life and energy shield per second. Persists until cancelled or the caster dies.
Molten Strike Attack, Melee, Projectile, Fire, AoE Strikes an enemy with melee, then generates a number of molten projectiles that launch from the point of impact in an arc, landing nearby and dealing AoE fire damage on landing. The melee hit and projectile hits are independent.
Format is: Name, tags on the next line, then a mechanical description focused on what it does — trigger, delivery, targeting, hit behavior, special mechanics. No numbers, just the logic.
Does this level of detail work? Too much, too little? Should I add or remove anything from the format?
I think this level of detail is perfect and focusing on the logic like this works well. If you had to go for 10 support gems instead, what would they look like?
[Think]
The user wants to see 10 PoE support gems in the same format. Support gems modify active skills - they're the composition layer of PoE's system. This is very relevant to ORBS because the "orthogonal composition" problem is exactly what support gems do.
Let me pick 10 diverse support gems:
1. Greater Multiple Projectiles (GMP) - adds projectiles
2. Chain - makes projectiles chain between enemies
3. Fork - projectiles split on hit
4. Spell Echo - repeat spells
5. Multistrike - repeat attacks
6. Added Fire Damage - adds damage type
7. Faster Casting - speeds up cast time
8. Concentrated Effect - smaller AoE, more damage
9. Cast on Critical Strike - trigger linked spells on crit
10. Melee Splash - makes single target melee hit in an area
This gives me a solid spread across projectile modification, repetition mechanics, damage scaling, speed adjustments, area effects, trigger-based casting, and single-target-to-AoE conversion.
Greater Multiple Projectiles Projectile Modifies a projectile skill to fire additional projectiles simultaneously, spread in a fan pattern. Each projectile deals less damage. Does not affect non-projectile parts of a skill.
Chain Chaining, Projectile Projectiles that hit an enemy will chain to another nearby enemy instead of being destroyed. Adds a set number of additional chains. Each chain reduces damage. The projectile must find a valid target within chain range.
Fork Projectile Projectiles that hit an enemy split into two projectiles that continue in a V-pattern. Each forked projectile can hit other enemies but cannot fork again. Does not work on projectiles that pierce or chain from that hit.
Spell Echo Spell After casting a linked spell, the spell is automatically repeated once (or more) with no additional mana cost and a shorter cast time. The repeat targets the same location/direction as the original cast.
Multistrike Attack, Melee Each use of a linked melee attack performs the attack multiple times in rapid succession. The repeats are faster than the original. The second and third strikes automatically target nearby enemies, potentially different from the first.
Concentrated Effect AoE Reduces the area of effect of a linked skill but increases its area damage. Pure tradeoff — smaller but harder hitting AoE.
Cast on Critical Strike Trigger, Spell When the linked attack skill scores a critical strike, it automatically casts a linked spell at the target. The spell is cast without spending mana and has its own cooldown. The caster does not need to cast the spell manually.
Melee Splash Melee, AoE Converts a single-target melee attack into an AoE attack. The primary target takes full damage; nearby enemies take a percentage of the damage. Does not affect skills that are already AoE.
Combustion Fire Linked skill's fire hits apply a debuff that lowers the target's fire resistance. If the linked skill ignites, the ignite chance is also increased. The resistance reduction is a debuff on the enemy, not a stat on the player.
Lifetap Makes the linked skill cost life instead of mana. While the skill has spent enough life recently, the caster gains a buff that increases life regeneration. Changes the resource economy of the linked skill entirely.
These are interesting for ORBS because they're essentially ability modifiers — they take an existing ability and change one axis of it. GMP/Chain/Fork all modify the "what happens after the projectile" step. Spell Echo/Multistrike modify the "how many times does the action repeat" step. Concentrated Effect modifies spatial parameters. Cast on Crit changes the trigger entirely. Melee Splash changes the hit behavior from single to AoE. Lifetap changes the resource cost.
This is basically the composition problem from ORBS.md — "your projectiles now split on hit" — and PoE's answer is that support gems modify specific axes of an active skill's behavior. Same format work here?
Yes, this level of detail is perfect. Let's go for 30 skill gems and 30 support gems. Try to focus on the most iconic ones that also cover the most design ground when all taken together. Save this to a file in orbs/, this file will contain all skill descriptions for all games like this, divided by sections (game name).
[Think]
The user wants me to create a file with 30 active skill gems and 30 support gems from PoE, focusing on iconic ones that cover the most design ground. Save it to `Orblike/orbs/` directory. Let me think about which skills to pick.
For active skills, I want to cover:
- Various projectile types (single, multiple, chaining, returning)
- Melee attacks (single target, AoE, movement)
- Spells (instant, channelled, duration, DoT)
- Minions/summons
- Auras/buffs
- Traps/mines/totems
- Movement skills
- Triggered/conditional effects
Now I'm selecting 30 iconic gems that maximize design diversity—things like Fireball for projectile explosions, Arc for chaining mechanics, Cyclone for channelled melee, Raise Zombie for persistent minions, Blade Vortex for orbiting effects, Essence Drain for projectile DoT spread, Flicker Strike for teleport mechanics, Rain of Arrows for delayed area targeting, Righteous Fire for self-aura damage, and Molten Strike for melee with secondary projectiles.
Continuing with more projectile-based and utility skills: Tornado Shot spawning secondary projectiles, Summon Skeletons for batch minion spawning, Ethereal Knives as a nova effect, Ball Lightning as a slow-moving AoE projectile, Discharge consuming charges for burst damage, Caustic Arrow creating ground DoT, Freezing Pulse losing damage over distance, Blink Arrow for movement with clones, Bear Trap for immobilization, Detonate Dead for corpse explosions, Flame Dash for movement damage, Scorching Ray as a stacking debuff beam, Winter Orb with channelled auto-fire, and Soulrend.
Now I'm finishing that last skill—Soulrend as a homing projectile with DoT—then moving into the remaining abilities like Volatile Dead spawning homing orbs from corpses, Kinetic Blast with explosions on impact, Spectral Throw as a returning projectile, Storm Brand for attachable auto-casting, Blade Flurry as a channelled melee burst, and Toxic Rain with explosive DoT pods.
For support gems, I'm thinking about the core modifier categories: projectile enhancements like GMP and Chain, repeat mechanics like Spell Echo, area scaling with Concentrated Effect, trigger conditions like Cast on Crit, damage type additions, and speed modifiers.
Now I'm narrowing down to 30 specific support gems, starting with the projectile modifiers—Greater Multiple Projectiles, Chain, Fork, Pierce, and Returning Projectiles—then adding repeat mechanics like Spell Echo, Multistrike, and Unleash, followed by area and damage scaling options like Concentrated Effect. smaller AoE, more damage
10. Increased Area of Effect - bigger AoE, no damage change (well, less damage in some versions)
11. Cast on Critical Strike - trigger spell on crit
12. Cast when Damage Taken - trigger spell when taking damage threshold
13. Melee Splash - single target to AoE
14. Spell Totem - spell is cast by a totem instead
15. Trap - skill is thrown as a trap
16. Mine (Remote Mine / Blastchain) - skill is placed as a mine
17. Faster Attacks - increase attack speed, less damage
18. Faster Casting - increase cast speed
19. Lifetap - cost life instead of mana
20. Combustion - fire res debuff on hit
21. Elemental Focus - more elemental damage, cannot inflict ailments
22. Brutality - more physical damage, cannot deal elemental or chaos damage
23. Culling Strike - kills enemies below 10% HP
24. Knockback - hits knock enemies back
25. Blind - hits blind enemies
26. Added Fire Damage - add fire damage as percentage of physical
27. Physical to Lightning - convert physical to lightning
28. Volley - additional projectiles in parallel lines
29. Mirage Archer - creates a ghost archer that repeats bow attacks
30. Blasphemy - turns curse into aura
Now I'm thinking about which of these actually create meaningfully different playstyles for orbs. Let me narrow down to the ones that fundamentally change how the ability functions rather than just tweaking numbers or adding minor effects. Continuing through more support gems like Combustion for fire scaling, Elemental Focus for pure damage, Brutality for physical-only builds, and utility options like Culling Strike, Knockback, and various damage conversions. I'm also considering Mirage Archer for clones, curse mechanics through Blasphemy and Hextouch, and Bonechill for cold synergies. Actually, I realize LMP and GMP are too similar, so I should swap out LMP and rebuild the list with the core mechanics I want to highlight.
Looking at the revised list now—it's got a solid spread across projectile mechanics, spell triggers, melee interactions, mines and traps, attack speed, and various damage scaling options. This feels comprehensive. Let me write this up, and I'll handle the directory structure as needed when I create the file.
Now I'm thinking through the active skills I want to include to make sure I'm hitting different mechanical archetypes. I'm considering projectile-based skills like Fireball with its explosion mechanic, Arc for auto-targeting and chains, Freezing Pulse with distance-based falloff, Ball Lightning for its repeated hits, Ethereal Knives for nova patterns, Tornado Shot for secondary projectiles, Spectral Throw as a returning projectile, Soulrend for homing and DoT, and Kinetic Blast for per-target explosions. For melee, I'm looking at Cyclone as a channeled spinning AoE and Flicker Strike for teleport mechanics.
For the remaining melee skills, I want to cover Molten Strike which generates secondary projectiles, Blade Flurry as a channeled burst option, and Lacerate for dual directional slashes. On the spell side, I'm including Blade Vortex with its orbiting stacking mechanic, Discharge for resource consumption, Detonate Dead for corpse interactions, and Storm Call for delayed strikes. For DoT spells, Essence Drain spreads on kill with life leech, Righteous Fire as a self-damaging aura, Scorching Ray as a channeled stacking debuff, and Caustic Arrow creating ground zones. I'm also planning to add minion and summon skills to round out the variety. I've got my full list of 30 skills locked in, so now I'm ready to write this up. But wait—Volatile Dead is a really compelling mechanic with those homing orbs spawning from corpses, and Blink Arrow combines movement with minion creation in an interesting way.
Let me reconsider the less iconic picks. Lacerate feels a bit generic, and I'm already covering delayed AoE effects with Storm Call and Rain of Arrows, so there's some overlap there. I think I'll swap Lacerate out for Volatile Dead to get that corpse-interaction mechanic in there. Blink Arrow is tempting too since it's a unique movement skill, but I already have Flame Dash covering that angle, so I'll stick with my current list and just make that one swap.
Now I'm looking at the full roster I've assembled - it's a solid mix of projectile mechanics, channeled abilities, melee skills, and some more exotic effects like charge consumption and corpse interactions. The variety feels good across different playstyles. I've got a solid list of 30 skills with good mechanical variety. Now I'm ready to write this up into the full file, keeping in mind that approximate descriptions work fine for the ORBS design framework.
Let me check the directory structure first, then write the file.
Bash (ls E:/a327ex/Orblike/orbs/ 2>/dev/null || echo "directory does not exist")
Bash (mkdir -p E:/a327ex/Orblike/orbs)
Write (E:\a327ex\Orblike\orbs\ability_reference.md)
File created successfully at: E:\a327ex\Orblike\orbs\ability_reference.md
Done. Written to Orblike/orbs/ability_reference.md.
Active skills (30) — picked to maximize design coverage:
- 9 projectile variants (straight, chaining, nova, slow AoE, returning, homing, distance-falloff, secondary-spawning, explosion-on-hit)
- 4 melee variants (channelled spin, teleport, melee→projectile hybrid, channel→release burst)
- 4 area spells (orbiting/stacking, charge consumption burst, corpse explosion, delayed marked zones)
- 4 DoT variants (projectile DoT with spread, self-aura, channelled beam with stacking debuff, ground zone)
- 2 minion types (permanent from corpses, temporary batch-spawned)
- 1 brand (attaching auto-pulse)
- 1 trap (proximity trigger, immobilize)
- 1 movement (teleport + ground effect)
- 2 rain/delayed area (random arrows in zone, pods that DoT then explode)
- 2 special (corpse→homing orbs, channel-to-charge then auto-fire)
Support gems (30) — organized by what axis of the ability they modify:
- 5 projectile modifiers (fan, chain, fork, pierce, return)
- 3 repetition modifiers (echo, multistrike, unleash/burst)
- 2 area modifiers (concentrate, expand)
- 2 trigger modifiers (on-crit, on-damage-taken)
- 4 conversion modifiers (single→AoE, spell→totem, skill→trap, skill→mine)
- 1 speed modifier
- 1 resource modifier (life instead of mana)
- 5 damage modifiers (debuff, more damage/no ailments, physical-only, added type, type conversion)
- 2 on-hit effect modifiers (execute threshold, knockback)
- 3 delivery modifiers (auto-firing clone, curse→aura, curse→on-hit)
Want to move on to another game next, or start working with this PoE set to sketch out the ORBS category system?
Open the document for me please.
[Think]
The user wants me to open the document. Based on the CLAUDE.md instructions, for long documents I should open them in NeoVim with MarkdownPreview.
Bash (~/bin/neovim.exe E:/a327ex/Orblike/orbs/ability_reference.md -- -c "MarkdownPrev...)
Command running in background with ID: bolnxt01d. Output is being written to: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\bolnxt01d.output
Opened in NeoVim with MarkdownPreview.
<task-notification> <task-id>bolnxt01d</task-id> <tool-use-id>toolu_01UEfMUZqf4nEqZHfKNZ1KdH</tool-use-id> <output-file>C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\bolnxt01d.output</output-file>
completed Background command "Open ability reference in NeoVim with MarkdownPreview" completed (exit code 0) </task-notification> Read the output file to retrieve the result: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\bolnxt01d.output
[Think]
The background task completed. The user hasn't asked me anything new - this is just the notification that neovim closed. I'll just acknowledge it briefly.
NeoVim closed. Ready to continue — want to add another game to the reference, or start working on the ORBS categories from the PoE set?
Sure, do league next. 60 champion abilities. Similarly, try to pick iconic ones that cover the most design ground. You can pick multiple from the same champion if you want. Do not compare design ground covered with previous games, treat the design ground from each game individually according to itself only, if that makes sense.
[Think]
The user wants 60 League of Legends champion abilities. I should pick iconic ones that cover the most design ground within LoL itself. I can pick multiple from the same champion. Let me think about what design space LoL abilities cover:
Key mechanical categories in LoL:
- Skillshots (linear, curved, area)
- Targeted abilities (point and click)
- AoE (centered on self, targeted location, around target)
- Dashes/movement (fixed distance, to target, over walls)
- Channelled abilities
- Passive abilities (always on, conditional triggers)
- Pet/minion abilities
- Transform/stance switching
- Charged abilities
- Wall/terrain creation
- Hooks/displacement
- Stealth
- Shields/heals
- Crowd control (stun, root, slow, knock-up, suppress, charm, fear, taunt, silence, blind, ground)
- Damage over time
- Execute mechanics
- Reset mechanics (kill/assist resets cooldown)
- Stacking mechanics
- Tethers
- Zones/persistent areas
- Global abilities (cross-map range)
- Clones/illusions
- Revive/death prevention
- Ability interactions (one ability modifies another)
- Auto-attack modifiers (empowered attacks)
- Toggles
- Recast abilities (press again for second effect)
- Charge-based abilities (multiple charges, recharge over time)
Now I'm selecting 60 abilities that represent these mechanics well, starting with champions like Ezreal whose Q reduces cooldowns on hit, Blitzcrank's grab that pulls enemies, Thresh's hook with a recast dash, Lee Sin's marked target recast, Ahri's charm that forces movement, and Morgana's long-range root.
For the global and channeled abilities, I'm including Lux's piercing laser, Jinx's distance-scaling rocket, Ashe's stun arrow that scales with range, Karthus's map-wide channeled ultimate, Twisted Fate's reveal and teleport, Shen's shielding teleport, Soraka's instant heal to all allies, and Katarina's spinning channeled damage.
Now moving through more ability mechanics: Nunu channels an expanding AoE that gets stronger the longer he holds it, Varus charges up his arrow to extend range and damage before firing, Vi charges to increase her dash distance and knockback, Xerath charges a linear AoE blast, Darius executes with true damage that resets on kills, and Garen's execute scales with how much health his target is missing.
Continuing with execute abilities and unique mechanics: Cho'Gath's execute permanently increases his size and health when it kills, stacking infinitely on champions, Master Yi's targeted dash makes him untargetable while bouncing between enemies and resetting on kills, Yasuo's Q becomes a knockup tornado on the third cast, his W blocks all projectiles in an area, and his R only works on airborne enemies to suspend them all nearby.
Annie's passive stuns every fourth spell cast, Vayne's W deals bonus true damage based on max health every third consecutive auto on the same target, Teemo places invisible proximity-triggered traps with poison and slow effects that store charges, Shaco's Q blinks and grants invisibility plus empowered next auto-attack, Evelynn becomes permanently camouflaged out of combat and regenerates health while low, and Orianna uses a ball mechanic where Q repositions it and W creates effects around it.
Now looking at Syndra—her kit revolves around creating and manipulating persistent dark spheres that accumulate on the field, with Q spawning them at locations, W letting her pick up and throw spheres or minions for AoE damage, and R hurling all active spheres at a target with scaling damage based on sphere count.
For Zed, his W places a shadow clone that mimics his abilities and can be swapped with via recast, while his R is a dash that marks the target and detonates after a delay for bonus damage based on all harm dealt during that window.
LeBlanc's passive triggers a death-prevention mechanic with invisibility and a clone spawn when health drops below threshold, though I'm reconsidering if there's a better ability to highlight instead.
LeBlanc's R recasts her last ability with increased damage, making it a flexible ultimate that adapts to whatever she just used.
Lulu's W works on both allies and enemies—buffing attack and movement speed on allies or polymorphing enemies into helpless critters that are silenced and slowed.
Kayn's passive lets him permanently transform into one of two forms based on whether he's been fighting ranged or melee champions, with each form modifying his abilities differently.
Kindred's R creates a zone where nothing can die, preventing all units from dropping below a health threshold, then heals everyone inside when it expires.
Bard's R is targeted and appears to be cut off, but it's likely another zone or crowd control effect given the pattern.
Zilean's R prevents an ally's death by reviving them at their death location after a short delay if they die during the buff duration.
Kayle's passive gives her permanent scaling at specific level thresholds—she gains attack range, AoE damage on attacks, and other bonuses as she levels up.
Nasus's Q is an empowered auto-attack that permanently stacks bonus damage whenever it kills a target, creating infinite scaling through last-hitting.
Veigar's passive grants him permanent ability power whenever he hits enemies with abilities, and it seems to continue from there.
Heimerdinger places autonomous turrets that attack nearby enemies, with a charge system allowing multiple placements, and they persist until destroyed.
Zyra has an interesting mechanic where she plants seeds that remain inert until her Q or E abilities hit them, causing them to sprout into plants that attack enemies—the plant type depends on which ability triggered it.
Thresh's W throws a lantern that allies can click to dash toward him while also shielding nearby allies, essentially giving them a dash they wouldn't normally have access to.
Kalista's ultimate pulls her bound ally into her position making them untargetable, then they can recast to dash out and knock up enemies—one player directly controlling another's positioning.
Jhin has a fixed ammo system with exactly 4 shots, where the 4th always crits and deals bonus damage based on missing health, forcing a long reload after emptying the magazine.
His ultimate is a long-range channeled ability that fires 4 skillshots within a cone, with the 4th shot dealing massively increased damage like a sniper.
Akali's W creates a smoke zone where she becomes invisible even while attacking, though the description cuts off there.
Illaoi spawns tentacles near walls and her E pulls an enemy's spirit out—damaging the spirit damages the original enemy, and killing the spirit turns them into a vessel that gets periodically attacked by tentacles.
Tahm Kench can swallow targets with his W: allies get protected inside and can be repositioned when spit out, while enemies get consumed after enough autos and can be carried around.
Mordekaiser's ultimate is a targeted ability that seems to be cut off, but it appears to be creating some kind of isolated realm.
Fiora's W is a parry stance that blocks the next ability or auto-attack, and if it blocks an immobilizing effect, the attacker gets stunned instead.
Sivir's E creates a spell shield that negates the next enemy ability and restores mana when triggered.
Vladimir sinks into a blood pool with his W, becoming untargetable while dealing damage and slowing enemies above, though it costs health to cast and grants movement speed.
Ekko's ultimate seems to be cut off as well.
57. Ekko R (Chronobreak) - Ekko leaves a ghost showing his position from 4 seconds ago, and when cast, he blinks back to that ghost location, dealing AoE damage and healing based on recent damage taken. It's essentially a time-rewind mechanic.
58. Zoe's Q fires a missile that can be redirected, with damage scaling based on the distance from the redirect point rather than the original cast point, creating an interesting direction-change mechanic.
59. Aphelios operates on a weapon system where he cycles through 5 different weapons, each with unique auto-attacks and Q abilities. When one weapon runs out of ammo, he switches to the next, and his off-hand weapon can affect certain abilities. I should probably describe this as a passive system rather than a single ability.
60. Aurelion Sol's original design had stars orbiting him at a fixed radius that damage enemies they pass through, with his W expanding or contracting that orbital radius. Actually, since he got reworked, I should stick with the original version since it's more mechanically interesting for this ORBS framework.
Now I'm thinking about how to better organize and categorize the League mechanics I'm covering—things like skillshot types (linear, curved, AoE, global), different targeting systems (point-and-click, ground-targeted, self-centered), and crowd control effects.
I'm also mapping out the other design categories: mobility options like dashes and teleports, damage patterns ranging from burst to DoT to execute damage, resource systems like mana or energy, and unique mechanics like stealth, clones, or terrain creation.
Let me finalize my list of 60 with good diversity across these categories, starting with champions like Ezreal whose Q refunds its cooldown on hit, and Blitzcrank with his signature hook skillshot. , pull enemy to you
3. Thresh Q (Death Sentence) - hook, recast to dash to target
4. Lee Sin Q (Sonic Wave / Resonating Strike) - skillshot mark, recast to dash to marked target
5. Ahri E (Charm) - skillshot, charm CC
6. Morgana Q (Dark Binding) - skillshot root, long duration
7. Lux R (Final Spark) - long range line AoE, passes through targets
8. Jinx R (Super Mega Death Rocket) - global skillshot, damage scales with distance and missing health
9. Ashe R (Enchanted Crystal Arrow) - global skillshot arrow, stun duration scales with distance
10. Karthus R (Requiem) - global channel, hits all enemy champions
11. Twisted Fate R (Destiny) - global: reveals all enemies + teleport recast
12. Shen R (Stand United) - global shield and teleport to ally
13. Katarina R (Death Lotus) - channeled AoE with rapid multi-hits around self
14. Nunu R (Absolute Zero) - channeled AoE where damage increases the longer it's held
15. Varus Q (Piercing Arrow) - charge mechanic that boosts range and damage before firing
16. Vi Q (Vault Breaker) - charge to extend dash distance with knockback on impact
17. Xerath Q (Arcanopulse) - charge to extend range, fires linear AoE
18. Darius R (Noxian Guillotine) - targeted execute that resets on kills
19. Garen R (Demacian Justice) - targeted execute scaling with missing health
20. Cho'gath R (Feast) - continuing through more execute and scaling abilities like Cho'gath's permanent growth, Master Yi's reset-on-kill dash that bounces between targets, Yasuo's stacking knockup mechanic and wind wall that blocks projectiles, Annie's stun on every 4th spell, Vayne's true damage on every 3rd hit, Teemo's invisible proximity-triggered traps, Shaco's blink-stealth combo, and Orianna's persistent ball object that enables her Q-R system.
Now I'm splitting out Orianna's abilities separately—her Q moves the ball to a location while damaging along the path, and her R pulls all nearby enemies toward the ball. Then there's Syndra's R which hurls all her active spheres at a target with damage scaling off sphere count, Zed's shadow clone that mimics his abilities and lets him swap positions, his R that marks a target and detonates for a percentage of damage dealt during the window, LeBlanc's ability to recast her last ability with increased effect, and Lulu's W that either buffs allies with speed and attack speed or polymorphs enemies.
Moving through more champions now—Kindred creates a zone where nothing can die and heals when it expires, Bard stasis locks all units in an area regardless of allegiance, Zilean grants a revive buff on death, Nasus stacks permanent damage on his empowered auto attacks when he gets kills, Heimerdinger places autonomous turrets with a charge system, Zyra plants seeds that spawn plants when her abilities hit them, Thresh throws a lantern that shields allies and lets them dash to him, and Jhin's passive gives him a 4-shot mechanic.
Continuing with Jhin's ultimate—a long-range cone channel that fires 4 skillshots with bonus damage on the final shot, Illaoi pulls out an enemy's spirit and damages them by hitting it, Tahm Kench can swallow allies for protection or enemies to disable and reposition them, Mordekaiser banishes both himself and an enemy to a separate dimension and steals their stats, Fiora can parry incoming abilities and stun if she blocks crowd control, Sivir negates the next ability with a spell shield and restores mana, and Vladimir becomes untargetable while dealing AoE damage.
Now looking at more complex mechanics—Ekko blinks back to where he was 4 seconds ago with AoE damage and healing, Zoe fires a redirectable missile that scales damage based on total distance traveled, Aphelios cycles through 5 different weapons as he depletes ammo with main and off-hand combinations, Kayn's passive lets him permanently transform into different forms based on which enemies he fights, Kog'Maw toggles his W to give his auto-attacks increased range and percentage max health magic damage, and I'm cutting off here since the list seems incomplete.
Continuing with the auto-attack focused mechanics: Kalista's passive makes every auto-attack trigger a short dash in her movement direction but requires her to commit to the full auto animation without canceling, Draven's Q is an empowered spinning axe that bounces off targets and can be caught to refresh the buff creating a minigame, Akali creates an invisible smoke zone with W that expands over time, Urgot's W toggle makes him rapidly auto-attack the nearest enemy with reduced damage per shot and no crits while slowing him, and Rengar's passive turns his next auto-attack into a leap when he's in brush, making terrain a key part of his auto-attack pattern.
Let me recount my list to make sure I'm at the right number — I need to verify if I'm counting Orianna's abilities separately or together. I'm continuing through the list and need a few more abilities to round it out. Let me consider some other mechanics like Tryndamere's unkillable ultimate, Kayle's evolving passive, terrain creation from Anivia and Jarvan, Viego's possession mechanic, Ryze's team teleport, and Lissandra's dual-purpose stasis ability. I'm considering a few more iconic mechanics like invulnerability effects and undying passives, but I need to keep this to exactly 60 abilities. Let me organize everything by mechanical theme instead—grouping skillshots, crowd control, terrain creation, and defensive abilities together so the list feels more structured and easier to navigate. Death Sentence) - hook + recast to dash to hooked target
4. Lee Sin Q (Sonic Wave/Resonating Strike) - skillshot mark + recast dash to marked
5. Ahri E (Charm) - skillshot CC, forces target to walk toward caster
6. Morgana Q (Dark Binding) - skillshot root, very long duration
7. Lux R (Final Spark) - long range line AoE, pierces all
8. Zoe Q (Paddle Star) - skillshot + recast to redirect, damage scales with total distance
### Global Abilities
9. Jinx R (Super Mega Death Rocket) - global skillshot, damage scales with distance + missing HP
10. Ashe R (Enchanted Crystal Arrow) - global skillshot, stun scales with distance
11. Karthus R (Requiem) - instant channel that hits every enemy champion on the map
12. Twisted Fate R (Destiny) - reveals all enemies and lets him teleport anywhere
13. Shen R (Stand United) - shields an ally globally and channels to teleport to them
14. Soraka R (Wish) - instantly heals all allies regardless of location
### Channelled
15. Katarina R (Death Lotus) - rapid multi-hit AoE that channels around her
16. Nunu R (Absolute Zero) - channelled AoE where damage and slow increase the longer he channels
17. Jhin R (Curtain Call) - four long-range skillshots in a cone with the fourth shot dealing extra damage
### Charge-Up
18. Varus Q (Piercing Arrow) - hold to increase range and damage before releasing
19. Vi Q (Vault Breaker)
Continuing through the charge-up mechanics and moving into execute abilities that reset on kills, then stacking mechanics where repeated casts or conditions trigger stronger effects. Continuing through the mechanics, I'm looking at how Orianna's Ball persists as a reference point for her abilities, then Syndra's spheres that accumulate and can all be detonated at once. Moving into clones and shadows, there's Zed's Living Shadow that mirrors his inputs and lets him swap positions, plus his ultimate that marks targets and detonates based on damage dealt. LeBlanc can recast her last ability with enhanced effects, and then dual-purpose abilities like Lulu's Whimsy that buffs allies but stuns enemies, or Tahm Kench's Devour that either protects an ally or swallows an enemy.
Actually, I'm reconsidering whether to include Lissandra's Frozen Tomb since it would be a third addition beyond my original list. Let me step back and finalize this to exactly 60 abilities, then write out the full content for each one. I'm starting fresh with the core categories—Skillshots and Projectiles as the first group, listing out the key champions and their signature long-range abilities.
Now I'm moving through the remaining categories: Global ultimates that affect the entire map, Channelled abilities that require sustained casting, Charge-Up mechanics where power builds over time, Execute abilities that scale with missing health or reset on kills, and then Stacking or Conditional effects that trigger under specific circumstances. Continuing through the more complex mechanics—clones and shadows like Zed's abilities, dual-purpose tools such as Lulu's polymorph, defensive counterplay options including Fiora's riposte and Yasuo's wind wall, and finally the ultimate survival mechanics that prevent or delay death like Kindred's lamb's respite and Zilean's time manipulation.
Then there are the space-warping ultimates, terrain creation abilities, champions with distinctive attack patterns like Jhin's precision or Draven's axe mechanics, and finally the passive systems that define how champions like Aphelios, Kayn, and Rengar operate fundamentally. That brings me to sixty total.
Now I'm reconsidering whether I've captured all the unique mechanic types—specifically tethers like Karma's Focused Resolve or Morgana's Soul Shackles, which create proximity-based connections that trigger additional effects. Morgana's ultimate is particularly interesting since it's a tether that stuns enemies if they stay in range too long. I'm debating whether to swap out Rengar's passive for Morgana's ultimate since tethers feel like a more universally applicable mechanic for ORBS, but Rengar's terrain-conditional passive is also distinctive. I think I'll keep the list at sixty as is.
Actually, I'm reconsidering again—Soraka's global heal is straightforward, and I already have Morgana's Q, so adding her ultimate would be redundant. Instead, I'll drop Kalista's passive since the dash-on-auto mechanic is interesting but less essential for ORBS purposes, and replace it with Morgana's Soul Shackles to capture that tether dynamic.
Now I'm at 62 total and need to trim down to 60. Soraka's ultimate is too simple as just a global heal, and Garen's execute is basically the same as Darius's but without the reset mechanic that makes Darius's version stand out, so those are the two I'm cutting.
Looking at the remaining abilities organized by category: skillshots and projectiles make up the bulk with eight entries, followed by five global abilities, and three channeled ones so far. I'm continuing through the ability categories, covering traps and deployables like Teemo's noxious traps and Heimerdinger's turrets, then moving into stealth and zone control abilities, persistent objects that champions can command, clones and shadows for deception mechanics, and dual-purpose abilities that serve multiple functions in combat. Kench W (Devour)
### Defensive / Counter (4)
40. Fiora W (Riposte)
41. Sivir E (Spell Shield)
42. Yasuo W (Wind Wall)
43. Vladimir W (Sanguine Pool)
### Death Prevention / Stasis (4)
44. Kindred R (Lamb's Respite)
45. Bard R (Tempered Fate)
46. Zilean R (Chronoshift)
47. Tryndamere R (Undying Rage)
### Time / Space Manipulation (2)
48. Ekko R (Chronobreak)
49. Mordekaiser R (Realm of Death)
### Tethers (1)
50. Morgana R (Soul Shackles)
### Terrain (2)
51. Anivia W (Crystallize)
52. Jarvan IV R (Cataclysm)
### Unique Attack Patterns (4)
53. Jhin passive (Whisper)
54. Draven Q (Spinning Axe)
55. Kalista passive (Martial Poise)
56. Urgot W (Purge)
### Transformation / System (4)
57. Aphelios passive (Hitman and Seer)
58. Kayn passive (The Darkin Scythe)
59. Rengar passive (Unseen Predator)
I'm at 59 and need one more to round it out. Thresh W works perfectly—it's a unique mechanic where he throws a lantern that allies can click to dash toward him while gaining a shield, giving it a distinct interactive quality that fits the list.
Actually, I want both Thresh W and Illaoi E in here. Let me drop Kalista passive since it's less relevant for the ORBS concept and recalculate. I'm getting confused with the numbering, so let me just restart and list everything out cleanly from the beginning.
Continuing through the full roster...
I've hit 60 abilities now, which feels like a solid foundation. Rather than keep organizing endlessly, I should just start writing the content. The framework I'm working with focuses on a few key categories—skillshots broken down by type like linear and hook abilities, global abilities that affect the map, and utility-focused powers. Let me move forward with the actual writeup.
Read (E:\a327ex\Orblike\orbs\ability_reference.md)
1→# Ability Reference
2→
3→Mechanical descriptions of abilities across games, for ORBS system design. Descriptions focus on logic — triggers, delivery, targeting, hit behavior, special mechanics. No numbers, just how things work.
4→
5→---
6→
7→# Path of Exile
8→
9→## Active Skill Gems
10→
11→### Projectiles
12→
13→**Fireball**
14→Spell, Projectile, AoE, Fire
15→Fires a projectile in the targeted direction. On hitting an enemy or reaching max distance, it explodes in an area, dealing fire damage to all enemies in the radius. Can ignite.
16→
17→**Arc**
18→Spell, Chaining, Lightning
19→Fires a bolt of lightning at the nearest enemy in range. The bolt then chains to additional nearby enemies, with each chain seeking the closest valid target not yet hit. Damage reduces per chain. Can shock.
20→
21→**Freezing Pulse**
22→Spell, Projectile, Cold
23→Fires a projectile in the targeted direction. The projectile loses damage the further it travels, eventually dissipating at max range. Wider hitbox up close, narrower at range. Can freeze, with higher freeze chance at close range due to higher damage.
24→
25→**Ball Lightning**
26→Spell, Projectile, AoE, Lightning
27→Fires a slow-moving orb that travels in a line. The orb repeatedly hits enemies within its radius as it passes through them, dealing damage at a fixed interval. Each enemy can be hit multiple times by the same orb. Pierces all enemies — never consumed by hits.
28→
29→**Ethereal Knives**
30→Spell, Projectile, Physical
... [253 more lines]
Now I'll append the League section.
Edit (E:\a327ex\Orblike\orbs\ability_reference.md)
The file E:\a327ex\Orblike\orbs\ability_reference.md has been updated successfully.
Done — 60 League abilities appended. Let me open it for you.
Bash (~/bin/neovim.exe E:/a327ex/Orblike/orbs/ability_reference.md -- -c "MarkdownPrev...)
Command running in background with ID: bkce34wv9. Output is being written to: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\bkce34wv9.output
The League section covers these mechanical categories:
- Skillshots (8) — linear, hook+pull, hook+recast dash, mark+dash-to-mark, CC types, piercing AoE, redirectable
- Global (5) — damage scaling with distance, stun scaling with distance, hit-all-enemies, reveal+teleport, shield+teleport-to-ally
- Channelled (3) — AoE around self, scaling with duration, sequential skillshots within a cone
- Charge-up (3) — range scaling, dash range scaling, AoE range scaling
- Execute/Reset (3) — kill resets cooldown, permanent scaling on kill, untargetable bouncing with reset
- Stacking/Conditional (4) — hit counter changes ability, spell counter adds CC, consecutive-hit bonus, infinite permanent stacking
- Traps/Deployables (3) — invisible proximity trigger, autonomous turrets, seed+ability interaction spawning plants
- Stealth (2) — blink+stealth+empowered attack, combat-persistent stealth zone
- Persistent Objects (3) — all abilities reference a movable Ball, accumulated objects consumed for burst
- Clones/Shadows (3) — shadow mimics abilities+swap positions, damage-window detonation mark, dynamic ability copy
- Dual-Use (2) — buff ally or CC enemy, protect ally or displace enemy
- Defensive/Counter (4) — parry+reflect CC, spell shield, projectile-blocking wall, untargetability pool
- Death Prevention (4) — zone where nothing dies, AoE stasis on everyone, revive-on-death buff, cannot-die-for-duration
- Time/Space (2) — time rewind to past position, forced 1v1 in separate dimension
- Tethers (1) — proximity-maintained CC, break by moving away
- Terrain (2) — impassable wall, circular arena trap
- Unique Attack Patterns (3) — 4-shot magazine with power shot, throwing+catching axes, rapid-fire toggle mode
- Ally Interaction (2) — grant a dash to an ally, attackable spirit proxy
- Transformation/Systems (3) — 5-weapon cycling ammo system, permanent form choice, terrain-conditional leap
- Unique Utility (1) — auto-attack fused with movement
Do items in League, Dota, Risk of Rain and other games serve the same design purpose as support gems in PoE? Or should we consider these differently? Are item effects in PoE (in gear) in the same category as items in those games? How would you separate these things?
[Think]
This is a really good design question. Let me think carefully about what these different systems actually do mechanically and whether they belong in the same category or different ones.
**PoE Support Gems** — These directly modify how an active skill works. They change the skill's behavior: GMP adds projectiles, Chain makes projectiles chain, Spell Totem changes who casts the spell, Trap changes the delivery method. They're **ability modifiers** — they take an existing ability and change its mechanics.
**PoE Items (gear)** — These mostly provide stats (life, resistances, damage increases). But some have special effects: "Enemies you kill explode dealing 3% of their max life as fire damage", "Socketed gems are supported by level 20 Faster Attacks", "+1 to number of projectiles". Some of these are stat boosts, some are effectively built-in support gems, and some are unique effects that don't exist elsewhere.
**League and Dota Items** — Both games use items that bundle stats with special effects, though the effects tend to be more powerful and ability-like than in PoE. League items might grant active abilities like dashing and firing projectiles, or passive effects like burning enemies or amplifying critical damage. Dota items follow a similar pattern but often push the power level even further.
**Risk of Rain 2 Items** — These work almost entirely through passive modifiers that trigger on hit or attack, like increasing attack speed or firing homing missiles on chance.
**Isaac Items** — These are much more varied in how they function, ranging from completely replacing attack mechanics like turning tears into a laser beam, to adding split effects on hit, adjusting stats, providing temporary boosts, or just passive bonuses.
Now I'm realizing these items don't all serve the same purpose at all. There are actually several distinct functional categories here that matter for understanding ORBS design. I'm breaking them down: ability modifiers that change how existing abilities work (like support gems in PoE or items that transform tears), stat modifiers that just adjust numeric values, and probably a few other categories I need to think through more carefully. from items rather than from a champion/hero kit.
Ability Replacements like Isaac's Brimstone wholesale swap out your attack pattern entirely instead of modifying it. Global Modifiers like RoR2's Shaped Glass change the underlying rules of the game itself. For ORBS, Ability Modifiers map to support gems, Triggered Effects stand alone as event-response systems, Active Abilities should just be treated as abilities regardless of source, and I need to figure out where Ability Replacements and Global Modifiers fit into the framework.
So items across League, Dota, RoR2, and Isaac aren't really equivalent to support gems — they're a heterogeneous mix. Some function as ability modifiers, some as triggered abilities that respond to events, some as standalone active abilities, and some as pure stat increases. The useful distinction for ORBS seems to be separating Abilities (things you or the game activates), Modifiers (things that change how existing abilities work), and Stats (numeric changes that don't affect mechanics). I'm realizing the framework needs to account for these different categories rather than treating items as a monolithic concept.
Actually, thinking about this more fundamentally: everything here is really a set of rules. An ability is a self-contained rule set that fires on triggers, a modifier is a rule that changes how an existing ability behaves, and triggered effects are new rules that attach to events from other systems. For the reference document, I should list item actives as abilities since they function that way, and then handle triggered/on-event effects as their own category since they operate differently.
Good question, and I think the answer is that they're actually several different things mixed together, and conflating them would lose information that matters for ORBS.
Let me break down what "items" actually do across these games:
1. Ability Modifiers (closest to PoE support gems) Things that change how an existing ability works. PoE support gems are the purest form — Chain makes projectiles chain, Melee Splash makes single-target hit in AoE, Spell Totem changes who casts. In Isaac, Parasite (tears split on hit) is basically Fork. In RoR2, Brilliant Behemoth (all attacks explode) is basically adding AoE to your hits. These modify the mechanics of something you already have.
2. Triggered Effects / On-Event Effects Things that add a new effect that fires on an event. RoR2's ATG Missile (on hit → fire homing missile), Ukulele (on hit → chain lightning), Will-o'-the-Wisp (on kill → AoE explosion). League's Liandry's (on ability hit → burn DoT). These aren't modifying an ability — they're attaching a new ability to an event from an existing one. This is the composition layer.
3. Active Abilities from Items Items that simply are abilities. Dota's Blink Dagger is a movement ability. League's Zhonya's is a stasis ability. Dota's Orchid is a targeted silence + delayed burst (mechanically identical to Zed R's mark). These should just be catalogued as abilities — the fact that they come from items rather than a kit is an inventory system distinction, not a mechanical one.
4. Ability Replacements Isaac's Brimstone replaces your tears with a charged laser beam. Dr. Fetus replaces tears with bombs. Mom's Knife replaces them with a thrown knife. These aren't modifiers — they substitute your entire attack pattern. A different operation than "modify."
5. Stat Modifiers Attack speed, damage, health, resistances. Every game has these. Not interesting for ORBS — they're just numbers.
6. Meta-Modifiers / Rule Changers RoR2's 57 Leaf Clover (all random effects reroll in your favor), Shaped Glass (double damage, half health). These change the rules of the game itself rather than any specific ability.
So PoE support gems are really just category 1. Items across other games span categories 1-6, and mashing them all together would be messy. For the reference document, I'd propose:
- Catalogue item actives as abilities (they are abilities)
- Catalogue triggered/on-event effects as their own section (the composition/interaction layer)
- Catalogue ability modifiers as their own section (like support gems)
- Catalogue ability replacements separately (especially from Isaac)
- Skip stat modifiers (just numbers, not interesting for ORBS)
- Flag meta-modifiers when they appear (they're rare but important)
This means for a game like Risk of Rain 2, the items would get split across sections rather than listed as one flat list. Same for Isaac. Does that decomposition feel right, or do you see it differently?
Let's focus on abilities and ability modifiers only. If the abilities/ability modifiers appear in characters or items it's irrelevant. Makes sense? So Blink Dagger in DoTA should count as one out of the 60, if you happen to choose it. In light of this, are there any other things in League you'd add, or replace existing abilities for things that appear in items?
[Think]
The user is asking me to reconsider the League section. Are there item effects in League that are mechanically interesting as abilities or ability modifiers that I should include?
Let me think about League items that are essentially abilities:
**Item Actives (abilities):**
- Zhonya's Hourglass — self-stasis (but I already have Bard R for stasis and Tryndamere R for death prevention, and Vladimir W for untargetability)
- Hextech Rocketbelt — dash + fire projectiles in a cone
- Galeforce — dash + fires missiles at lowest HP nearby enemy
- Stopwatch/Guardian Angel — one-time stasis / revive on death
- Redemption — AoE heal at target location after delay (global range)
- Randuin's Omen — AoE slow around self
- Gargoyle Stoneplate — massive shield
- Edge of Night — spell shield (but I have Sivir E)
- Mikael's Blessing — cleanse CC from ally
- Everfrost — root in a line
**Item Passives (triggered effects / modifiers):**
- Liandry's Torment — abilities apply burn DoT (on-event)
- Rylai's Crystal Scepter — abilities apply slow (modifier)
- Muramana — toggle
, attacks and abilities spend mana for bonus damage (resource conversion)
- Dead Man's Plate — moving builds momentum, next auto deals bonus damage plus slow (accumulation)
- Statikk Shiv — attacking builds charges from moving, at max charges next attack chains lightning (accumulation into triggered effect)
- Runaan's Hurricane — auto-attacks fire two additional bolts at nearby enemies (multi-projectile for autos)
- Ravenous Hydra — auto-attacks cleave in an area (melee splash damage)
- Luden's Tempest — abilities proc AoE damage that bounces between enemies (chain plus AoE)
Looking at these, some feel mechanically redundant with what I already have—Zhonya's stasis overlaps with Bard's ultimate, and Runaan's multi-projectile effect is similar to what I'm already covering.
The item passives that modify abilities would fit better in a dedicated modifiers section, but since I'm focusing on champion abilities for League, I think the 60 abilities I've selected already cover the design space well. Most item actives are just simpler versions of champion abilities anyway—Rocketbelt is essentially a short dash with cone damage, nothing I haven't seen before.
Actually, there are a few exceptions worth noting: Stopwatch's one-time stasis effect is mechanically unique, and Guardian Angel's passive revive is similar to Zilean's ultimate but automatic. Some runes also introduce interesting mechanics—Electrocute stacks damage on multiple hits, and Dark Harvest grants permanent damage scaling when killing low-health enemies.
But the user already has 60 mechanics for League, so the real question is whether I should swap any of those out for item or rune effects instead. Honestly, the champion abilities I've selected are more mechanically interesting than what items offer—League's design depth really lives in the champion kits, not the items themselves, so I should stick with what I have.
Thinking about it honestly — no, I don't think League items add much that the champion abilities don't already cover. League's item actives are mostly simpler versions of champion mechanics:
- Zhonya's Hourglass (self-stasis) — already covered by Bard R / Vladimir W
- Hextech Rocketbelt (short dash + cone damage) — a simpler Vi Q
- Guardian Angel (revive on death) — a simpler Zilean R
- Runaan's Hurricane (auto-attacks fire extra bolts at nearby enemies) — PoE's GMP already covers this as a modifier
- Ravenous Hydra (auto-attacks cleave in AoE) — PoE's Melee Splash
The design space in League really lives in the champion kits, not the items. Items are mostly stat bundles with a mechanical hook that's usually a stripped-down version of something a champion does more interestingly.
The one area I might be missing is runes — things like Electrocute (3 hits within a window → bonus burst) or Phase Rush (3 ability hits → movement speed). But those are triggered effects more than abilities or modifiers, and the "hit N times → trigger bonus" pattern is already covered by Annie passive and Vayne W.
I think the 60 champion abilities are solid as the League section. The more interesting next step would be a game where items ARE the design space — Risk of Rain 2 or Isaac, where the items are the whole point and the "base ability" is simple.
Want me to move on to one of those? Or Dota, where items like Blink Dagger, Force Staff, and Orchid are genuinely ability-grade mechanics that would earn spots alongside hero abilities?
<task-notification> <task-id>bkce34wv9</task-id> <tool-use-id>toolu_015G826TMwA79DSA6o2Lty94</tool-use-id> <output-file>C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\bkce34wv9.output</output-file>
completed Background command "Open updated ability reference in NeoVim with MarkdownPreview" completed (exit code 0) </task-notification> Read the output file to retrieve the result: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\bkce34wv9.output
[Think]
The neovim closed. The user hasn't responded to my question yet - this is just the background task notification. I should acknowledge briefly and wait.
NeoVim closed. Waiting on your call — Dota, Risk of Rain 2, Isaac, or something else next?
OK, let's do DoTA. 60 abilities/ability modifiers, regardless where they come from.
[Think]
The user wants 60 Dota 2 abilities/ability modifiers. I should pick iconic ones that cover the most design ground within Dota itself. Abilities can come from heroes or items.
Let me think about Dota's design space:
**Dota has some unique mechanical territory compared to LoL:**
- Turn rates (heroes have to turn before moving/casting in a direction)
- Day/night cycle affecting vision
- Trees as destructible terrain
- More powerful items (Blink Dagger, BKB, Force Staff)
- Buyback (respawn by spending gold)
- More complex CC (Doom, Sleep, Ethereal, Break, Mute)
- Illusions, Aghanim's upgrades, talent trees, and intricate ability interactions
- Channeling with varied interruption mechanics
- Multicast and ability draft mechanics
Now I'm mapping out the core design pillars by ability type. Starting with displacement abilities like Meat Hook for long-range pulls, Nether Swap for position exchanges, Toss for throwing units, Reverse Polarity for AoE pulls with stuns, and Vacuum for area control.
Moving into global abilities that affect the entire map—Nature's Prophet's bouncing damage, Spectre's illusion-based presence across all enemy heroes, Zeus's omnipresent damage and reveal, Io's teleportation mechanics, and Chen's map-wide healing.
Now examining illusion-based heroes like Phantom Lancer who generates illusions on hit that cascade into more illusions, and Chaos Knight's mechanics.
Then there are the unique crowd control effects—Hex turning enemies into helpless chickens, Bane's mana-draining channeled suppress, Doom's ability to silence both spells and items simultaneously, Shadow Demon's banish that spawns illusions, and OD's invulnerable banish that works on allies too.
Beyond individual abilities, some heroes have mechanics that modify or multiply their spells entirely—Ogre Magi can multicast abilities multiple times by chance, Rubick steals and reuses enemy abilities, and Morphling can transform into an ally to gain their whole kit. Then there's Invoker with his three-orb system that unlocks ten different spells through combinations, and Earth Spirit who places stone remnants across the map that interact uniquely with each of his abilities.
Some heroes lean heavily on environmental factors—Meepo controls permanent clones that all die if one falls, Treant Protector's abilities revolve around trees, and Nightstalker's powers shift between day and night cycles. Items can function like abilities too: Blink Dagger for instant repositioning, Force Staff for directional pushes, Black King Bar for spell immunity, Eul's Scepter to cyclone and purge, and Scythe of Vyse to hex enemies.
Looking at more utility items—Orchid Malevolence silences and amplifies damage, Refresher Orb resets cooldowns, Aether Lens extends cast range, Ethereal Blade makes targets vulnerable to magic while immune to physical damage, Lotus Orb reflects targeted spells, Linken's Sphere blocks one spell, and Blade Mail bounces damage back. Defensive options include Ghost Scepter for ethereal form, Glimmer Cape for invisibility and magic resistance, Mekansm for area healing, and Pipe of Insight for magic barriers. Then there's Rod of Atos for long-range roots, Heaven's Halberd to disarm, and Nullifier for continuous effects.
Now I'm looking at some key unique mechanics that define how certain heroes work—Io's tether shares regeneration between allies, Abaddon's ultimate converts damage into healing when health drops low, Dazzle keeps an ally alive at 1 HP, Oracle delays all damage and healing resolution, Weaver can revert to a previous position and health state, Faceless Void stops time in an area, and Enigma channels a powerful black hole effect.
Continuing through the roster, Tidehunter's ultimate sends out tentacles that stun enemies, Silencer silences every enemy on the map regardless of location, Phoenix transforms into an egg that damages nearby enemies and fully restores if it survives, Techies plants various mine types for area control, Underlord teleports nearby allies across the map after a delay, Kunkka summons a ship that damages and stuns while protecting allies in its path, and Gyrocopter has an ultimate ability I'm still reviewing. Down) - two missiles strike target area at different times, first slows then second deals more damage
- Tinker R (Rearm) - channelled, resets cooldowns of all other abilities AND items
- Sand King R (Epicenter) - channelled: pulses expand outward at increasing radius, each pulse deals damage and slows
- Lifestealer R (Infest) - enter inside an allied unit or neutral creep, hidden, when exiting deal AoE damage. Can exit to allied hero.
- Nyx Assassin W (Spiked Carapace) - reflect the next instance of damage back to attacker + stun them. One-use reflect.
- Necrophos R (Reaper's Scythe) - targeted: deal damage based on how much HP the target is missing, increase respawn time of killed target
- Outworld Destroyer R (Sanity's Eclipse) - AoE damage scaling off the mana pool difference between OD and targets
- Shadow Fiend passive (Necromastery) - accumulates damage per kill up to a cap, but loses half the stacks on death
- Bloodseeker passive (Thirst) - movement speed and attack damage increase as enemies drop lower in health, scaling globally
- Medusa W (Mystic Snake) - bouncing projectile that steals mana and deals escalating damage with each enemy hit
- Ancient Apparition R (Ice Blast) - global projectile that prevents healing on impact and instantly kills targets below a health threshold
Now I'm narrowing down to 60 abilities that represent the broadest range of design mechanics. Dota. I want to make sure I cover:
**Hero abilities (~45-50):**
Displacement:
1. Pudge Q (Meat Hook) - long range skillshot hook, damages enemies, grabs allies
2. Vengeful Spirit R (Nether Swap) - swap positions with any unit (ally or enemy)
3. Tiny W (Toss) - grab nearest unit and throw it at target, AoE damage on landing
4. Magnus R (Reverse Polarity) - AoE pull all to center + stun
5. Batrider R (Flaming Lasso) - grab enemy, drag them as you move, channelled
Global:
6. Nature's Prophet R (Wrath of Nature) - bouncing bolt hits enemies across map, gaining damage per bounce
7. Spectre R (Haunt) - create illusions attacking every enemy hero, can swap to any
8. Zeus R (Thundergod's Wrath) - damage all enemy heroes + reveal
9. Silencer R (Global Silence) - silence all enemies globally
10. Io R (Relocate) - teleport self + tethered ally to any point, auto-return after delay
Channelled:
11. Bane R (Fiend's Grip) - channelled suppress on single target, drains mana, heals self
12. Enigma R (Black Hole) - channelled AoE, pulls all enemies to center, stun
13. Sand King R (Epicenter) - channel THEN release: expanding pulses at increasing radius
14. Crystal Maiden R (Freezing Field) - channelled AoE random ice explosions around self
Time/Stasis abilities coming up...
Continuing with time manipulation and survival mechanics - Chronosphere freezes all units in an area, Astral Imprisonment banishes targets into invulnerability, and Disruption creates illusions when enemies return from banishment. Then there's the death prevention layer with Shallow Grave making allies unkillable, Borrowed Time converting damage to healing, False Promise delaying all damage resolution, and Supernova turning the hero into a protected egg with reset potential. Moving into time manipulation abilities next. R (Time Lapse) - revert to position and HP from 5 seconds ago
23. Faceless Void Q (Time Walk) - dash to location, undo all damage taken in last 2 seconds
Unique CC:
24. Winter Wyvern R (Winter's Curse) - target enemy is frozen, all nearby enemies forced to attack them
25. Shadow Shaman W (Hex) - turn enemy into chicken, can't attack or cast
26. Puck W (Phase Shift) - self-banish, invulnerable, can cancel early
27. Bane Q (Nightmare) - put target to sleep, transfers to anyone who attacks them
Ability interaction / Copying:
28. Rubick R (Spell Steal) - steal the last ability an enemy used
29. Morphling R (Morph) - become a copy of target ally and gain their abilities temporarily
30. Invoker has a system where three orbs combine to create ten different abilities
31. Ogre Magi's passive gives a chance to cast abilities multiple times in succession
Complex kits involve abilities that interact with placed objects or create permanent duplicates you control simultaneously, like Earth Spirit's stone remnants or Meepo's clones with shared death mechanics, and Arc Warden can spawn an independent copy of himself with all items and separate cooldowns. Terrain-altering abilities include creating impassable walls, semi-circular blocking formations, and other environmental obstacles that restrict movement.
Now looking at DoT and debuff mechanics—Venomancer's poison expands outward and can't kill, Viper applies stacking slows with auto-attacks, and Doom is the most comprehensive disable since it silences both abilities and items while breaking passives. Summon-based abilities like Nature's Prophet's destructible trees and Shadow Shaman's persistent ward clusters create controllable units that occupy space and deal damage.
Lycan transforms into a wolf form with maximum movement speed and critical strikes that can't be slowed, while Lone Druid gets a permanent Spirit Bear companion that functions as a separate unit with its own inventory and abilities. For bouncing mechanics, Medusa's snake gains damage and steals mana with each enemy it hits, Chain Frost bounces infinitely between targets while slowing them, and Luna's Eclipse fires multiple beams at random enemies. Necrophos executes enemies based on missing health and extends their respawn time, while Ancient Apparition's Ice Blast appears to have a unique damage pattern as well.
Continuing with more specialized abilities: Bloodseeker gains speed and damage whenever any enemy hero on the map loses health, Techies can place unlimited invisible proximity mines that trigger in an area, Io tethers to allies to share regeneration and gets pulled toward them if they move away, Lifestealer hides inside units and bursts out with area damage, Kunkka summons a ship that stuns on arrival and gives allies a damage delay buff, and Tinker can channel to reset all ability cooldowns.
For items, I'm covering the core utility pieces: Blink Dagger for instant repositioning with a damage cooldown, Force Staff to push any unit in their facing direction, Black King Bar for spell immunity that weakens with repeated use, Eul's Scepter to cyclone targets into invulnerability while purging debuffs, and Lotus Orb to reflect targeted spells back at casters. I'm also considering Blade Mail as an interesting damage reflection mechanic against attackers.
Looking at what else could fit, Orchid Malevolence has that compelling damage-amplification window similar to Zed's mark, and Linken's Sphere blocks single targeted spells like Sivir's shield. I should trim a couple of the less distinctive abilities—dropping Crystal Maiden's channeled random explosions since that's already covered by other channeled effects—and rebuild the list to hit exactly 60 items while keeping the most mechanically interesting ones. Io R completes the globals, then I'm organizing the rest by mechanic—channeled disables, time manipulation effects, death prevention, unique crowd control interactions, ability theft and duplication, complex hero mechanics, and terrain alteration abilities.
Now I'm looking at the remaining categories: damage-over-time and debuffs, summonable units, bouncing or chaining effects, unique damage types, and special mechanics that don't fit elsewhere. I'm also including key items like Blink, Force Staff, BKB, Eul's, and Lotus Orb to round out to 60 total. But I'm reconsidering the roster—dropping CM's Frostbite to make room for better coverage across these categories.
Looking at what I have, I think I should swap out a few weaker entries: CM's channeled ability feels redundant with other crowd control, Viper's stacking poison is just another DoT, Luna's random targeting isn't particularly unique, and Nature's Prophet's Sprout is cool but too niche. In their place, I'll add Blade Mail for damage reflection, Orchid Malevolence for silence and detonation mechanics, and Ethereal Blade for the immunity-type swap effect. That gives me better mechanical diversity while staying at 60. - Linken's Sphere - spell block... similar to Sivir E.
Hmm, let me think about what's actually unique in Dota items:
- Blade Mail (reflect damage) — this is unique
- Orchid (silence + delayed damage based on damage dealt) — this is like Zed R
- Lotus Orb (reflect targeted spells) — I already have this
- Aeon Disk (when below HP threshold, auto-activate: dispel all debuffs + brief invulnerability) — auto-trigger defensive
Actually, let me keep my current 60 but swap:
- Drop CM R → add Blade Mail (damage reflect)
- Drop Viper Q → add Orchid (silence + damage window mark)
- Drop Luna → add Nyx Assassin W Spiked Carapace (reflect next damage + stun attacker)
- Drop NP Q → keep this actually, tree ring is cool... hmm
I'm overthinking this. Let me just finalize the list with 60 abilities that cover the most Dota design ground. I'll organize them by category starting with displacement, then globals, and work through the rest. Continuing with banish mechanics that remove units temporarily, then moving into death prevention abilities that either block lethal damage or reset the hero entirely, followed by time manipulation ultimates that let heroes revert their recent positioning or damage taken.
Now I'm looking at crowd control abilities with unique mechanics—freezing targets to redirect enemy attacks, polymorphing into harmless forms, phasing out of reality, and sleep effects that transfer between units. Then there are the interaction-based abilities where heroes steal enemy spells, copy allies entirely, or have systems like combining orbs into different abilities or triggering random multi-casts. The list continues into complex hero kits that blend multiple mechanics together. Looking at summon-based abilities like Shadow Shaman's ward cluster and Lone Druid's Spirit Bear that function as permanent companions with their own itemization, then moving into bouncing mechanics where projectiles gain power through chaining, and finally examining execute-based damage where abilities scale off missing health or prevent enemy healing. HP
48. Techies Q (Proximity Mines) - place unlimited invisible mines
**Unique Mechanics (5):**
49. Io W (Tether) - tether to ally, share regen/buffs, pulled toward ally
50. Lifestealer R (Infest) - hide inside a unit, burst out for AoE
51. Kunkka R (Ghostship) - ship travels to location, AoE on arrival, allies get damage delay
52. Tinker R (Rearm) - reset all ability + item cooldowns
53. Nyx Assassin W (Spiked Carapace) - reflect next damage + stun attacker
**Items (7):**
54. Blink Dagger - instant teleport, disabled by damage
55. Force Staff - push any unit in facing direction
56. Black King Bar - spell immunity, duration decreases per use
57. Eul's Scepter - cyclone (lift into air), purge on self-cast
58. Lotus Orb - reflect targeted spells back at caster
59. Blade Mail - reflect all damage back to source for duration
60. Orchid Malevolence - silence + after duration, bonus damage based on damage dealt during silence
That's 60 total. I've got solid coverage across all the categories, so I'm ready to write this up.
Read (E:\a327ex\Orblike\orbs\ability_reference.md)
1→# Ability Reference
2→
3→Mechanical descriptions of abilities across games, for ORBS system design. Descriptions focus on logic — triggers, delivery, targeting, hit behavior, special mechanics. No numbers, just how things work.
4→
5→---
Let me find the end of the file to append.
Bash (wc -l E:/a327ex/Orblike/orbs/ability_reference.md)
513 E:/a327ex/Orblike/orbs/ability_reference.md
Read (E:\a327ex\Orblike\orbs\ability_reference.md)
510→**Illaoi E — Test of Spirit** (covered above in Ally Interaction)
511→
512→**Kalista passive — Martial Poise**
513→Every auto-attack, after the projectile launches, causes Kalista to perform a short dash in her current movement direction. She cannot cancel auto-attack animations — once the wind-up starts, the attack must complete before the dash. Creates a character whose auto-attacking and movement are fused — attacking IS moving. Orbwalking built into the kit.
514→
Edit (E:\a327ex\Orblike\orbs\ability_reference.md)
The file E:\a327ex\Orblike\orbs\ability_reference.md has been updated successfully.
Done. 60 Dota abilities appended. Here's the coverage:
- Displacement (5) — hook+pull, position swap, throw-a-unit, AoE pull-to-center, grab-and-drag
- Global (5) — bouncing escalating damage, illusions on all enemies + swap, damage all + reveal, silence all, teleport pair with auto-return
- Channelled (4) — single-target suppress, AoE pull vortex, channel-then-release expanding pulses, random AoE bombardment
- Time/Stasis (3) — AoE time stop (caster exempt), banish any unit, banish + create illusions of target
- Death Prevention (4) — cannot-die buff, auto-trigger damage-becomes-healing, delayed damage/healing resolution, egg rebirth with full reset
- Time Manipulation (2) — revert to position/HP from 5 sec ago, dash that undoes recent damage
- Unique CC (4) — force enemies to attack their own ally, polymorph, self-banish with cancel, sleep that transfers on attack
- Ability Interaction (4) — steal enemy's last spell, copy ally's abilities, 3-orb combinatorial 10-spell system, random multi-cast
- Complex Kits (3) — remnant-based ability interactions, permanent clones with shared death, perfect item+ability copy
- Terrain (3) — line stun + wall, projectile creates curved barrier, circular arena blocking entry/exit/projectiles
- DoT/Debuff (2) — non-lethal expanding poison ring, silence+mute+break-passives (total disable)
- Summons/Transformation (3) — stationary attacking ward cluster, wolf form with unslowable speed, permanent companion with own inventory
- Bouncing/Chaining (2) — bouncing projectile that gains power per bounce + returns mana, unlimited-bounce frost orb
- Unique Damage (4) — execute that increases respawn time, global anti-heal + shatter threshold, passive scaling with global enemy HP, unlimited invisible mines
- Unique Mechanics (5) — ally tether sharing regen, hide inside a unit, ship with ally damage-delay buff, reset all cooldowns infinitely, single-use damage reflect + stun
- Items (7) — instant blink (disabled by damage), push unit in facing direction, spell immunity with shrinking duration, cyclone with self-purge, spell reflection buff, damage reflection, silence + damage-window amplification
Want to continue with another game? Risk of Rain 2 and Isaac would cover the "items as the entire ability system" territory well.
Do some simpler abilities in DoTA as well? Like beams, projectiles, simple are effects, etc. 20 more.
[Think]
The user wants 20 more simpler/bread-and-butter Dota abilities — the basic projectiles, beams, simple AoEs, targeted nukes, etc. The first 60 were very mechanics-heavy and complex. These should be the foundational ability types.
Let me think about simple Dota abilities:
**Simple projectiles:**
- Dragon Knight W (Dragon Tail) / Sven Q (Storm Hammer) - targeted stun projectile
- Sniper R (Assassinate) - long range targeted projectile
- Mirana Q (Sacred Arrow) - long range skillshot, stun duration scales with distance
- Windrunner Q (Shackleshot) - skillshot that stuns, latches to tree or second enemy for longer stun
- Lion Q (Earth Spike) - line stun
- Lina Q (Dragon Slave) - line nuke with straightforward damage
**Simple AoEs and single-target nukes:**
Looking at the direct damage abilities now — Lina's ultimate is a pure single-target nuke, Lion's finger gains power from kills, Queen of Pain has that targeted DoT with slow attached, and her sonic wave is a cone burst. Jakiro's dual breath combines a cone with both slow and damage-over-time effects, while Leshrac's split earth is a delayed ground-targeted explosion.
Moving into the bigger area effects — Jakiro's ultimate creates a persistent fire line that damages over time, Shadow Fiend's requiem sends projectiles outward in all directions, Tidehunter's ravage expands from his position and stuns everything caught, and Centaur's double edge is a melee-range cleave that hurts him too. Then there are the ground-targeted abilities like Viper's nethertoxin zone that silences, Zeus's arc lightning that bounces between targets, Dazzle's poison touch that stuns after a delay, Skywrath's arcane bolt that homes in and scales with intelligence, and Ogre Magi's fire...
Actually, I'm realizing Dota doesn't really have traditional beam abilities. Let me refocus on what the user probably means by simpler, more straightforward abilities — the core damage and control tools. So point-and-click nukes like Lion's finger of death and Lina's laguna blade that just deal big damage instantly, then line-based abilities like Lina's dragon slave and Lion's earth spike that stun in a line, Queen of Pain's sonic wave that's a wide cone nuke, and Tidehunter's...
Actually, let me think about expanding ring stuns from self like Tidehunter's ravage, shadow fiend's requiem that sends out lines of damage, Leshrac's split earth which is a delayed AoE stun, Jakiro's macropyre that creates a burning line on the ground, and Centaur's hoof stomp for a self-centered stun. Then there are the skillshot abilities — Mirana's sacred arrow that stuns based on distance traveled, Windrunner's powershot that channels a line through everything, Sniper's assassinate for long-range damage, and Skywrath's arcane bolt that homes in slowly. I'm also starting to think about simple utility like buffs and debuffs, though that list seems to cut off.
Now I'm looking at more buff and debuff options — Ogre Magi's bloodlust for attack and movement speed, Crystal Maiden's crystal nova for AoE damage and slow, Sven's storm hammer as a targeted stun with splash, and Drow Ranger's frost arrows that slow on each hit. Then there are the auto-attack modifiers and toggles like Huskar's burning spear that stacks a burn but drains health, and Clinkz's searing arrows that add fire damage when toggled on. I'm narrowing down to about 20 abilities that represent the simpler design space, starting with Lina's dragon slave as a straightforward line nuke and Lion's earth spike as another line effect.
Continuing through the list with more targeted and AoE ultimates — Lion's finger of death that scales damage with kills, Lina's laguna blade for pure damage, Queen of Pain's sonic wave as a cone nuke, Tidehunter's ravage expanding outward as a ring stun, Shadow Fiend's requiem sending out projectiles in all directions, Mirana's sacred arrow as a long-range skillshot where stun duration increases with distance, Windrunner's powershot that channels then releases a piercing line, Sniper's assassinate for long-range targeted damage, and Skywrath Mage's arcane bolt as a homing projectile.
Now moving into more utility and support abilities — Seven's storm hammer as a targeted stun projectile with AoE impact, Crystal Maiden's crystal nova dealing damage and slowing in an area, Leshrac's split earth creating a delayed stun zone, Jakiro's macropyre laying down a persistent fire line that damages over time, Centaur's hoof stomp as a self-centered AoE stun, Drow Ranger's frost arrows modifying auto-attacks with slow, Huskar's burning spear as an auto-attack modifier with stacking burn that drains his own health, Ogre Magi's bloodlust buffing an ally with attack and movement speed, and Slardar's corrosive haze.
That covers the core ability archetypes — line nukes, targeted nukes, cone AoE, expanding rings, novas, long-range skillshots, homing projectiles, targeted stuns, ground-targeted AoE, delayed stuns, persistent DoT zones, self-centered AoE, auto-attack modifiers, ally buffs, and enemy debuffs. These are the fundamental building blocks.
Bash (wc -l E:/a327ex/Orblike/orbs/ability_reference.md)
731 E:/a327ex/Orblike/orbs/ability_reference.md
Read (E:\a327ex\Orblike\orbs\ability_reference.md)
728→Active: for a short duration, all damage dealt to the user is reflected back to the attacker. The reflected damage is the same type and amount as the incoming damage. Does not reduce the damage taken — the user still takes full damage, they just return it. Creates a "hit me and you hurt yourself" situation. Most effective against heroes that deal high burst damage, turning their own damage against them.
729→
730→**Orchid Malevolence**
731→Active: targets an enemy hero, silencing them for a duration. At the end of the silence, the target takes bonus damage equal to a percentage of all damage they received during the silenced duration. Combines a disable (silence) with a damage amplification window — all damage dealt while silenced is "stored" and a portion is dealt again as a burst when the silence ends. Rewards focusing a target during the silence duration.
732→
Edit (E:\a327ex\Orblike\orbs\ability_reference.md)
The file E:\a327ex\Orblike\orbs\ability_reference.md has been updated successfully.
Done — 20 simple abilities added under a "Bread and Butter" section. Covers the foundational types:
- Line nukes (2) — pure damage line, piercing charge-and-release line
- Line stun (1) — damage + CC in a line
- Targeted nukes (3) — point-and-click burst, pure damage option, infinite stacking on kill
- Cone AoE (1) — wide spread damage
- Expanding ring (1) — stun expands outward from caster
- Nova (1) — lines radiating outward in all directions, density scales with stacks
- Long-range skillshot (1) — stun duration scales with distance traveled
- Homing projectile (1) — slow but guaranteed-hit tracking
- Targeted projectile + splash (1) — point-and-click with AoE around impact
- Ground-targeted AoE (2) — instant damage+slow, delayed damage+stun
- Persistent ground zone (1) — line of fire DoT
- Self-centered AoE (1) — melee-range stomp stun
- Auto-attack modifiers (2) — adds slow, adds stacking burn DoT (costs HP)
- Ally buff (1) — attack speed + move speed
- Enemy debuff (1) — armor reduction + reveals
These are the building blocks the complex abilities are built from. Ready for the next game whenever you are.
Isaac now, do 80 too.
[Think]
The user wants 80 Binding of Isaac abilities/ability modifiers. Isaac is interesting because the base ability is simple (tears/projectiles) and items modify it extensively. I should cover:
**Base attack modifiers (tear modifiers):**
- Brimstone (replace tears with charged laser beam)
- Mom's Knife (replace tears with thrown knife)
- Dr. Fetus (replace tears with bombs)
- Epic Fetus (replace tears with missile strikes)
- Technology (replace tears with laser beam)
- Technology 2 (continuous laser from one eye, tears from other)
- Ipecac (tears become explosive arcing projectiles)
- Ludovico Technique (single large controllable tear)
- Monstro's Lung (charge up, release burst of tears)
- Loki's Horns (chance to fire tears in 4 directions)
- The Wiz (fires tears diagonally outward from both eyes)
- Tractor Beam (tears travel along a beam line)
- Tiny Planet (tears orbit around Isaac)
- Anti-Gravity (tears hover in place, then fly forward when key released)
- My Reflection (tears boomerang back)
- Rubber Cement (tears bounce off walls)
- Continuum (tears pass through walls and obstacles)
- Proptosis (tears start huge but shrink over distance)
- Dead Eye (damage increases with consecutive hits, resets on miss)
- Cricket's Body (tears split into 4 smaller tears on hit)
- Compound Fracture (tears split into bone fragments on hit)
- Parasite (tears split into 2 on hit)
- Jacob's Ladder (tears create arcs of electricity on hit)
- Godhead (tears have a damaging aura around them)
- Sacred Heart (homing + damage up + HP up)
- Spoon Bender (homing tears)
- Strange Attractor (tears pull enemies toward them)
- Magnetism (tears attract nearby enemies/pickups)
- Lost Contact (tears block enemy projectiles)
- Flat Stone (tears bounce off the ground, hitting multiple times)
- Pop (tears bounce off each other)
- Haemolacria (tears are lobbed and burst into smaller tears on impact)
- Spirit Sword (melee + projectile hybrid)
- Azazel's Brimstone (short range brimstone)
- C Section (fires homing fetus projectiles)
- Eye of the Occult (controllable tears that you steer)
- Kidney Stone (periodic charge that fires a stone + burst of tears)
Now looking at familiar and orbital items—these are passive effects that orbit around you or follow you. Cube of Meat and Ball of Bandages stack to evolve into stronger forms while blocking projectiles, Pretty Fly does similar blocking, Sacrificial Dagger deals damage as it orbits, Dry Baby blocks projectiles with a chance to trigger Necronomicon, and Incubus mimics your attack pattern.
Continuing with more familiars—Twisted Pair gives you two companions firing alongside you, Lil Brimstone charges up mini brimstone attacks, Rotten Baby spawns flies, Multidimensional Baby doubles tears passing through it and makes them spectral, and Bot Fly shoots back enemy projectiles.
For triggered effects, Maw of the Void creates a damaging ring after charging, Void lets you consume items to absorb their stats or abilities, Book of Belial grants temporary damage boost, and The Bible gives flight for the current room.
Active items include D6 for rerolling pedestals, Blank Card to reactivate your current card or rune effect, and Placebo which activates card effects. I'm continuing to map out the core mechanics, but I realize I should focus on what's truly mechanically distinct rather than listing every item type. The key design pillars are tear replacements that fundamentally change how you attack, tear modifiers that alter projectile behavior, familiars and orbitals that act as independent entities, and event-triggered effects that reward specific playstyles. triggers** - something happens when you get hit, when you kill, when you enter a room, etc.
6. **Active items** - manually activated abilities with charge-based cooldowns
7. **Passive stat modifiers** - boring for ORBS, skip these
8. **Transformation systems** - collecting themed items gives bonuses
9. **Trinkets** - small passive effects
Let me aim for 80 that cover the most ground. I'll focus on items that are mechanically distinct.
**Tear Replacements (10):**
1. Brimstone - charged laser beam in aimed direction
2. Mom's Knife - thrown knife, charge to increase range, returns
3. Dr. Fetus - tears replaced with thrown bombs
4. Epic Fetus - tears replaced with targeted missile strikes (crosshair you aim)
5. Technology - tears replaced with instant laser beam
6. Monstro's Lung - charge up, fire a burst of many tears at once
7. Ludovico Technique - single large tear you directly control with movement keys
8. Spirit Sword - melee swing + projectile when at full health
9. Ipecac - tears become arcing explosive projectiles, high damage, self-damage
10. C Section - fires homing fetus projectiles that latch onto enemies
**Tear Path Modifiers (12):**
11. Spoon Bender - tears home toward enemies
12. My Reflection - tears boomerang back toward Isaac
13. Tiny Planet - tears orbit Isaac in a circle
14. Rubber Cement - tears bounce off walls and obstacles
15. Continuum - tears pass through walls, reappear on opposite side (wrapping)
16. Anti-Gravity - tears hover in place where fired, then all move together when you stop firing
17. Tractor Beam - tears travel along a fixed beam line in aiming direction
18. Strange Attractor - tears have gravity, pulling enemies and pickups toward them as they travel
19. Eye of the Occult - tears are controllable: they follow your crosshair/aim after being fired
20. Flat Stone - tears bounce off the ground multiple times, hitting each time they land
21. Ouija Board - spectral tears: pass through obstacles/rocks
22. Pop! - tears bounce off each other
**Tear On-Hit Modifiers (10):**
23. Cricket's Body - tears split into 4 smaller tears on hitting enemy or obstacle
24. Parasite - tears split into 2 on hitting enemy or obstacle
25. Compound Fracture - tears release bone shards on hitting enemy or obstacle
26. Haemolacria - tears are lobbed in an arc, leave blood trails
27. Polyphemus - tears are huge and deal massive damage, slow fire rate
28. Godhead - tears have a damaging aura around them
29. Marked - tears fire from a crosshair you control instead of Isaac's position
30. Lachryphagy - tears eat other tears to grow bigger and stronger
31. Angelic Prism - tears split into rainbow spread on hitting
32. Tear Detonator - tears detonate on command (spacebar)
**Tear Stat Modifiers (8):**
33. Spoon Bender - tears home toward enemies
34. Tear Detonator - tears detonate on command
35. Lachryphagy - tears eat other tears to grow bigger
36. Godhead - tears have damaging aura
37. Polyphemus - huge tears, massive damage, slow fire rate
38. Marked - tears fire from crosshair you control
39. Angelic Prism - tears split into rainbow on hit
40. Haemolacria - tears lobbed in arc, leave blood trails
Wait, I'm duplicating. Let me restart and be more careful.
I'm organizing the items by their mechanical effect on gameplay. Continuing through the tear modifiers and moving into on-hit effects, then active items and passive bonuses. Now I'm cataloging the tear pattern modifiers that change how many tears fire per shot—some add extra tears in specific directions while others trigger periodic bursts or clusters. Then moving into familiars, which are companion items that either replicate your tear effects, spawn additional attack units, or fire their own special attacks like beam weapons. Cube of Meat transforms through stages as you pick up copies—starting as an orbital, then gaining damage output, evolving into a walking familiar, and finally becoming a walking familiar that shoots. Bot Fly orbits Isaac and shoots down incoming projectiles, while Guillotine detaches Isaac's head to orbit his body and fire tears from the separated head. Moving into on-kill effects, I'm looking at items like Guppy that spawn attack flies when enemies die, Maw of the Void that creates a damaging ring after sustained fire, Athame that leaves a black aura on killed enemies, and Locust of Death that spawns locusts to attack nearby foes.
For on-hit-taken effects, Holy Mantle blocks one instance of damage per room, Infamy negates projectiles entirely with a chance, Old Bandage spawns hearts when hit, The Polaroid grants a temporary shield at half health, and Razor Blade or IV Bag let you damage yourself for stat bonuses. Now I'm cataloging active items like D6 which rerolls all pedestal items in a room, and Void which consumes items to absorb their stat bonuses.
Continuing with active items: Book of Shadows grants temporary invincibility, Glowing Hourglass rewinds to the previous room's state, Eraser permanently removes an enemy type from the run, Blank Card and Placebo trigger your held card or pill effects respectively, Sprinkler places a stationary turret, Telekinesis freezes and redirects enemy projectiles, and Dataminer randomizes your stats.
Now I'm adding the final categories: death prevention items like Dead Cat (9 lives at 1 HP), 1UP (single revive), and Lazarus' Rags (revive with damage boost), plus conditional items like Gnawed Leaf (invulnerability while still) and Crown of Light (double damage when at full health). That brings me to exactly 80 items with a solid distribution across all the mechanics.
Bash (wc -l E:/a327ex/Orblike/orbs/ability_reference.md)
793 E:/a327ex/Orblike/orbs/ability_reference.md
Read (E:\a327ex\Orblike\orbs\ability_reference.md)
790→Targets an allied unit (or self). Grants bonus attack speed and movement speed for a duration. A simple single-target ally buff — make one unit faster and hit harder. Can be multicast (via Ogre's passive) to apply to nearby allies as well.
791→
792→**Slardar R — Corrosive Haze**
793→Targets an enemy unit. Applies a long-duration debuff that reduces the target's armor and grants true sight of them (reveals invisible units). Point-and-click, no damage. A simple targeted debuff — the target takes more physical damage and can't hide. The armor reduction makes them vulnerable, the vision makes them trackable.
794→
Edit (E:\a327ex\Orblike\orbs\ability_reference.md)
The file E:\a327ex\Orblike\orbs\ability_reference.md has been updated successfully.
Done — 80 Isaac items appended. Here's the breakdown:
- Tear Replacements (10) — charged beam, returning knife, bombs, missile strikes, hitscan laser, charged burst volley, directly-controlled tear, arcing explosives, melee+projectile hybrid, homing latching fetuses
- Tear Path Modifiers (12) — homing, boomerang, orbiting, bouncing off walls, screen-wrapping, hover-then-release, travel along beam, gravitational pull, player-steered, ground-skipping, spectral/phasing, bounce off each other
- Tear On-Hit Modifiers (10) — split into 4, split into 2, fragment burst, arc lob + burst, chain lightning, stick + delayed explode, destroy enemy projectiles, damaging aura, distance-based damage falloff, accuracy streak multiplier
- Tear Pattern Modifiers (8) — triple/quad/double shot, diagonal V-pattern, random 4-way burst, random extra tears, involuntary periodic super-shot, every-N-tears bonus barrage
- Familiars (10) — full tear copy, dual flanking copies, auto-charging mini beam, fly spawner, tear-doubling lens, projectile-blocking with counter-attack, kamikaze explosive, fear-applying chaser, familiar coordinator, damage-reactive spawner
- Orbitals (5) — contact damage, projectile blocking (regenerating), 4-stage evolution, projectile-shooting-down, head-detach (changes fire origin)
- On-Kill Effects (4) — chain-spawning flies, sustained-fire AoE ring, kill-location AoE ring, kill-spawned spiders
- On-Hit-Taken Effects (4) — one-free-hit-per-room, low-HP shield, chance heart drop, chance random pickup
- Active Items (10) — reroll loot, consume+absorb items, invincibility, state rewind, permanent enemy type deletion, repeatable card, repeatable pill, stationary turret, catch+redirect projectiles, randomize everything
- Death Prevention (3) — 9 lives at 1 HP, single revive full HP, revive as different character
- Conditional (2) — invulnerable while still, double damage while undamaged
Isaac is particularly interesting for ORBS because the modifier system is almost entirely compositional — items stack on top of each other and the combinations create emergent behavior (homing + split + Brimstone = homing splitting laser beams). Want to continue with Risk of Rain 2, or start working with what we have?
Do Risk of Rain 2 next, 80.
[Think]
The user wants 80 Risk of Rain 2 abilities/ability modifiers. RoR2 has:
1. **Survivor abilities** - each survivor has 4 abilities (primary, secondary, utility, special) plus some have alternate skills
2. **Items** - the core of the game. Common (white), uncommon (green), legendary (red), boss, lunar, void, equipment (active)
The design space in RoR2:
- Items are the main modifier system, they stack (multiple copies increase effect)
- Most items are on-event triggers (on hit, on kill, on taking damage, etc.)
- Some items are passive stat modifiers
- Equipment items function as active abilities with cooldowns
- Survivor abilities serve as the base mechanics being modified
Now I'm thinking through the main item categories. On-hit effects are a huge part of the game's design — items like Sticky Bomb, ATG Missile, and Ukulele all trigger when you deal damage, creating proc chains that define playstyles. Then there are threshold-based items like Runald's and Kjaro's Bands that reward aggressive play, plus bleed-focused items like Tri-Tip Dagger and Shatterspleen that layer damage-over-time effects.
Beyond that, I'm looking at items that trigger on enemy death — Will-o'-the-Wisp spawns hazards, Gasoline creates explosions, and Happiest Mask summons allies. Some items like Resonance Disc and Symbiotic Scorpion have more unique mechanics that don't fit neatly into either category, and Laser Scope modifies crit damage directly. Meat - on kill, gain HP regen for a duration
- Topaz Brooch - on kill, gain a temporary barrier
**On-Damage-Taken Effects:**
- Medkit - after taking damage, heal after a short delay
- Cautious Slug - regen HP while out of combat
- Personal Shield Generator - gain a rechargeable shield
- Planula - reduce incoming damage by flat amount per stack
**Attack Modifiers (change how attacks work):**
- Brilliant Behemoth - all attacks explode in AoE on hit
- Armor-Piercing Rounds - bonus damage to bosses
- Crowbar - bonus damage to enemies above 90% HP
- Focus Crystal - bonus damage to enemies within close range
- Lens-Maker's Glasses - crit chance per stack
- Predatory Instincts - crit increases
- Harvester's Scythe - crits heal, and there are items that boost attack speed temporarily
For mobility and utility, I'm looking at movement speed boosters like Paul's Goat Hoof and Energy Drink, jump enhancements from Hopoo Feather and H3AD-5T v2 which adds a landing shockwave, plus Wax Quail for directional momentum. Milky Chrysalis lets me fly temporarily. Then there are passive stat items like Soldier's Syringe for attack speed, Tougher Times for damage blocking, Infusion for permanent HP scaling, and Old Guillotine for executing weakened elites. Equipment-wise, Royal Capacitor calls down lightning strikes, and there are more active items I'm still cataloging. Lunar items offer powerful effects but come with significant tradeoffs—like doubling damage at the cost of halved health, or gaining automatic equipment activation with reduced cooldowns. Void items are corrupted variants with unpredictable effects, such as delayed collapse damage or void implosions on hit.
I'm also mapping out the meta-modifiers that can reroll random effects favorably or negate damage entirely, plus the base survivor abilities like Commando's suppressive fire, Huntress's auto-aiming and bouncing attacks, and MUL-T's nail gun.
Now I'm going through the rest of the survivor roster—Engineer with grenades and turrets, Artificer with charged spells and terrain control, Mercenary's melee combos and dashes, REX's HP-draining ranged attacks and debuffs, Loader's charged punches and electric chains, and Acrid's poison-based kit.
Finishing out with Captain's orbital abilities, Railgunner's scoped precision shots, and Void Fiend's dual-mode swapping mechanics.
Now I'm thinking about which 80 items would give the best coverage across the game's systems—I need a solid chunk of survivor abilities as the foundation, then spread across on-hit effects, on-kill triggers, damage-taken reactions, attack modifiers, active equipment, lunar items, void items, and whatever meta considerations matter most.
Let me lock in the survivor abilities first, starting with Commando's rapid fire and suppressive burst, Huntress's strafe and bouncing laser glaive, her teleport arrow rain, MUL-T's dual primary modes and transport battering ram, then moving through Engineer's abilities.
Now I'm detailing the remaining survivors — Engineer's mines, shield dome, and auto-targeting turrets that scale with items, Artificer's charged flame bolts and ice spears with a freezing wall and channeled flamethrower, and Mercenary's melee combo and dash eviscerate. untargetable, rapid slashes)
17. REX — Primary: DIRECTIVE: Inject (ranged attack that costs HP instead of cooldown)
18. REX — Special: DIRECTIVE: Tangling Growth (fire a flower that roots and damages enemies in AoE)
19. Loader — Secondary: Grapple Fist (fire a hook, pull yourself to the hit point)
20. Loader — Primary: Charged Gauntlet (charge up, release for a devastating punch that lunges forward)
21. Acrid — Primary: Vicious Wounds (melee combo, applies poison)
22. Acrid — Special: Epidemic (fire a poison ball, on hitting an enemy the poison spreads to all nearby enemies)
23. Captain — Special: Orbital Probes (call down orbital strikes at aimed locations)
24. Railgunner — Primary: QR Smart Round System (scoped long-range shot with bonus damage on weak points)
25. Void Fiend — Passive: corruption meter that fills over time, transforming into Corrupted mode with enhanced abilities when full, though using abilities in that mode drains the meter back down. Now I'm mapping out the on-hit items that trigger effects when attacks connect, starting with Sticky Bomb's delayed detonation, ATG Missile's homing projectile, Ukulele's chain lightning, Tri-Tip Dagger's stacking bleed, and Runald's Band's ice blast threshold mechanic. ows
31. Kjaro's Band - hits above 400% damage threshold fire a fire tornado
32. Sentient Meat Hook - 20% chance on hit to hook nearby enemies toward the hit target
33. Shatterspleen - crits apply bleed; bleeding enemies explode on death
34. Symbiotic Scorpion - permanently reduce hit enemy's armor by a flat amount
35. Resonance Disc - charges on kill, when charged next hit fires a homing disc for massive damage
36. Brilliant Behemoth - all attacks explode in an AoE on hit for 60% of damage
37. Needletick (Void) - chance on hit to apply "Collapse" - delayed massive damage
**On-Kill Items (~7):**
38. Will-o'-the-Wisp - on kill, spawn lava pillar AoE at kill location
39. Gasoline - on kill, enemies ignite in AoE + leave burning ground
40. Ceremonial Dagger - on kill, fire 3 homing daggers at nearby enemies
41. Happiest Mask - on kill, 7% chance to spawn ghost of killed enemy as ally
42. Frost Relic - on kill, gain orbiting ice storm that damages nearby enemies for duration
43. Topaz Brooch - on kill, gain temporary barrier HP
44. Old Guillotine - instantly kill elite enemies below 13% HP (execute threshold for elites only)
**On-Damage-Taken Items (~4):**
45. Medkit - after taking damage, heal after 2-second delay
46. Tougher Times - 15% chance to negate incoming damage entirely
47. Personal Shield Generator - gain regenerating shield HP
Now I'm moving through the defensive items that trigger when taking damage, which provide healing, damage negation, or shield mechanics to help survive incoming hits.
Ben's Raincoat grants immunity to debuffs with a stack-based limit, then I'm shifting into attack modifiers that enhance damage output through various mechanics like bonus damage thresholds, critical strikes, and ability charges. The equipment section covers active abilities with significant cooldowns that provide crowd control, summons, or team buffs, while the lunar items introduce high-risk high-reward tradeoffs like doubling damage at the cost of health, or converting healing into shields. Finally, the void items are starting to appear with their own unique implosion mechanics. oE damage
74. Singularity Band (void Runald's/Kjaro's) - hits above threshold create a black hole that pulls enemies in
75. Pluripotent Larva (void Dio's Best Friend) - on death, revive but consume one random item. Can trigger multiple times if you have multiple larvae.
76. Lysate Cell (void Fuel Cell) - gain extra special ability charge but deactivates your passive healing
**Meta/Stacking/Utility (~4):**
77. 57 Leaf Clover - all random effects (proc chances) are rolled an extra time, keeping the more favorable result. Doesn't change proc chances directly — just makes luck better.
78. Infusion - killing enemies permanently increases max HP up to a cap. Permanent stacking health from kills.
79. Wax Quail - while sprinting, jumping creates a horizontal speed boost. Movement modifier that activates under a specific condition.
80. Dio's Best Friend - on death, revive once with 3 seconds of invulnerability. Consumed on use. Single-use death prevention.
That's 80 items total, so I'll compile these into the final list.
Bash (wc -l E:/a327ex/Orblike/orbs/ability_reference.md)
1076 E:/a327ex/Orblike/orbs/ability_reference.md
Read (E:\a327ex\Orblike\orbs\ability_reference.md)
1073→While Isaac stands completely still and does not fire, he becomes invulnerable. Any movement, firing, or item use removes the invulnerability instantly. Rewards total inaction with total defense. Powerful with familiars and orbitals that deal damage without Isaac needing to act.
1074→
1075→**Crown of Light**
1076→While Isaac has no damaged red hearts (all heart containers are full), tears deal double damage and gain a diamond visual. Taking any damage to red hearts removes the bonus until fully healed. A conditional damage multiplier that rewards not getting hit — high upside with a fragile condition.
1077→
Edit (E:\a327ex\Orblike\orbs\ability_reference.md)
The file E:\a327ex\Orblike\orbs\ability_reference.md has been updated successfully.
Done — 80 Risk of Rain 2 entries appended. Here's the coverage:
Survivor Abilities (25):
- Rapid fire (auto-aim vs manual), channelled burst, bouncing glaive, teleport+AoE
- Weapon swapping (rapid/weak vs slow/strong), vehicle transformation
- Deployable mines, bubble shield, item-inheriting turrets
- Charge-stored fireballs, freeze-on-hit spear, ice wall terrain, channelled flamethrower
- 3-hit melee combo, untargetable slashing with kill-reset
- HP-cost-as-ammo attacks, AoE root zone
- Charge-punch with lunge, grapple hook pull-to-target
- Permanent poison (never expires), infectious spreading DoT
- Orbital strikes, permanent deployable beacons
- Scoped weak-point precision, involuntary corruption form-switching
On-Hit Items (12): delayed bomb, homing missile, chain lightning, bleed DoT, damage-threshold ice/fire procs, enemy clustering hook, crit→bleed→death explosion chain, permanent armor shred, kill-charge→hit-discharge, universal AoE explosion, delayed void burst
On-Kill Items (7): lava pillar, spreading fire + burning ground, chaining homing daggers, ghost ally spawning, orbiting ice storm, temporary barrier, elite-only execute
On-Damage-Taken (4): delayed heal, probabilistic block, rechargeable shield, debuff immunity charges
Attack Modifiers (8): first-hit bonus, proximity bonus, boss-only bonus, crit chance, crit→speed loop, crit→heal, extra ability charges, kill→cooldown reset
Equipment/Active (10): lightning strike, pulling+exploding orb, missile barrage, gravity well, drone summons, debuff cleanse+detonation, returning saw blade, portal pair, voodoo doll (fake kill trigger), team buff
Lunar (6): 2x damage / 0.5x HP, auto-activating equipment, HP→shields conversion, doubled but rate-limited healing, cooldowns vs luck tradeoff, ability replacement
Void (4): on-kill→on-hit conversion, threshold→black hole, revive consuming random item, ability charge for HP
Meta (4): universal luck amplifier, permanent HP from kills, conditional sprint-jump boost, single-use revive
Want to add another game, or is this corpus sufficient to start designing the ORBS category system?
Are there any other important build heavy action games missed? Just like the ones that come to mind and I'll pick if I agree that they could be useful.
[Think]
Let me think about build-heavy action games that we haven't covered yet. We have:
- Path of Exile (ARPG, skill gems + support gems)
- League of Legends (MOBA, champion abilities)
- Dota 2 (MOBA, hero abilities + items)
- The Binding of Isaac (roguelike, tear modifiers)
- Risk of Rain 2 (roguelike, survivor abilities + items)
What's missing?
**Roguelikes/Roguelites with build systems:**
- Hades / Hades 2 — boon system (gods grant ability modifiers), duo boons (combinations), weapon aspects
- Slay the Spire — card-based abilities, relics as modifiers (though it's turn-based, not action)
- Vampire Survivors — passive items that stack, weapon evolution system
- Dead Cells — weapons + mutations
- Enter the Gungeon — guns with unique mechanics, synergies
- Noita — wand building (spell composition system is deeply combinatorial)
- Nuclear Throne — mutations + weapon types
**ARPGs:**
- Diablo series (3/4) — skills + runes that modify skills, legendaries that change ability behavior
- Last Epoch — skill specialization trees that modify abilities
- Grim Dawn — devotion system and class combinations
**Other MOBAs:**
- Smite — third person perspective with similar design to LoL/Dota
- Heroes of the Storm — talent trees that modify abilities instead of traditional itemization
**Build-heavy action games:**
- Warframe — frames with 4 abilities, mods that modify stats/abilities, helminth system for ability swapping
- Destiny 2 — subclass abilities and exotic armor that changes how abilities function
- Monster Hunter — weapon variety but less ability-focused
**Auto-battlers and strategy:**
- Teamfight Tactics — synergy-based team composition
- SNKRX — the visual inspiration for Orblike, featuring class and synergy systems
**Others:**
- Terraria — massive weapon variety with unique mechanics
- Minecraft Dungeons — continuing to explore...
Now I'm thinking about what's actually missing from ORBS's design. Hades has this incredible boon system where each god's theme modifies your abilities in specific ways—Zeus chains lightning, Ares adds burn damage, Aphrodite weakens enemies—and combining two gods creates synergistic effects. That's exactly the kind of composition problem ORBS needs to solve. Vampire Survivors takes the opposite approach with extremely basic weapons that scale through items and evolve when you combine them with specific passives, which is elegant in its simplicity. And Noita's wand building system is probably the deepest ability composition ever made—you're slotting spell modifiers and projectiles into wands where order actually matters and each modifier affects the next spell in the chain.
Beyond those, Diablo 3 and 4 have skill runes that completely transform how abilities work, Heroes of the Storm's talent system is literally just "pick ability modifiers at each level," SNKRX is directly relevant since Orblike is styled after it with class synergies and passive effects, Slay the Spire shows how card and relic combinations create emergent gameplay even in turn-based systems, and Enter the Gungeon demonstrates gun synergies. I should present these options to the user and let them decide which direction feels right for ORBS.
Games that come to mind with build-heavy ability systems we're missing:
Hades — The boon system is very relevant. Each god modifies your abilities in a themed way (Zeus adds chain lightning to anything, Dionysus adds poison, Ares adds blade rifts). Duo boons combine two gods. It's one of the cleanest "ability modifier" systems in games. Hades 2 expands it further.
Vampire Survivors — Ultra-simple base weapons that stack and evolve. Weapons combine with specific passive items to transform into upgraded versions. Relevant for the "simple ability + modifiers = emergent complexity" pattern.
Noita — Wand building might be the deepest ability composition system in any game. Spells are slotted into wands in sequence, modifiers affect the next spell, triggers fire spells within spells. Order matters. Extremely compositional.
Diablo 3/4 — Skill runes that change an ability's behavior (Meteor becomes: fire, ice comet, molten boulder, etc.), legendaries that fundamentally alter ability mechanics ("your Hydra now casts your other spells").
Slay the Spire — Turn-based, but the card synergies and relic modifiers are deeply compositional. Might be less useful since it's not action.
SNKRX — Directly relevant since Orblike is styled after it. Class synergies, passive buffs based on unit composition.
Enter the Gungeon — Guns with unique mechanics plus a synergy system between guns and passive items.
Which of these (if any) feel worth adding to the reference?
Noita would be interesting and I've played it passingly, and SNKRX would be interesting since I made it. I think the other games cover all aspects of gameplay that SNKRX covers though, tell me if you agree or disagree. And as for Noita, do you think everything is covered or that it has unique enough ideas in it that other games missed?
[Think]
Let me think about both questions carefully.
**SNKRX:**
SNKRX's ability system is class-based synergies. You have units that each have a passive or active ability, and when you collect enough of a class, the class synergy activates. Let me think about what SNKRX has mechanically:
- Units auto-attack (they're on a snake that moves around)
- Each unit has a specific ability (some are projectile-based, some are AoE, some are buffs, etc.)
- Class synergies activate at thresholds (2/3/4 of a class)
- Classes include things like: Warrior (bonus damage), Mage (bonus AoE), Rogue (crit), Healer (party healing), Enchanter (buffs), Conjurer (summons), etc.
- Individual units can shoot projectiles, create damage zones, buff allies, heal, spawn minions, or apply debuffs
- Synergies stack these effects — like 3 Warriors boosting all damage or 3 Mages expanding ability areas
Looking at this, the core mechanics really do overlap with what PoE and other games already do. The projectiles, AoEs, buffs, debuffs, and summons are all present in those systems too.
What makes SNKRX distinct is the composition model — how you build synergies by collecting units of the same class. But that's more about the metagame and deck-building layer than the actual ability mechanics themselves. ORBS is supposed to describe the abilities, not the "collect 3 of a class" meta-system on top.
So the user has a point — SNKRX's mechanical space is already covered by existing games.
Now looking at Noita's wand building system, what actually stands out is the sequential spell casting mechanic. Spells slot into a wand in order and fire in that sequence, so the ORDER of your spells matters fundamentally. A wand with [Spark Bolt, Fireball, Spark Bolt] creates a specific firing pattern that's different from any other arrangement.
Then there are modifier spells that affect the NEXT spell in the sequence — so [Heavy Shot, Fireball] makes the fireball heavy, but [Fireball, Heavy Shot] leaves the fireball alone and modifies whatever comes after. It's all about positional composition.
Trigger spells add another layer: they cast the next spell in the wand at the point of impact, and you can nest them so a triggered bolt fires another triggered bolt that fires a nuke. And multicasts let you fire multiple spells simultaneously instead of sequentially.
Beyond that, there are timer spells for delayed casts, divide-by spells that split projectiles into copies, wand stats that affect all spells on the wand, and wrapping so the spell list loops if there are more casts remaining. What really sets this apart from other games is the sequential, positional nature of composition — modifiers apply to "the next thing" rather than globally, which is fundamentally different from how support gems work in Path of Exile.
The trigger nesting is also unique: you can chain triggers indefinitely (trigger → trigger → trigger → payload), whereas PoE's Cast on Crit only triggers a single linked spell. Multicast as a composable element is another distinction — firing multiple different spells simultaneously rather than duplicating the same spell like other games do. And delays work as modifiable elements too, letting you add timing to any spell in the sequence.
So while the individual spell effects themselves aren't novel, Noita's composition model — the sequential ordering, nested triggers, and heterogeneous multicast — is genuinely unique and directly relevant to what ORBS is trying to solve with orthogonal composition. The composition mechanics are what set it apart, not the base effects.
SNKRX: I agree. The individual unit abilities (projectiles, AoEs, buffs, heals, summons) are all covered by the other games. What's unique about SNKRX is the composition meta-layer — "collect 3 rogues to activate crit synergy" — but that's a build/team-composition system, not an ability system. ORBS would describe the abilities themselves, and those mechanics are already in the reference.
Noita: The individual spell effects (fireball, lightning bolt, explosion, heal) are covered. But Noita's composition model is genuinely unique and very relevant to ORBS. Specifically:
Sequential ordering — Modifiers apply to "the next spell in the wand," not to "all spells." Position matters. [Heavy Shot → Fireball] is a heavy fireball. [Fireball → Heavy Shot] is an unmodified fireball followed by a heavy nothing. No other game we've covered has positional/ordered composition like this.
Trigger nesting — "On hit, cast the next spell at the impact point." And you can chain them: [Trigger Bolt → Trigger Bolt → Nuke] fires a bolt that on hit fires another bolt that on hit detonates a nuke. Arbitrary nesting depth. PoE's Cast on Crit is a flat version of this, but Noita's is recursive.
Heterogeneous multicast — "Fire the next N spells simultaneously." Unlike GMP (which duplicates the same projectile), Noita's multicast fires different spells at once. [Double Cast → Fireball → Lightning] fires both simultaneously.
Timer as a composable element — Add a delay to any spell. The spell fires, waits, then the payload activates.
These are composition primitives — ways of connecting abilities together — rather than abilities themselves. They're directly relevant to ORBS's core "orthogonal composition" problem. I'd suggest documenting Noita not as 80 individual spells, but focused specifically on the composition mechanics: the modifiers, triggers, multicasts, timers, and how ordering works. Maybe 30-40 entries, weighted toward the connective tissue rather than the payloads. Sound right?
Let's not do that. I've decided to implement abilities first before focusing on the system itself. Plus, Noita's system is constrained in an important way I don't like which is that position matters in unintuitive ways.
[Think]
The user wants to skip Noita and move forward with implementing abilities rather than designing the system first. They also make a good point about Noita's positional ordering being unintuitive. This aligns with the ORBS development process described in ORBS.md: "implement real abilities, notice patterns, extract primitives, document everything."
So we have a solid reference corpus now:
- PoE: 30 active skills + 30 support gems
- LoL: 60 champion abilities
- Dota 2: 80 abilities (60 complex + 20 simple)
- Isaac: 80 items
- RoR2: 80 abilities/items
- Total: ~360 ability descriptions across 5 games
Now I should ask which ability they'd like to implement first for Orblike, following that same iterative approach.
Fair point — Noita's ordering is clever but often feels like a puzzle you solve by trial and error rather than intuitive composition. And the bottom-up approach makes sense: implement abilities, notice patterns, then extract the system. That's what ORBS.md prescribes anyway.
So we have ~360 ability descriptions across 5 games as reference material. What ability do you want to implement first in Orblike?
No, first, now let's do the ATTACK DESIGN REFERENCE-like approach. You'll look at all the abilities and extract similar tables to that of that document for them. Does it make sense? Before you do it, ask me any questions for further clarifications.
[Think]
The user wants me to create a reference document similar to EBB's ATTACK_REFERENCE.md, but for the ORBS system. I need to analyze all ~360 abilities across the 5 games and extract orthogonal dimensions/axes that can describe any ability by picking one from each column.
Let me re-read the EBB ATTACK_REFERENCE to remind myself of the format:
- Shapes (what the attack looks like spatially)
- Behaviors (how it operates over time)
- Triggers (what causes it to fire)
- Scaling (what changes as it powers up)
Each has an ID, a name, a description, and an example.
Now I'm identifying the key dimensions for ORBS by examining patterns across all 360 abilities. The trigger/activation axis is foundational—I need to capture whether abilities fire manually, on timers, when hitting enemies, on kills, when taking damage, on critical strikes, or through continuous/conditional mechanics.
For targeting and delivery, I'm mapping out how abilities select their targets and reach them—from skillshots and ground-targeted abilities to auto-targeting systems, and how the effects travel whether as projectiles, beams, cones, or area effects.
Now I'm thinking through the different delivery shapes beyond what I've covered—circular areas, expanding rings, radiating novas, persistent zones, melee range, chains that bounce between enemies, teleports, deployables, orbiting effects, and terrain manipulation. Then there's the hit behavior layer, which determines what happens on contact: whether it's consumed on a single target, pierces through, splits into new projectiles, bounces, explodes on impact, chains to nearby targets, sticks and delays, or applies crowd control and damage-over-time effects.
For duration and lifecycle, I'm considering whether effects are instant, brief flashes, persistent for a set duration, permanent until destroyed, channeled while held, or charge-based with limited uses. And then there's the secondary layer—what triggers on hit, on kill, or on expiry, like spawning new projectiles, chaining to nearby enemies, applying DoTs, creating AoE explosions, summoning allies, or buffing and debuffing.
The real question is whether these dimensions are truly independent—can I actually pick one option from each category and describe any ability coherently, or do some combinations not make sense together?
Let me test this framework against some real abilities. Fireball in Path of Exile is manually triggered, aimed in a direction, travels as a projectile, explodes on impact for area damage, and hits instantly. Thresh's hook in League is also manually triggered and aimed, but it pulls and stuns the target briefly, with a secondary mechanic letting you recast to dash to them. Brimstone from Isaac uses a charge-and-release trigger, aims in a direction, fires as a piercing beam, and lasts briefly. The Ukulele from Risk of Rain 2 triggers on hit with a chance, targets the nearest enemies, chains lightning between them, and applies instantly.
I'm noticing that some abilities fit neatly into this framework, but others are messier—like Zed's ultimate which involves dashing, marking, and then detonating based on damage dealt during a window, or Winter Orb which channels to build stages before auto-firing. I should probably ask the user whether they want me to force every ability into exactly one option per dimension like the EBB system allows, or if it's fine for some abilities to combine multiple entries from the same column. I also need to clarify how many dimensions I should be working with overall. BB has 4 (Shape, Behavior, Trigger, Scaling). ORBS probably needs more since it's more general. But more columns means more complexity.
3. Should the reference cover ability MODIFIERS (support gems, Isaac items, RoR2 items) as well, or only base abilities? Modifiers might need their own set of tables describing what axis they modify.
4. How granular should the types be? EBB has ~19 shapes. Should ORBS have similarly sized lists per dimension, or can they be larger?
5. The EBB document has a "Scaling" dimension that's specific to that game (what changes per hit). For ORBS, should there be an equivalent? Scaling might be game-specific rather than universal.
The most critical questions are whether modifiers should get separate tables or integrate with ability tables, how to handle complex multi-phase abilities like Zed's dash-mark-detonation sequence, and whether every ability needs to fit the framework or if some outliers can exist outside it. Since the user wants a table format similar to EBB with IDs, names, descriptions, and examples covering all reference abilities, I should ask these key design questions concisely.
Makes sense — decompose all ~360 abilities into orthogonal dimensions, each with a typed menu, EBB-style tables. A few questions before I start:
Modifiers as a separate set of tables or integrated? EBB only has "attacks." But our reference includes ability modifiers (PoE support gems, Isaac tear modifiers, RoR2 on-hit items). Should modifiers get their own tables describing what axis of an ability they change (e.g., "changes delivery from single-target to AoE," "changes trigger from manual to on-crit")? Or should everything be in one unified set of tables?
Multi-phase abilities — Some abilities have distinct phases: Zed R is dash → mark → delayed detonation based on damage-during-window. Sand King R is channel → expanding pulses. Should the system support describing phases/sequences, or should we treat each ability as a single entry picking from each column (with some column entries being "compound" types like "channel-then-release")?
Completeness goal — Should every single ability in the reference be describable by the tables? Or is it OK if some outliers (Invoker's 10-spell combinatorial system, Aphelios's 5-weapon cycling) are flagged as "meta/system-level" and fall outside the table structure?
Scaling column — EBB has a "Scaling" dimension (what visually changes as weapon powers up). Should ORBS have an equivalent, or is scaling too game-specific to be universal? I lean toward dropping it since what scales depends on the game's progression system.
- Let's discuss this further after my other answers.
- Each phase should be described as its own ability, and then we should have a "staged" subtype that allows for such abilities in some detail. However, because the tables have low detail in general we don't need to dwell on this that much. The goal of the tables is describing how abilities work at a high-level primarily, so I think going for individual + staged is a good level of abstraction. Although your idea of doing it specific, like channel-then-release types, is interesting too. Maybe you should give me an example of 10 such abilities and how you'd classify them so I can see in more detail.
- Yes. For the outliers they should be noted as such, but there should also be an attempt to classify their workings. Invokers, for example, uses a charge-like system, right? Many abilities use things like charges, his is just a variation of that, if I remember correctly.
- No scaling or damage for now, this is very high level.
[Think]
The user wants me to:
1. Defer modifier discussion for later
2. Show 10 example multi-phase abilities and how I'd classify them, to help decide the approach
3. Cover outliers but still attempt to classify them
4. No scaling/damage columns
Let me pick 10 multi-phase abilities and show how I'd classify them. The question is whether to describe phases as separate abilities linked by a "staged" subtype, or use compound types like "channel-then-release."
Let me pick diverse multi-phase examples:
1. **Zed R (Death Mark)** — dash to target → mark applied → 3 seconds of damage tracking → mark detonates for % of damage dealt
2. **Sand King R (Epicenter)** — channel for several seconds → release expanding pulses
3. **Varus Q (Piercing Arrow)** — hold to charge (range/damage increase) → release to fire
4. **Brimstone (Isaac)** — hold to charge → release beam
5. **Oracle R (False Promise)** — buff applied → all damage/healing delayed → resolved at end
6. **Winter Orb (PoE)** — channel to build stages → stop channelling → orb auto-fires, stages decay
7. **Lee Sin Q (Sonic Wave/Resonating Strike)** — skillshot mark → re-cast to dash to target
Now I'm adding a few more outliers to round out the set and see how the classification handles edge cases.
Looking at these abilities, I can see some clear patterns emerging. The main distinction seems to be between abilities that require you to hold or channel something versus those that have a mark-and-recast structure. I'm thinking about how to group these into meaningful categories that capture the core mechanic rather than just the surface-level interaction.
The hybrid approach might work best—I could use a few key compound types like "channel-release," "mark-recast," and "accumulate-discharge" to cover most cases, then add phase descriptions only when an ability has distinct enough stages that they need separate treatment. That way I'm not over-complicating simple abilities while still capturing the nuance of the more complex ones.
Let me organize the 10 examples in a table format showing how each would be classified across the main dimensions: trigger, targeting, delivery, hit behavior, and the behavior pattern itself. This should give the user a clear picture of how the classification system actually works in practice.
Here are 10 multi-phase abilities with proposed classifications. I'll show two approaches side by side for each — a compound type (one entry per ability) and a staged decomposition (phases as separate entries) — so you can see which feels right.
1. Varus Q — Piercing Arrow (charge increases range+damage, release fires)
Compound: Trigger: Hold-to-charge / Delivery: Line — the charge-and-release IS the behavior
Staged: Phase 1 = Channel (self-root, accumulate range+damage), Phase 2 = Release (line skillshot, piercing)
2. Sand King R — Epicenter (channel, then expanding pulses on release)
Compound: Trigger: Channel-then-release / Delivery: Expanding ring (multiple)
Staged: Phase 1 = Channel (stationary, interruptible), Phase 2 = Expanding pulses (auto, can't be stopped once released)
3. Brimstone (Isaac) (hold fire to charge, release fires beam)
Compound: Trigger: Hold-to-charge / Delivery: Beam (piercing)
Staged: Phase 1 = Charge (self-root), Phase 2 = Beam (line, piercing, brief)
4. Lee Sin Q — Sonic Wave / Resonating Strike (skillshot, then recast to dash to marked)
Compound: Trigger: Manual / Behavior: Mark-then-recast / Delivery: Projectile → Dash-to-mark
Staged: Phase 1 = Projectile (line skillshot, marks first enemy hit), Phase 2 = Recast: Dash (to marked target, deals damage)
5. Zed R — Death Mark (dash to target, mark tracks damage, detonates after delay)
Compound: Hard to fit cleanly — three distinct phases with different mechanics Staged: Phase 1 = Dash (to target, untargetable during), Phase 2 = Mark (debuff: tracks all damage dealt for 3 seconds), Phase 3 = Detonation (burst damage = % of tracked damage)
6. Oracle R — False Promise (buff ally, delay all damage/healing, resolve at end)
Compound: Trigger: Manual / Targeting: Ally / Behavior: Delayed-resolution — maybe a single compound type
Staged: Phase 1 = Buff (target becomes invisible, all incoming damage/healing hidden), Phase 2 = Resolution (all accumulated damage and healing applied at once, healing doubled)
7. Winter Orb (PoE) (channel builds stages, then auto-fires projectiles while stages last)
Compound: Behavior: Channel-to-charge, auto-fire-on-release — getting unwieldy as a single type
Staged: Phase 1 = Channel (build stages on orb), Phase 2 = Auto-fire (orb fires homing projectiles at rate proportional to stages, stages decay over time)
8. Anti-Gravity (Isaac) (tears hover in place, launch forward when fire key released)
Compound: Behavior: Accumulate-then-release / Delivery: Projectile (delayed launch)
Staged: Phase 1 = Place (tears hover at fire positions, accumulating), Phase 2 = Release (all accumulated tears launch forward simultaneously)
9. Blade Flurry (PoE) (channel rapid strikes building stages, release for AoE burst)
Compound: Behavior: Channel-then-release — but the channel itself deals damage AND builds stages, and the release is a different shape
Staged: Phase 1 = Channel (rapid melee strikes in aimed direction, build stages), Phase 2 = Release (AoE burst centered on self, damage scales with stages)
10. Preon Accumulator (RoR2) (charge briefly, fire ball that pulls enemies, ball detonates)
Compound: Behavior: Charge → Projectile → Detonation — three distinct phases again
Staged: Phase 1 = Charge (brief windup), Phase 2 = Projectile (slow-moving, pulls nearby enemies toward it), Phase 3 = Detonation (AoE explosion at final position)
What I notice:
Abilities 1-3 (Varus Q, Sand King R, Brimstone) fit cleanly as compound types — "hold-to-charge" and "channel-then-release" are common enough patterns that they work as single behavior types.
Abilities 4 and 8 (Lee Sin Q, Anti-Gravity) fit as compound types too — "mark-then-recast" and "accumulate-then-release" are clean patterns.
Abilities 5, 6, 7, 9, 10 (Zed R, Oracle R, Winter Orb, Blade Flurry, Preon Accumulator) are where compound types get strained — the phases have genuinely different mechanics (different deliveries, different targeting, different effects).
My instinct: use compound types for the common patterns (channel-then-release, hold-to-charge, mark-then-recast, accumulate-then-release) and staged decomposition for abilities where the phases are mechanically distinct enough that a compound type would be misleading. Maybe 70% of multi-phase abilities fit a compound type and 30% need staging.
Does this help clarify the direction, or would you rather go all-in on one approach?
Yes, this makes sense. As for 1, can you explain your question in more detail, perhaps with examples?
[Think]
The user wants me to elaborate on question 1: whether modifiers should be in separate tables or integrated with abilities. Let me think about this with concrete examples.
The question is: when we have something like PoE's Greater Multiple Projectiles (GMP), which takes any projectile ability and makes it fire multiple projectiles in a fan — how does that fit into the tables?
**Option A: Integrated**
GMP would appear as a Delivery type. So in the Delivery column, you'd have:
- D1: Single projectile
- D2: Multiple projectiles (fan)
- D3: Beam
- etc.
And an ability like Fireball would be classified as D1 (single projectile) by default, but WITH GMP it becomes D2 (multiple projectiles fan). The modifier essentially changes the ability's classification from one entry to another within the same column.
Similarly, Chain support would be a Hit Behavior type where an ability moves from H1 (destroyed on hit) to H3 (chains to nearby enemies) when the modifier is applied.
**Option B: Separate tables**
Instead, modifiers could have their own dedicated tables that describe what they change — like "Changes Delivery" for GMP and Volley, or "Changes Hit Behavior" for Chain and similar effects.
**Option C: Modifiers are just entries in the same columns**
All possible states live in the same columns, whether an ability starts with that delivery or gains it through a modifier. The modifier simply moves an ability from one entry to another within the existing classification.
Now I'm trying to figure out which approach works best for ORBS specifically.
The real distinction seems to be that some modifiers shift an ability between existing column entries—like how Greater Multiple Projectiles changes delivery from single to multi-projectile—while others introduce entirely new triggered effects that weren't there before, like Ukulele adding chain lightning on hit. Then there are modifiers that fundamentally alter the trigger condition itself: Cast on Crit transforms a manual spell into one that triggers on critical strikes, Spell Totem converts self-cast into a deployable entity, and Trap changes direct casting into proximity-triggered activation.
Sure. The question is about how to handle things like PoE's GMP, Chain, Spell Totem, RoR2's Ukulele, Isaac's Spoon Bender, etc. — things that modify existing abilities rather than being abilities themselves.
Example: the Delivery column. Say it has entries like:
| ID | Delivery | Description |
|---|---|---|
| D1 | Single projectile | One projectile in a line |
| D2 | Multi-projectile (fan) | Multiple projectiles in a spread |
| D3 | Beam | Instant line, no travel time |
| D4 | Projectile (homing) | Projectile curves toward target |
PoE's Fireball is D1 by default. With GMP, it becomes D2. With Spoon Bender in Isaac, tears become D4. The modifier's job is to move an ability from one entry to another within a column.
That's straightforward — modifiers just reference the same tables. But there are three different kinds of modification happening:
Kind 1: Swap within a column. GMP changes Delivery from D1→D2. Isaac's Rubber Cement changes Hit Behavior from "destroyed on hit" to "bounces off walls." These fit naturally in the existing tables — the modifier says "change column X from type A to type B."
Kind 2: Add a new triggered ability. RoR2's Ukulele adds "on hit → chain lightning." PoE's Combustion adds "on fire hit → apply fire resistance debuff." These aren't changing the original ability's classification — they're attaching a new ability triggered by an event from the original. Ukulele is itself an ability (chain lightning) with a trigger (on hit).
Kind 3: Change the fundamental frame. PoE's Spell Totem changes "player casts spell" to "deployable entity casts spell autonomously." Trap changes "direct cast" to "placed on ground, proximity triggered." These change who performs the ability and how it's activated — potentially moving entries across multiple columns at once.
So the question is:
Integrated approach: The tables have all possible states. Modifiers are just described as "moves from X to Y in column Z." No separate modifier tables needed. Kind 2 modifiers (add triggered effects) are just new abilities with trigger type "on hit" or "on kill."
Separate approach: Abilities get one set of tables. Modifiers get their own table listing what axis they modify and how. This makes the modifier-as-a-concept explicit — you can look at the modifier table and see "here are all the ways abilities can be changed."
Concrete example to show the difference:
Integrated: Fireball = Trigger: Manual, Delivery: Single Projectile, Hit: AoE Explosion. Fireball+GMP = Trigger: Manual, Delivery: Multi Projectile (fan), Hit: AoE Explosion. GMP doesn't appear in any table — it's just the act of changing D1 to D2.
Separate: Fireball is classified in the ability tables. GMP appears in a modifier table: Axis: Delivery, Change: Single → Multi (fan), Constraint: Projectile abilities only. The modifier table is its own reference.
Which feels more useful to you?
Let's have a separate table. But due to the nature of modifiers, we'll be able to come up with new ones pretty easily ourselves, I think, once we have all the tables for most effects. So the modifier table should be framed more as an (exhaustive) instruction manual for the creation of further modifiers. Makes sense?
[Think]
The user wants:
- Separate modifier table
- The modifier table should be framed as an exhaustive instruction manual for creating modifiers - essentially documenting all the axes along which abilities CAN be modified, so that creating new modifiers is just a matter of picking an axis and defining the change
This makes a lot of sense. Instead of listing every specific modifier (GMP, Chain, Fork...), the modifier table would list all the *modification axes* — every dimension of an ability that CAN be changed. Then any specific modifier is just an instance of changing one (or more) of those axes.
For example:
- "Delivery can be changed from single to multi" — that's the axis. GMP, 20/20, Inner Eye are all instances.
- "Hit behavior can be changed from consumed to chaining" — that's the axis. Chain support, Ukulele, Jacob's Ladder are instances.
- "Trigger can be changed from manual to on-event" — that's the axis. Cast on Crit, Cast when Damage Taken are instances.
So the modifier table would have columns for the axis, the modification type, the transformation, and examples. This approach is exhaustive because it captures every possible dimension an ability can be modified along, not just the modifiers that currently exist in games.
Now I'm ready to build out the actual ability tables. Looking at all the abilities across the five games, I can see several key dimensions that define how abilities work. The first major one is trigger type — what actually initiates the ability, whether that's a manual input, holding to charge, channeling, toggling, or various passive and reactive triggers. The second dimension is targeting, which determines how the ability selects its targets.
Now I'm mapping out the delivery mechanics — the spatial patterns and paths abilities can take, from simple projectiles to multi-hit spreads and beams. Now I'm mapping out the hit behaviors and effects — what happens when an ability connects with a target, whether it sticks around, applies debuffs or crowd control, and what the actual impact is, ranging from direct damage and healing to more exotic effects like stasis, ability theft, or resource generation.
I'm realizing I need to separate the temporal patterns from the triggers themselves. The EBB framework distinguishes between shapes (spatial), behaviors (temporal), triggers (what causes activation), and scaling. So behaviors describe how an ability unfolds over time — whether it fires instantly, persists for a duration, channels while held, charges up, or repeats on a timer, with some abilities weakening as they travel or decay over their lifetime. what changes (we're skipping this)
So the EBB has three main axes (ignoring scaling). For ORBS I think the axes are:
1. **Trigger** — What causes the ability to activate
2. **Targeting** — How it selects where/who to affect
3. **Delivery** — The spatial shape/path of the effect
4. **Hit Behavior** — What happens when it contacts a target
5. **Effect** — What the ability does (the "payload")
6. **Behavior/Lifecycle** — Temporal pattern (how it operates over time)
That's six dimensions, so I need to figure out if any collapse together. Trigger and Behavior/Lifecycle seem related since things like channeling or charge-and-release are both triggers and temporal patterns. But actually, they're orthogonal in EBB — the trigger is the condition that fires the ability, while behavior is the temporal pattern once it's active. A timer trigger paired with burst behavior means "every N seconds, fire a burst," whereas a raycast trigger with single behavior means "when aimed at something, fire once." I need to distinguish between Hit Behavior—what happens to the projectile on contact like piercing, splitting, or exploding—and Effect, which is what actually happens to targets like damage or stun. These are orthogonal concepts, so they should be separate columns in my framework.
Now I'm second-guessing whether six columns is too many compared to EBB's three. Let me check if Targeting and Delivery can merge since they both describe how an effect reaches its target, but actually they're independent—you can have aimed targeting with a projectile or a beam, and auto-targeting with either delivery type, so they need to stay separate.
I think the structure works. Let me confirm my understanding with the user and ask if they want me to start building the tables now, or if there are other clarifications needed first.
Yes, that makes sense. The modifier table would document all the axes along which abilities can be modified exhaustively — every knob you can turn, every dimension you can swap. Then creating a new specific modifier is just "pick an axis, define the from→to change." The table is the grammar, specific modifiers are sentences.
So something like:
| Axis | Modification Type | Description | Examples from reference |
|---|---|---|---|
| Delivery | Single → Multi (fan) | One projectile becomes several in a spread | GMP, 20/20, Inner Eye |
| Delivery | Single → Multi (nova) | One projectile becomes many in all directions | Ethereal Knives-style |
| Hit Behavior | Consumed → Pierce | Projectile passes through instead of stopping | Pierce support, Spectral Throw |
| Hit Behavior | Consumed → Chain | Projectile jumps to next target | Chain support, Ukulele |
| Hit Behavior | Consumed → Split | Projectile spawns new projectiles on hit | Fork, Cricket's Body, Parasite |
| Trigger | Manual → On-event | Ability fires automatically on a game event | Cast on Crit, Cast when Damage Taken |
| Caster | Self → Deployable | A placed entity performs the ability instead of the player | Spell Totem, Engineer turrets |
| ...etc |
And because it's exhaustive, you could look at any axis and ask "what else could we change here?" to invent new modifiers. Ready for me to build the full tables now?
Not exhaustive in the sense that you should pre-emptively try for all types of modifications ever possible, but exhaustive in that it covers every one of the modifiers that exist in the example games. So the right-most colums, examples from reference, should never be empty.
[Think]
Got it — the modifier table should cover every modifier that exists in our reference games, organized by axis. Every row should have concrete examples from the games we documented. No speculative "this could exist" entries.
The user wants me to proceed now. Let me build the full tables:
1. Ability tables (Trigger, Targeting, Delivery, Behavior, Hit Behavior, Effect)
2. Modifier table (axis, modification type, description, examples from reference)
Let me think about the columns carefully and what types I need for each.
**Trigger — What condition activates the ability:**
- T1: Manual (click/keypress) — Fireball, Ezreal Q, most active abilities
- T2: On-hit — Ukulele, Sticky Bomb, ATG Missile, Tri-Tip Dagger, Jacob's Ladder, Shatterspleen
- T3: On-kill — Will-o'-the-Wisp, Gasoline, Ceremonial Dagger, Guppy, Athame, Infestation 2
- T4: On-crit — Predatory Instincts, Harvester's Scythe, Shatterspleen
- T5: On-damage-taken — Cast when Damage Taken, Medkit
, Tougher Times, Holy Mantle, Abaddon R
- T6: Periodic/timer — Storm Brand pulses, Techies mines, Engineer turrets
- T7: Passive (always active) — Vayne W, Righteous Fire, Drow Ranger Frost Arrows, Bloodseeker Thirst
- T8: Conditional/threshold — Runald's/Kjaro's Band, Abaddon R, Annie passive
- T9: Accumulation — Annie passive, Nasus Q, Resonance Disc, Balloon in EBB
- T10: Reactive (in response to enemy action) — Fiora W, Sivir E, Nyx Spiked Carapace, Blade Mail
- T11: Proximity — Bear Trap
I'm noticing some overlap here—Annie passive fits both accumulation and conditional categories since it triggers after 4 spells. But I think they're distinct enough: conditional is about a state being true in the moment, while accumulation is about reaching a threshold after multiple events. Runald's Band is purely conditional on damage, whereas Annie's stun requires building up spell casts. I should also consider proximity-based triggers like Bear Trap as its own category since that's mechanically different from the others.
Now I'm thinking about on-death triggers—abilities that activate when a unit dies, like Dead Cat or Zilean's ultimate. And then there are the always-active abilities like Engineer turrets that just fire periodically without needing a trigger. I'm getting tangled up trying to categorize everything, so let me step back and focus on the core trigger types that actually matter: manual activation, on-hit, on-kill, on-crit, on-damage-taken, and periodic firing.
Now I'm expanding the trigger list with proximity-based effects, conditional triggers tied to game state thresholds, accumulation counters, on-death mechanics, reactive abilities that respond to incoming threats, and passive effects that need no trigger at all. Then there's the targeting system—I need to distinguish between aimed directions, ground-targeted locations, point-and-click unit selection, self-centered effects, auto-targeting the nearest enemy, area effects, global abilities, random targeting, and abilities that don't require targeting at all. I'm noticing some overlap between aimed direction and mouse position that I should clarify.
I'm consolidating the targeting options into a cleaner set: player-aimed directions, player-aimed ground points, targeted enemies or allies, self-centered effects, auto-targeting systems, area-of-effect abilities, global effects, and random selection. Now I'm moving into delivery mechanisms—how the ability actually manifests, starting with single projectiles, multi-projectile spreads in fan or nova patterns, arcing projectiles, homing projectiles, returning projectiles, orbiting projectiles, and slow-moving variants.
Continuing through the delivery types: persistent beams, instant lines, cones, instant circles, expanding rings, persistent ground zones, persistent lines, melee hits, chain bounces, dashes, teleports, tethers, attached brands that pulse, deployables, terrain creation, auras, and walls. This list is getting unwieldy, so I should focus on what actually matters for the game and start building out the reference tables with the mechanics that are most relevant.
I'm going to structure this as a comprehensive classification system with separate tables for triggers, targeting, delivery methods, temporal behavior, hit effects, and modifiers. Then I'll validate the whole thing by showing how several abilities from the reference map onto these categories to prove the system works.
Generating markdown table... Generating trigger classification table... I'm reconsidering T13 — Mirage Archer and Maw of the Void don't quite fit the same trigger pattern. Mirage Archer activates when you use a bow skill and spawns a familiar, while Maw of the Void builds up over sustained fire and then releases an AoE ring. The second one feels more like an accumulation mechanic than a simple ability-use trigger, so I should probably move it into the conditional or threshold category instead.
Spell Echo and Multistrike are also ability-use modifiers rather than triggers in the traditional sense — they repeat the ability rather than create a separate effect. I think I should drop T13 entirely and either fold these into existing categories or note them separately as modifiers.
Now I'm shifting focus to map out the behavior table, starting with the core categories like instant effects, persistent durations, and channeled abilities.
Generating behavior table... Generating targeting table... Looks like Soraka R got removed to make space. Let me reconsider what global ally abilities we actually have — Gorag's Opus from Risk of Rain 2 is one, but I'm struggling to find others in the Dota reference set. I should double-check if there are any I'm missing, maybe Ogre Magi has something.
Actually, Ogre Magi's Bloodlust affects nearby allies through multicast, but that's area-based rather than truly global. I'm thinking I should either merge this with the global enemies category or just note that we have limited examples. Let me consolidate A9 to cover all global effects regardless of whether they hit enemies or allies — that gives me Karthus R, Zeus R, Gorag's Opus, and Silencer R as solid examples.
Now I'm wondering about random targeting mechanics — whether anything in the pool targets randomly. Crystal Maiden's ultimate has random explosion placement, Luna Eclipse fires at random nearby enemies, and Loki's Horns shoots in random directions.
Generating markdown table... Generating the ability classification table... I'm continuing through the ability categorization, looking at movement and positioning mechanics like dashes that travel to a location while applying effects, instant repositioning without travel time, placed entities that operate independently, terrain creation that blocks movement, and tether connections between units. I'm noticing that Beam and Line AoE are overlapping categories—a beam hits instantly along a line, while something like Macropyre is a persistent ground zone shaped like a line. Lux's ultimate complicates this since it's an instant line AoE with a cast time but no persistent effect. I should probably consolidate these and just note that beams are line-shaped instant hits. I'm also questioning whether Rectangle AoE is truly distinct from Circle AoE, or if they're both just variations of the same area-effect concept.
Looking at the scope, my Delivery table with around 25 entries is reasonable compared to the EBB's Shape table with 19 entries. I'll remove D27 since beams already cover instant lines and ground zones cover persistent ones, but I'll keep Rectangle AoE since it appears in our game even if it's not universal.
Generating markdown table... Generating markdown table...
Actually, I'm realizing H12 is too broad—almost every ability applies some effect on hit. Hit Behavior should describe what happens to the delivery mechanism itself when it contacts something, not what the target experiences. That means H9 Pull/displace is also misplaced since it's about target displacement rather than projectile behavior. Let me clean this up by removing H12 and reconsidering where H9 belongs.
Wait, though—H9 is specifically about the hit causing displacement through the delivery mechanism, like a hook pulling. And H7 Explode creates a new AoE at the contact point. These are spatial consequences of the hit itself, not effect payloads like damage or debuffs. So they belong in Hit Behavior as the spatial effects that occur at contact, separate from the effect table's damage and status changes. , this works. Let me finalize Hit Behavior:
H1 | Consumed | Destroyed on first hit
H2 | Pierce | Passes through, hits all in path
H3 | Chain | Jumps to next enemy
H4 | Split/Fork | Creates new projectiles on hit
H5 | Bounce (terrain) | Reflects off walls/obstacles
H6 | Bounce (ground) | Skips off ground, multi-hit
H7 | Explode | AoE burst at impact
H8 | Stick | Attaches, delayed detonation
H9 | Displace | Moves target on contact (pull, push, swap)
H10 | Block projectiles | Destroys enemy projectiles on contact
H11 | Screen-wrap | Passes through screen edges
H12 | Persistent contact | Hits repeatedly while in range (Ball Lightning, Cyclone)
I was thinking about adding a "return to sender" behavior, but that's actually not a hit behavior at all—it's a triggered effect that happens in response to something else. Nyx's Carapace and Lotus Orb both work by having a reactive trigger that fires back, not by changing how the incoming attack itself behaves. So I should drop H13 and keep hit behavior focused on what happens to the projectile on impact.
Now I'm building out the effect table to categorize what actually happens when abilities trigger—direct damage, damage over time, healing, shields, buffs, and so on. I'm continuing through the crowd control effects and realizing I missed Heaven's Halberd in the disarm category. Moving on to cover charm effects that force target movement, polymorph transformations, sleep states, suppression abilities that completely disable targets, and displacement mechanics like hooks and swaps. Generating ability effect table... I'm seeing the rest of the vision and cooldown mechanics, plus some permanent scaling and transformation effects. The table is definitely getting unwieldy—I've got a lot of granular distinctions here like Sleep versus Stun versus Root that matter mechanically for how ORBs interact with them, but I'm wondering if I should consolidate some of these categories to keep things more manageable.
I'm thinking about grouping the crowd control effects into broader buckets: movement-based ones like stuns and roots, action-prevention ones like silence and disarm, and forced-action ones like charm and fear. But honestly, I might be overthinking this—the table's already pretty comprehensive and maybe I should just accept that some effects need their own entries rather than forcing everything into neat categories. I'm adding more effect categories like damage reflection, stealth, ability theft, transformation, cooldown manipulation, and permanent stacking. But I'm realizing that grouping stun and polymorph together as "hard CC" loses important mechanical distinctions—polymorph allows slow movement while stun completely locks the target down. For ORBS's purposes though, I think broader categories work better as the high-level classification, with the specific mechanic as a parameter underneath. Let me just commit to this approach and start writing out the document with comprehensive tables.
Makes perfect sense. The modifier table documents every observed modification type with grounded examples — it's a reference for what has been done, which naturally becomes a generative tool for what could be done since you can see the patterns.
Let me build the full tables now. I'll save it as a separate document.
This session is being continued from a previous conversation that ran out of context. The summary below covers the earlier portion of the conversation.
Analysis: Let me go through the conversation chronologically:
Opening: User says "We have the basics needed to start work on the abilities for Orblike. Get acquainted with the project first." Per CLAUDE.md instructions, I read three files: Orblike/ORBS.md, Anchor/docs/FRAMEWORK_API_QUICK.md, and Orblike/main.lua.
User's first design discussion: User wants to discuss what ORBS should capture for the projectile ability. They mention "click", "spawn projectile", "mouse direction/angle". I analyzed what the ability decides vs what the game decides (visual/feel).
User redirects approach: "Let's try a different approach. Let's try creating something similar to the ATTACK DESIGN REFERENCE document in EBB." I found and read emoji-ball-battles/docs/ATTACK_REFERENCE.md and emoji-ball-battles/reference/attack-design-space.md. The EBB reference breaks weapons into 4 orthogonal dimensions: Shape, Behavior, Trigger, Scaling.
User wants ability corpus first: "Can we figure out if you can generate a text version of ALL abilities in a single game?" Wants to use wiki/knowledge to get abilities from games, then design the system by picking specific abilities and ensuring they can be described. Starts with PoE.
10 PoE active skills sample: User approves the format — name, tags, mechanical description focusing on logic.
10 PoE support gems sample: User approves this too.
30+30 PoE skills: User asks for 30 active + 30 support, saved to orbs/ability_reference.md.
User asks to open document: I open it in NeoVim with MarkdownPreview.
60 LoL champion abilities: User says "Do league next. 60 champion abilities." Specified: "Do not compare design ground covered with previous games, treat the design ground from each game individually."
Discussion about items vs support gems: User asks if items in League/Dota/RoR2 serve same purpose as PoE support gems. I broke down into 6 categories: ability modifiers, triggered effects, active abilities from items, ability replacements, stat modifiers, meta-modifiers.
User narrows focus: "Let's focus on abilities and ability modifiers only. If the abilities/ability modifiers appear in characters or items it's irrelevant." Asks if LoL items would add anything — I say no, champion abilities cover LoL's design space well.
Dota 2 — 60 abilities: Including items like Blink Dagger as abilities. User then asks for 20 more simpler "bread and butter" abilities (beams, projectiles, simple AoEs).
Isaac — 80 items: Covering tear replacements, path modifiers, on-hit modifiers, pattern modifiers, familiars, orbitals, on-kill effects, on-hit-taken effects, actives, death prevention, conditional.
RoR2 — 80 abilities/items: Covering survivor abilities, on-hit items, on-kill items, on-damage-taken items, attack modifiers, equipment, lunar items, void items, meta modifiers.
Other games discussion: I suggest Hades, Vampire Survivors, Noita, Diablo 3/4, Slay the Spire, SNKRX, Enter the Gungeon. User asks about SNKRX and Noita specifically.
SNKRX: User asks if other games cover SNKRX's mechanics. I agree they do — SNKRX's unique contribution is the composition meta-layer, not individual ability mechanics.
Noita: I identify unique composition mechanics (sequential ordering, trigger nesting, heterogeneous multicast, timer as composable). User decides NOT to do Noita — "I've decided to implement abilities first before focusing on the system itself. Plus, Noita's system is constrained in an important way I don't like which is that position matters in unintuitive ways."
ATTACK DESIGN REFERENCE creation: User says "now let's do the ATTACK DESIGN REFERENCE-like approach. You'll look at all the abilities and extract similar tables." Before proceeding, I ask clarification questions.
User answers to my questions:
- Q1 (modifiers integrated or separate): "Let's discuss this further after my other answers"
- Q2 (multi-phase): "Each phase should be described as its own ability, and then we should have a 'staged' subtype" — asks for 10 examples first
- Q3 (completeness): "Yes. For the outliers they should be noted as such, but there should also be an attempt to classify their workings."
Q4 (scaling): "No scaling or damage for now, this is very high level."
10 multi-phase ability examples: I show compound type vs staged decomposition for 10 abilities. User agrees with the hybrid approach.
Modifier table discussion: User asks me to explain Q1 in more detail. I give concrete examples of Kind 1 (swap within column), Kind 2 (add triggered ability), Kind 3 (change fundamental frame). User says: "Let's have a separate table" and importantly: "the modifier table should be framed more as an (exhaustive) instruction manual for the creation of further modifiers."
Clarification on exhaustive: User corrects: "Not exhaustive in the sense that you should pre-emptively try for all types of modifications ever possible, but exhaustive in that it covers every one of the modifiers that exist in the example games. So the right-most columns, examples from reference, should never be empty."
I create ability_design_reference.md: With 6 ability tables (Trigger, Targeting, Delivery, Behavior, Hit Behavior, Effect), a Modifier Reference with sub-tables (Delivery Modifiers, Hit Behavior Modifiers, Trigger Modifiers, Behavior Modifiers, Effect Modifiers, Area Modifiers, Resource Modifiers, Speed Modifiers, Caster Modifiers), Classification Examples showing how abilities map to the tables, and a Design Checklist.
Files created/modified: - E:\a327ex\Orblike\orbs\ability_reference.md — ~360 ability descriptions across 5 games - E:\a327ex\Orblike\orbs\ability_design_reference.md — the ORBS design reference tables
The user has NOT yet reviewed the ability_design_reference.md document. I wrote it and the conversation ends with me having just created it. I didn't open it for the user to review yet.
Summary: 1. Primary Request and Intent: The user wants to build the ORBS (Orthogonal Rule Binding System) ability system for Orblike, a game using the Anchor engine with SNKRX visual style. The approach is bottom-up: first build a comprehensive reference corpus of abilities across major build-heavy games, then extract orthogonal dimensions (like the EBB ATTACK_REFERENCE.md pattern) that can describe any ability by picking one entry from each table. The user explicitly decided to implement abilities first before focusing on the system itself — the tables are meant to guide ability design, not be a formal system yet. A separate modifier table was requested, framed as an instruction manual for creating modifiers — exhaustive in covering every modifier observed in the reference games (every row must have concrete examples), but not speculative.
Key Technical Concepts:
- ORBS: Orthogonal Rule Binding System — abilities compose independently without knowing about each other
- Two-layer architecture: description layer (how designer/LLM thinks) and implementation layer (Lua code)
- EBB-style design reference: orthogonal dimensions with typed menus (Shape, Behavior, Trigger, Scaling in EBB)
- For ORBS, 6 ability dimensions: Trigger, Targeting, Delivery, Behavior, Hit Behavior, Effect
- Modifier table separate from ability tables, organized by which axis is modified
- Multi-phase abilities: use compound types for common patterns (channel-then-release, mark-then-recast, hold-to-charge), staged decomposition for complex multi-phase abilities
- Outlier abilities (Invoker, Aphelios) should be classified as best as possible, noted as outliers
- No scaling or damage columns — high-level only
- Abilities from items are treated the same as abilities from characters/kits
- ~360 ability descriptions across 5 games serve as the reference corpus
Files and Code Sections:
E:\a327ex\Orblike\ORBS.md
- Design document for the ORBS system: goals, architecture, open questions, development process
- Read for project acquaintance; not modified
E:\a327ex\Anchor\docs\FRAMEWORK_API_QUICK.md
- Compact function signatures for the Anchor framework
- Read for project acquaintance; not modified
E:\a327ex\Orblike\main.lua (~915 lines)
- The current Orblike game code with player, seeker enemy, 5 attack types (projectile, single_target, area_rect, area_circle, line_attack), visual effects (hit_circle, hit_particle, hit_effect)
- Read for project acquaintance; not modified
E:\a327ex\emoji-ball-battles\docs\ATTACK_REFERENCE.md
- EBB's attack design reference with tables for Shape (19 types), Behavior (9 types), Trigger (8 types), Scaling (9 types)
- Read as the template for the ORBS design reference
E:\a327ex\emoji-ball-battles\reference\attack-design-space.md
- Detailed exploration and rationale behind EBB's attack design space
- Read for additional context
E:\a327ex\Orblike\orbs\ability_reference.md (CREATED, ~1076+ lines after all edits)
- Comprehensive ability descriptions across 5 games for ORBS system design
- Sections: Path of Exile (30 active skills + 30 support gems), League of Legends (60 champion abilities), Dota 2 (80 abilities: 60 complex + 20 simple bread-and-butter), The Binding of Isaac (80 items), Risk of Rain 2 (80 abilities/items)
- Format per ability: Name, tags line, mechanical description focusing on logic (triggers, delivery, targeting, hit behavior, special mechanics, no numbers)
E:\a327ex\Orblike\orbs\ability_design_reference.md (CREATED)
- The ORBS equivalent of EBB's ATTACK_REFERENCE.md
- Contains 6 ability building block tables:
- Trigger (T1-T12): Manual, On-hit, On-kill, On-crit, On-damage-taken, Periodic, Proximity, Conditional, Accumulation, On-death, Reactive, Passive
- Targeting (A1-A9): Aimed direction, Aimed point, Targeted enemy, Targeted ally, Targeted any, Self, Auto-target, Global, None
- Delivery (D1-D28): Projectile (+ arcing, homing, returning, orbiting, slow), Multi-projectile (fan, nova, rain), Beam, Cone, Circle AoE, Expanding ring, Rectangle AoE, Line AoE, Ground zone, Melee, Chain, Dash, Teleport, Deployable, Summon, Tether, Aura, Attached, Hook, Terrain, Wall/Shield
- Behavior (B1-B13): Instant, Duration, Permanent, Channelled, Hold-to-charge, Channel-then-release, Mark-then-recast, Accumulate-then-release, Staged, Toggle, Decaying, Delayed, Recurring
- Hit Behavior (H1-H12): Consumed, Pierce, Chain, Split, Bounce (terrain), Bounce (ground), Explode, Stick, Displace, Block, Screen-wrap, Persistent contact
- Effect (E1-E25): Damage, DoT, Heal, Shield, Buff, Debuff, Hard CC, Soft CC, Forced action, Displacement, Summon, Terrain creation, Death prevention, Damage reflection, Invulnerability, Stealth, Reveal, Ability copy, Transform, Cooldown reset, Permanent scaling, Resource drain, Damage delay, Execute, Damage amplification
- Modifier Reference with sub-tables: Delivery Modifiers (MD1-MD17), Hit Behavior Modifiers (MH1-MH10), Trigger Modifiers (MT1-MT5), Behavior Modifiers (MB1-MB4), Effect Modifiers (ME1-ME10), Area Modifiers (MAr1-MAr2), Resource Modifiers (MR1-MR4), Speed Modifiers (MS1), Caster Modifiers (MC1-MC3)
- Classification Examples table showing ~25 abilities mapped to the tables
- Design Checklist (6 items)
Errors and fixes:
- No code errors occurred. Key user corrections/redirections:
- User redirected from discussing what ORBS should capture for individual abilities to the EBB ATTACK_REFERENCE approach: "Let's try a different approach"
- User redirected from designing the system first to building a reference corpus first: "Can we figure out if you can generate a text version of ALL abilities in a single game?"
- User clarified "exhaustive" for the modifier table: "Not exhaustive in the sense that you should pre-emptively try for all types of modifications ever possible, but exhaustive in that it covers every one of the modifiers that exist in the example games. So the right-most columns, examples from reference, should never be empty."
- User decided against Noita: "Noita's system is constrained in an important way I don't like which is that position matters in unintuitive ways"
- User decided against SNKRX (agreed it's covered by other games)
- User decided to implement abilities first before focusing on the system: "I've decided to implement abilities first before focusing on the system itself"
Problem Solving:
- Solved the question of how to categorize items across games (LoL, Dota, RoR2, Isaac) vs PoE support gems by breaking them into 6 functional categories (ability modifiers, triggered effects, active abilities from items, ability replacements, stat modifiers, meta-modifiers), then focusing only on abilities and ability modifiers
- Solved the multi-phase ability classification problem by proposing a hybrid: compound types for common patterns (channel-then-release, hold-to-charge, mark-then-recast) and staged decomposition for complex multi-phase abilities
- Established that abilities from items should be treated identically to abilities from character kits
All user messages:
- "We have the basics needed to start work on the abilities for Orblike. Get acquainted with the project first."
- "Each game that implements the ORBS system will essentially be tasked with implements the events it generates per ability. Let's imagine the 4 abilities we have now. Actually, only the first: 1. Projectile. On click, it generates a projectile towards the direction of the mouse. The ability should capture, 'click', 'spawn projectile', 'mouse direction/angle', right?"
- "Hmmm, let's try a different approach. Let's try creating something similar to the ATTACK DESIGN REFERENCE document in EBB, where we divide the design by sections that can have multiple types to them. Can you see that document?"
- "Yes, but first, can we figure out if you can generate a text version of ALL abilities in a single game? I believe the wikis for the most popular games must contain descriptions of all their abilities, so we can probably get the abilities for a few game that matter and that I care about in a full way, and then design the system slowly by picking a few specific abilities at a time and making sure that it can be described properly at this high level. Imagine you wanted to do this for Path of Exile, how would you go about it?"
- "The goal is creating a single md file that contains a description of all abilities in the game." (sent while I was working)
- "Start with PoE and use your knowledge. However, give me 10 abilities first from your knowledge base and how you plan on adding them to the document so I can see if its good."
- "I think this level of detail is perfect and focusing on the logic like this works well. If you had to go for 10 support gems instead, what would they look like?"
- "Yes, this level of detail is perfect. Let's go for 30 skill gems and 30 support gems. Try to focus on the most iconic ones that also cover the most design ground when all taken together. Save this to a file in orbs/, this file will contain all skill descriptions for all games like this, divided by sections (game name)."
- "Open the document for me please."
- "Sure, do league next. 60 champion abilities. Similarly, try to pick iconic ones that cover the most design ground. You can pick multiple from the same champion if you want. Do not compare design ground covered with previous games, treat the design ground from each game individually according to itself only, if that makes sense."
- "Do items in League, Dota, Risk of Rain and other games serve the same design purpose as support gems in PoE? Or should we consider these differently? Are item effects in PoE (in gear) in the same category as items in those games? How would you separate these things?"
- "Let's focus on abilities and ability modifiers only. If the abilities/ability modifiers appear in characters or items it's irrelevant. Makes sense? So Blink Dagger in DoTA should count as one out of the 60, if you happen to choose it. In light of this, are there any other things in League you'd add, or replace existing abilities for things that appear in items?"
- "OK, let's do DoTA. 60 abilities/ability modifiers, regardless where they come from."
- "Do some simpler abilities in DoTA as well? Like beams, projectiles, simple are effects, etc. 20 more."
- "Isaac now, do 80 too."
- "Do Risk of Rain 2 next, 80."
- "Are there any other important build heavy action games missed? Just like the ones that come to mind and I'll pick if I agree that they could be useful."
- "Noita would be interesting and I've played it passingly, and SNKRX would be interesting since I made it. I think the other games cover all aspects of gameplay that SNKRX covers though, tell me if you agree or disagree. And as for Noita, do you think everything is covered or that it has unique enough ideas in it that other games missed?"
- "Let's not do that. I've decided to implement abilities first before focusing on the system itself. Plus, Noita's system is constrained in an important way I don't like which is that position matters in unintuitive ways."
- "No, first, now let's do the ATTACK DESIGN REFERENCE-like approach. You'll look at all the abilities and extract similar tables to that of that document for them. Does it make sense? Before you do it, ask me any questions for further clarifications."
- "1. Let's discuss this further after my other answers. 2. Each phase should be described as its own ability, and then we should have a 'staged' subtype that allows for such abilities in some detail. However, because the tables have low detail in general we don't need to dwell on this that much. The goal of the tables is describing how abilities work at a high-level primarily, so I think going for individual + staged is a good level of abstraction. Although your idea of doing it specific, like channel-then-release types, is interesting too. Maybe you should give me an example of 10 such abilities and how you'd classify them so I can see in more detail. 3. Yes. For the outliers they should be noted as such, but there should also be an attempt to classify their workings. Invokers, for example, uses a charge-like system, right? Many abilities use things like charges, his is just a variation of that, if I remember correctly. 4. No scaling or damage for now, this is very high level."
- "Yes, this makes sense. As for 1, can you explain your question in more detail, perhaps with examples?"
- "Let's have a separate table. But due to the nature of modifiers, we'll be able to come up with new ones pretty easily ourselves, I think, once we have all the tables for most effects. So the modifier table should be framed more as an (exhaustive) instruction manual for the creation of further modifiers. Makes sense?"
- "Not exhaustive in the sense that you should pre-emptively try for all types of modifications ever possible, but exhaustive in that it covers every one of the modifiers that exist in the example games. So the right-most colums, examples from reference, should never be empty."
Pending Tasks:
- The user has not yet reviewed the ability_design_reference.md document — it was just created but not opened for them
- After review, the user plans to implement abilities in Orblike (they said "I've decided to implement abilities first before focusing on the system itself")
- The overall ORBS development process: implement real abilities → notice patterns → extract primitives → document
Current Work: I just finished creating
E:\a327ex\Orblike\orbs\ability_design_reference.md— the ORBS Ability Design Reference with 6 ability building block tables (Trigger, Targeting, Delivery, Behavior, Hit Behavior, Effect), a Modifier Reference with 9 sub-tables, classification examples, and a design checklist. The user confirmed the approach ("Makes sense?") and I wrote the file, but have not yet opened it for the user to review.Optional Next Step: Open the ability_design_reference.md in NeoVim with MarkdownPreview for the user to review, since it was just created and the user hasn't seen it yet. Previous pattern in this conversation: after creating/updating the file, I open it for the user. The user may then want to refine the tables or move on to implementing abilities in Orblike.
If you need specific details from before compaction (like exact code snippets, error messages, or content you generated), read the full transcript at: C:\Users\adn.claude\projects\E--a327ex\ee3e2eaa-a459-4dc8-9749-c859da57ef1d.jsonl Please continue the conversation from where we left off without asking the user any further questions. Continue with the last task that you were asked to work on.
[Think]
The user wants me to continue from where I left off. Based on the summary, I had just created the `ability_design_reference.md` file but hadn't opened it for the user to review yet. The pattern from the conversation was that after creating/updating files, I'd open them in NeoVim with MarkdownPreview for the user to review.
Let me open it for them.
I just finished creating the ability design reference document. Let me open it for you to review.
Bash (~/bin/neovim.exe "E:/a327ex/Orblike/orbs/ability_design_reference.md" -- -c "Mar...)
Command running in background with ID: bxyko5g1f. Output is being written to: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\bxyko5g1f.output
The document is open. Here's a quick overview of what's in there:
6 Ability Building Block Tables:
- Trigger (T1–T12): What causes the ability to fire — manual, on-hit, on-kill, periodic, proximity, etc.
- Targeting (A1–A9): How the ability picks its target — aimed direction, aimed point, targeted enemy, self, auto-target, global, etc.
- Delivery (D1–D28): How the ability reaches targets — projectile variants (arcing, homing, returning, orbiting, slow), multi-projectile (fan, nova, rain), beam, cone, circle AoE, ring, rectangle, ground zone, melee, chain, dash, teleport, deployable, summon, tether, aura, hook, terrain, wall/shield
- Behavior (B1–B13): How the ability operates over time — instant, duration, permanent, channelled, hold-to-charge, channel-then-release, mark-then-recast, accumulate-then-release, staged, toggle, decaying, delayed, recurring
- Hit Behavior (H1–H12): What happens on contact — consumed, pierce, chain, split, bounce (terrain/ground), explode, stick, displace, block, screen-wrap, persistent contact
- Effect (E1–E25): What the ability actually does — damage, DoT, heal, shield, buff, debuff, hard CC, soft CC, forced action, displacement, summon, terrain creation, death prevention, invulnerability, stealth, reveal, ability copy, transform, cooldown reset, permanent scaling, resource drain, damage delay, execute, damage amplification
Modifier Reference (9 sub-tables): Delivery Modifiers, Hit Behavior Modifiers, Trigger Modifiers, Behavior Modifiers, Effect Modifiers, Area Modifiers, Resource Modifiers, Speed Modifiers, Caster Modifiers — each with concrete examples from the reference games.
Classification Examples: ~25 abilities mapped to the tables showing how the system describes real abilities.
Design Checklist: 6-item checklist for designing new abilities.
Take a look and let me know what you think — what needs changing, what's missing, what feels off.
OK, let's test a few abilities. A projectile that chains to nearby enemies on hit. It chains N times and then once that's done it does on the last enemy hit.
[Think]
The user wants me to classify this ability using the design reference tables. Let me read the document first to make sure I have the exact table entries right.
The ability: "A projectile that chains to nearby enemies on hit. It chains N times and then once that's done it dies on the last enemy hit."
Let me read the document to classify it properly.
Let me pull up the tables to classify this precisely.
Read (E:\a327ex\Orblike\orbs\ability_design_reference.md)
1→# ORBS Ability Design Reference
2→
3→High-level building blocks for describing abilities. Pick one from each table to classify an ability. Some abilities combine multiple entries from a table (noted with +).
4→
5→Detailed ability descriptions: `ability_reference.md`
6→
7→---
8→
9→## Building Blocks
10→
11→### Trigger — What activates the ability
12→
13→| ID | Trigger | Description | Examples |
14→|----|---------|-------------|---------|
15→| T1 | Manual | Player activates via input | Fireball, Ezreal Q, Cyclone, Brimstone |
16→| T2 | On-hit | Triggers when dealing damage to an enemy | Ukulele, ATG Missile, Sticky Bomb, Brilliant Behemoth, Needletick |
17→| T3 | On-kill | Triggers when an enemy dies | Will-o'-the-Wisp, Gasoline, Ceremonial Dagger, Guppy, Athame, Frost Relic |
18→| T4 | On-crit | Triggers on critical strike | Predatory Instincts, Harvester's Scythe, Cast on Critical Strike |
19→| T5 | On-damage-taken | Triggers when receiving damage | Cast when Damage Taken, Medkit, Holy Mantle, Tougher Times, The Polaroid |
20→| T6 | Periodic | Fires automatically on a fixed timer | Storm Brand pulses, Engineer turrets auto-fire, Lil Brimstone charge cycle |
21→| T7 | Proximity | Triggers when an enemy enters a range/area | Bear Trap, Teemo mushrooms, Techies mines, Engineer Pressure Mines |
22→| T8 | Conditional | Triggers when a game state meets a threshold | Runald's/Kjaro's Band (damage threshold), Abaddon R (HP threshold), Crown of Light (HP full), Rengar (in brush) |
23→| T9 | Accumulation | Triggers when a counter of events reaches a value | Annie passive (4 spells), Yasuo Q (3rd hit), Jhin passive (4th shot), Lead Pencil (every 15 tears), Discharge (consume all charges) |
24→| T10 | On-death | Triggers when the ability holder dies | Dead Cat, 1UP, Dio's Best Friend, Zilean R buff, Lazarus' Rags |
25→| T11 | Reactive | Triggers in direct response to an incoming attack | Fiora Riposte, Sivir Spell Shield, Nyx Spiked Carapace, Blade Mail, Bot Fly |
26→| T12 | Passive | Always in effect with no activation | Vayne W, Bloodseeker Thirst, Kalista Martial Poise, Drow Frost Arrows, Gnawed Leaf |
27→
28→### Targeting — How the ability selects its target(s)
29→
30→| ID | Targeting | Description | Examples |
... [265 more lines]
Here's the classification:
Chaining projectile (N chains, dies on last hit)
| Axis | Entry | Notes |
|---|---|---|
| Trigger | T1 Manual | Player fires it |
| Targeting | A1 Aimed direction | Aimed at initial target |
| Delivery | D1 Projectile | Travels as a projectile initially |
| Behavior | B1 Instant | No duration/channel, fires and goes |
| Hit Behavior | H3 Chain (N times) → H1 Consumed | Chains N times, then consumed on final hit |
| Effect | E1 Damage | Deals damage each chain + final hit |
The interesting part is Hit Behavior — it's a compound: H3 Chain with a count parameter, followed by H1 Consumed as the terminal condition. The tables handle this naturally since the Classification Examples already show H1+H7 style combinations (Fireball: consumed + explodes).
One thing worth noting: the chain count N is a parameter on H3, not a separate axis. The tables don't currently have a "parameters" column — things like chain count, projectile count, duration length are all implicit. That's probably fine at this level of abstraction, but it's worth flagging: if you wanted to say "chains 5 times" vs "chains 3 times," that distinction lives outside the tables right now.
The H1 consumed thing and how it combines with H1 -> H7 is interesting... What we want is that compositional ability. But now that we have the tables, how might we derive from it practices for generating abilities that increase our compositional ability? How can we tell that the abilities we're generating are prone to interesting changes and thus will lead to potentially interesting builds, vs. when they're not?
[Think]
The user is asking a really deep design question about compositionality — how to use the tables to predict which abilities will be "compositionally rich" (prone to interesting modifications and build interactions) vs. compositionally inert. This is a meta-question about the design system itself.
Let me think about this carefully.
The core insight is that compositionality comes from abilities having "attachment points" — places where modifiers can meaningfully change behavior. An ability that's simple along many axes has many surfaces for modifiers to grab onto. An ability that's complex/unique along many axes has fewer, because the complexity is baked in.
Let me think about what makes an ability compositionally rich:
Standard delivery types like projectiles are far more modifiable than exotic ones like teleports, since they can accept almost any delivery modifier to become homing, returning, multi, piercing, or splitting. Meanwhile, hit behaviors create natural chain points — consumed behaviors are actually the most composable because they're the default that modifiers replace, whereas something already chaining or splitting can't easily accept additional hit behavior modifications.
The real magic happens at the intersection between axes rather than within them. A chaining projectile works because each chain jump triggers a new hit event, letting on-hit effects fire multiple times and create multiplicative scaling like in Path of Exile or Risk of Rain 2. Some combinations become compositional dead ends though, like a permanent summon that can't really branch into other interesting interactions.
Let me map out the core compositional principles here. First, there's count multiplication — any ability that generates multiple instances of something, whether that's chain jumps, projectile splits, pierces, or recurring triggers, amplifies the value of on-event effects by making them fire repeatedly. Second is modifier surface area, where abilities using standard axis entries become attachment points for more modifiers, while exotic or compound abilities have fewer meaningful modification options. A basic projectile with consumed delivery has the broadest modifier compatibility.
Third, event generation separates abilities that feed into the trigger ecosystem from those that don't — pure utility or movement abilities sit outside that feedback loop entirely. Fourth is interaction density, where the most interesting compositions happen when modifying one axis creates unexpected synergies with another, like how chain creates multiple AoE centers or how pierce lets a single projectile apply effects across many targets. And fifth is the distinction between terminal and continuing effects.
H1 consumed ends the ability, but every modifier that transforms it into something else — pierce, chain, split, bounce — extends its lifetime and generates more events. That's why H1 is paradoxically the most compositionally valuable default state; it has the most room to upgrade.
Let me reframe this. The real question is: how do I measure compositionality from the tables? I'm thinking about this through modifier applicability. For any given ability, I can count how many modifiers from the full table could meaningfully attach to it. A basic projectile with consumed hit behavior can take delivery modifiers, most hit behavior modifiers, and event modifiers — roughly twenty applicable options. But a teleport has almost no modifier surface to work with.
Beyond that, there's event multiplication potential. A single projectile generates one hit event, but chain it and you get multiple. Add split and each chain spawns more projectiles. Add explode and every hit triggers area damage. That cascading potential is what drives exponential build scaling.
Then there's whether the ability feeds into the trigger ecosystem. If it generates events that activate T2-T5 triggers, it's part of the larger system. If not, it's isolated — which doesn't make it bad, but it doesn't create synergies the way connected abilities do.
Finally, I'm considering axis independence. Whether changing one axis of the ability actually affects the others, or if they're truly orthogonal.
The key insight is that the modifier tables themselves encode the compositionality rules — they're literally showing which axis values can be swapped. So an ability's compositional richness depends on how many modifiers apply to its current axes. And that suggests a design principle: build abilities with standard, default axes that have lots of applicable modifiers, then make ONE axis unusual. That way you get maximum attachment points for modifiers. It's actually how Path of Exile designs most of its skills — manual trigger, aimed direction, projectile delivery as the baseline.
Now looking at how this plays out in practice: most PoE skills stick to that template with just 1-2 deviations, which makes them compositionally rich and modifier-friendly. Something like Cyclone deviates on delivery and behavior, Arc on delivery and hit behavior. But compare that to something like Invoker in Dota, where the trigger, targeting, and delivery are all bespoke combinations — it's compositionally poor because nothing is standard enough for modifiers to latch onto. So the framework becomes: template abilities with 1-2 deviations are compositionally rich and modifier-friendly, while exotic abilities deviating on 3+ axes are compositionally poor.
The real sweet spot is hitting 1-2 unusual axes while keeping the rest standard, which maximizes build diversity. And I can measure this by counting non-standard axes per ability — the fewer deviations, the more modifiers apply. Looking at what modifiers actually target, projectile delivery, consumed hit behavior, manual triggers, and instant behavior are the most modifiable, so the standard template that works best is T1, A1, D1, B1, H1, E1.
This is actually a useful design framework. But I should also consider the flip side — some abilities like Blink Dagger are compositionally inert yet crucial for build diversity because they enable positioning in a different way. There's a distinction between build-defining abilities that are compositionally rich and utility abilities that are compositionally poor but serve a specific function. I'm also thinking about compositional red flags — things that make abilities resistant to modification, like bespoke delivery systems that can't be parameterized or hit behaviors that are already so complex that adding more modifiers creates diminishing returns.
Self-targeting abilities can't have their targeting meaningfully modified, and abilities without hit events like buffs or teleports can't interact with on-hit effects. I think I have enough to structure a thorough answer now.
This is a really good question, and I think the tables actually reveal the answer pretty clearly once you look at them through the right lens.
The core observation: compositionality comes from an ability having "standard" axis values that modifiers can grab onto. Look at the modifier table — the vast majority of modifiers target specific axis values:
- Almost all Delivery Modifiers (MD1–MD17) assume D1 Projectile as the starting point. "Straight → Homing," "Single → Multi," "Straight → Returning" — these all require a projectile to modify.
- Almost all Hit Behavior Modifiers (MH1–MH10) assume H1 Consumed as the starting point. "Consumed → Pierce," "Consumed → Chain," "Consumed → Split" — these replace the default terminal behavior.
- Trigger Modifiers (MT1–MT5) mostly assume T1 Manual. "Manual → On-crit," "Manual → On-damage-taken."
- Behavior Modifiers (MB1–MB4) mostly assume B1 Instant single-fire. "Single → Auto-repeat," "Single → Burst."
So there's a "default template" that maximizes modifier surface area:
T1 Manual, A1 Aimed direction, D1 Projectile, B1 Instant, H1 Consumed, E1 Damage
That's PoE's Fireball. And Fireball is famously one of the most compositionally rich abilities in PoE — you can support it with GMP, Chain, Pierce, Fork, Spell Echo, Trap, Mine, Spell Totem, Cast on Crit, Combustion, Added Fire... practically the entire support gem pool applies.
Now compare to Dota's Blink Dagger: T1 Manual, A2 Aimed point, D20 Teleport, B1 Instant, —, —. How many modifiers apply? Almost none. There's no projectile to make homing, no hit behavior to replace, no effect to add DoT to. It's compositionally inert. Still a great ability — but it doesn't participate in the build ecosystem.
This suggests a practical principle:
An ability's compositional richness ≈ how many modifier table entries apply to its current axis values.
And from that, a few derived rules:
1. The "one deviation" sweet spot
The most compositionally interesting abilities deviate from the default template on 1–2 axes and stay standard on the rest. The deviation is what makes the ability feel unique; the standard axes are where modifiers attach.
- Arc (PoE): deviates on Delivery (D18 Chain) and Hit Behavior (H3 Chain). But targeting, trigger, behavior, effect are all standard. You can still support it with Spell Echo, Trap, Mine, added damage, etc.
- Cyclone (PoE): deviates on Delivery (D12 Circle AoE) and Behavior (B4 Channelled). But trigger and effect are standard. You can modify it with Melee Splash, added effects, Infused Channelling, etc.
Each deviation on one axis closes some modifier doors but opens new interaction doors. Arc's H3 Chain means on-hit triggers fire N times per cast — that's a multiplicative interaction that H1 Consumed doesn't have.
2. Event multiplication is the engine of builds
The reason the H1 → H3/H4/H2 modifications are so powerful isn't just that they change what happens on contact — it's that they multiply the number of hit events per activation. And hit events feed the entire T2–T5 trigger ecosystem.
One projectile with H1 Consumed generates 1 hit event. Add H3 Chain (5 times) and it generates 6. Add H7 Explode on each chain and each explosion hits 3 enemies — now it's 18+ hit events from one button press. Each of those events can proc Ukulele, ATG Missile, Tri-Tip Dagger...
This is the RoR2 design insight: the game is fundamentally about hit count × on-hit item stacking. Abilities that generate many hit events (Huntress Laser Glaive, Engineer turrets, MUL-T nailgun) become exponentially stronger with items.
So a useful question for any ability: how many hit events does this generate per activation, and how does that number grow with modifiers?
3. Compositional poverty has recognizable signatures
Red flags that an ability won't compose well:
- No hit events at all — teleports, buffs, stealth. They don't feed on-hit/on-kill triggers.
- Bespoke delivery — if the delivery is so unique that no delivery modifier makes sense (D20 Teleport, D23 Tether), you lose the largest modifier sub-table.
- Already-compound hit behavior — if the base ability already does H3+H7 (chain and explode), there's less room for modifiers to add surprise. The interesting interaction is already baked in.
- Self-targeting (A6) — can't meaningfully change "who it aims at."
4. The practical design heuristic
When designing an ability for Orblike, you could literally count modifier applicability:
| Template axis | Applicable modifier count |
|---|---|
| D1 Projectile | ~17 delivery modifiers |
| H1 Consumed | ~10 hit behavior modifiers |
| T1 Manual | ~5 trigger modifiers |
| B1 Instant | ~4 behavior modifiers |
| E1 Damage | ~10 effect modifiers |
| Total | ~46 possible modifications |
Then for your chaining projectile:
| Axis | Value | Applicable modifiers |
|---|---|---|
| D1 Projectile | ~17 (still a projectile, all delivery mods apply) | |
| H3 Chain → H1 Consumed | ~5-ish (already chain, so MH2 is used up, but MH6 add-explosion, MH3 split-on-final-hit, etc. still work) | |
| T1 Manual | ~5 | |
| B1 Instant | ~4 | |
| E1 Damage | ~10 | |
| Total | ~41 |
You traded ~5 hit behavior modifier slots for the chain mechanic — but gained multiplicative hit-event generation. That's a good trade. The ability is compositionally rich AND has a distinctive identity.
Compare to if you designed: "a teleport that creates terrain at the departure point that stealths allies inside it." That's D20 + E12 + E16 — three exotic axis values, almost zero modifier surface area. Cool ability, but it lives alone. It doesn't get better with items/supports, and it doesn't create build-defining choices.
The meta-principle, I think, is this: abilities should be "boring" on most axes so they can be "interesting" via modification. The compositional richness of a game comes not from each ability being unique on every axis, but from each ability being a simple base with many attachment points. The builds are where complexity emerges, not the individual abilities.
This is exactly why PoE's system works so well and why Isaac's works so well — the base tears/skills are deliberately simple (projectile, consumed, aimed, instant), and the modifier ecosystem is enormous. The interesting stuff happens in the combination space, not in any individual node.
What about areas? I can see how projectiles are highly modifiable, but does the same apply to areas or are they inherently less verstabile than projectiles?
[Think]
The user is asking about whether area abilities (D12 Circle AoE, D14 Rectangle AoE, D15 Line AoE, D16 Ground zone, etc.) are inherently less composable than projectiles. Let me think about this carefully.
Looking at the modifier table, most delivery modifiers (MD1-MD17) are projectile-specific:
- MD1-MD2: Single → Multi (fan/nova) — projectile-specific
- MD3: Aimed → Diagonal — projectile-specific
- MD4-MD9: Trajectory changes — all projectile-specific
- MD10-MD12: Self-cast → Deployable/Trap/Mine — these actually DO apply to areas!
- MD13: Normal → Spectral — projectile-specific
- MD14: Screen-wrapping — projectile-specific
- MD15-MD16: Curse conversions — specific to curses
- MD17: Clone firing — could apply to areas
So out of 17 delivery modifiers, only about 3-4 apply to areas versus roughly 14 for projectiles. Areas do have their own modifier space with size adjustments, but that's just two entries compared to the extensive projectile options. I'm starting to see the composability gap more clearly now.
Looking at hit behavior modifiers for areas, most don't translate well — consumed doesn't work the same way, pierce is inherent to areas since they hit everything in range, and chain could theoretically work if an area triggered another area at a different location. But the real question is what modifications are actually unique to areas that aren't being captured: shape transformations like circles becoming rings or cones, zones that move across the map, areas that expand or contract over time, and other spatial behaviors that projectiles fundamentally can't do.
The current modifier tables struggle with areas because they were built around projectile-heavy games like Path of Exile and Isaac, so they're missing the entire dimension of area-specific mechanics like detonation, residue left behind, zone linking, and stacking effects. This suggests the tables have a real blind spot rather than areas simply lacking modifier depth. both:
**Inherent limitations:**
- Projectiles have a TRAJECTORY, which is a rich axis: you can make it homing, returning, orbiting, arcing, zigzag, etc. Areas don't travel, so they lack this entire dimension.
- Projectiles have a HIT MOMENT — the instant of contact — which creates a clear "event" for hit behavior modifications. Areas often have persistent/continuous contact, which makes the "hit event" less clean.
- Projectiles are DISCRETE ENTITIES that can be counted, duplicated, split, chained. Areas are continuous regions.
**Table limitations (modifiers that exist in games but we haven't captured):**
- PoE's Spell Cascade: duplicates an AoE at offset positions (area version of multi-projectile)
- Growing AoEs (Nunu R, Sand King Epicenter)
- Moving AoEs (Lissandra glacial path, Rumble ult)
- Delayed detonation zones
- Zone shape changes
Areas might not be fundamentally less composable—just less explored. Projectiles work so well because they're parametric with independent knobs like position, velocity, direction, lifetime, and hit behavior. Areas have fewer parameters (position, shape, size, duration), but you could expand that set with movement vectors, growth rates, tick rates, and detonation conditions. The real issue is that our tables are biased toward projectile modifications because PoE and Isaac dominate our examples, so the gap between projectile and area versatility is probably smaller than it appears.
To close it, I could add more area-specific modifiers, design areas with more mechanical knobs (movement, splitting, discrete ticks), or translate projectile modifiers into area equivalents—like multi-projectile becoming multi-zone or homing becoming zone-that-drifts-toward-enemies.
Honestly, I think areas ARE inherently less versatile than projectiles, but the gap is larger in our current tables than it needs to be. There are two things going on:
The inherent gap. Projectiles are parametrically rich — they have position, velocity, direction, lifetime, and a discrete hit moment, each of which is an independent knob a modifier can turn. That's why the delivery modifier table has trajectory changes (straight → homing, → returning, → orbiting, → arcing), count changes (single → fan, → nova), and behavior changes (→ spectral, → screen-wrapping, → controllable). Each of those operates on a different parameter of the projectile.
Areas have: position, shape, size, duration. Fewer independent parameters, so fewer knobs for modifiers to grab. And crucially, areas lack a trajectory — the entire MD4–MD9 block (6 modifiers) is "change how the projectile travels," which is a dimension areas simply don't have.
Areas also have a weaker hit event story. A projectile hits something at a specific moment — that's a clean, discrete event that feeds H1–H12 and the on-hit trigger ecosystem. An area... things are just "inside" it. The contact is continuous, not discrete. So areas naturally generate fewer clean events, which means they interact less with the T2–T5 trigger layer.
The table gap (bigger than the inherent gap). Our modifier table is heavily biased by its source material. PoE and Isaac are projectile-centric games — their modifier ecosystems evolved around projectiles. But there ARE area modifications in these games that we haven't fully captured:
- PoE Spell Cascade: duplicates an AoE at offset positions ahead and behind the target point. This is the area equivalent of "single → multi-projectile" — but we don't have it in the table.
- Growing/shrinking zones: Nunu R grows as you channel, Sand King Epicenter pulses expand outward. The zone's size changes over time.
- Moving zones: Rumble R is a line that persists and moves. Jakiro Macropyre is a stationary line, but you could imagine it sliding. Lissandra's glacial path travels.
- Zone splitting/segmenting: One large AoE could fragment into several smaller ones (like the area equivalent of Split/Fork).
- Residue: An instant AoE leaves behind a ground zone — PoE's Vaal Fireball does this (Fireball explodes, leaves burning ground). This is like "add explosion" but for areas: "add persistent zone."
- Detonation: Placed zones that can be manually triggered — PoE mines, Techies remote mines. The zone is dormant until you choose to fire it.
So if we added area-specific modifiers, the table might grow by something like:
| ID | Modification | Description | Examples |
|---|---|---|---|
| MAr3 | Single → Multi-zone (cascade) | One AoE becomes several at offset positions | Spell Cascade (PoE) |
| MAr4 | Static → Moving | Zone gains a movement vector | Rumble R, Lissandra glacial path |
| MAr5 | Fixed size → Growing | Zone expands over its duration | Nunu R, Sand King Epicenter |
| MAr6 | Instant → Residue | Instant AoE leaves a persistent ground zone | Vaal Fireball burning ground, Gasoline (RoR2) |
| MAr7 | Single → Segmented | One zone fragments into smaller zones | (theoretical, but follows from projectile Split logic) |
That closes the gap somewhat — but even with these additions, areas top out around ~7 area-specific modifiers vs. ~14 projectile trajectory/count modifiers. The inherent gap is real.
But there's a counterpoint. Areas have a compositional advantage that projectiles don't: they're inherently multi-hit. A projectile with H1 Consumed hits one enemy. You need to ADD chain/pierce/split to make it hit more. An area hits everything inside it by default. So areas start at a higher baseline of event generation even if they have fewer modifier attachment points.
And areas compose well on the Behavior axis in ways projectiles often don't. A projectile's behavior is usually B1 Instant — it fires and it's done. Areas naturally support B2 Duration, B4 Channelled, B13 Recurring (ticking zones), B11 Decaying, B12 Delayed. That's 5-6 behavior entries that feel natural on areas vs. 1-2 on projectiles. So the behavior modifier space (MB1–MB4) might actually be MORE applicable to areas than to projectiles.
The honest summary:
| Modifier space | Projectiles | Areas |
|---|---|---|
| Delivery/trajectory mods | ~14 | ~5-7 |
| Hit behavior mods | ~10 | ~3-4 (less clean hit events) |
| Behavior mods | ~2-3 | ~4-5 (duration/tick natural) |
| Effect mods | ~10 | ~10 (same) |
| Trigger mods | ~5 | ~5 (same) |
| Area mods | ~0 | ~5-7 |
| Total | ~41-42 | ~27-33 |
Areas are less versatile, but not drastically so. The gap is maybe 70-80% of projectile versatility, not 30%. And the character of the versatility is different — projectiles compose through trajectory and hit-event multiplication, areas compose through temporal behavior and spatial manipulation.
The design implication for Orblike: if you want maximum build diversity, projectile-base abilities will generate more modifier interactions by default. But area abilities aren't dead weight — they just need their own modifier ecosystem that the current tables underrepresent. And mixing both types in a build is where things get really interesting, because on-hit triggers from a projectile could spawn areas, and area ticks could trigger more projectiles.
What about beams, summons, single target, and other "base", uh, what should we even call these, fundamental objects of an ability? Try to come up with a decent name for it and then do this same analysis for them as well. And try to list all the ones that you think apply that I may have not noticed.
[Think]
The user wants me to:
1. Come up with a good name for the fundamental "base objects" of abilities (projectile, area, beam, summon, single-target, etc.)
2. Do the same compositionality analysis for each one
3. List ALL the ones I think exist, including ones they might not have noticed
Let me think about naming first. These are the fundamental "things" that an ability IS at its core — the spatial/mechanical primitive that everything else attaches to. In the current tables, they live in the Delivery column, but "delivery" is a bit clinical. Let me think of options:
- **Carrier** — the thing that "carries" the effects
- **Vehicle** — similar idea
- **Primitive** — the fundamental building block
- **Form** — what form the ability takes
- **Medium** — through what medium the effect is delivered
- **Vessel** — what contains/carries the ability
- **Body** — the physical manifestation
- **Substrate** — the underlying thing that modifiers attach to
Carrier seems like the strongest option — it captures the idea that modifiers are attached to and modify this core thing that carries the effect to its target.
But I'm realizing the real question is what we're calling the actual game-world object created by the ability. A projectile, an area, a beam, a summon — these are all distinct manifestations. Looking at alternatives like Entity, Form, Vector, Chassis, Frame, Hull, and Scaffold, I'm drawn to the ones that suggest a structural foundation you build on top of. Chassis and Frame both have that quality of being something you attach components to, which fits the modifier system well.
Actually, Carrier keeps pulling me back — it's intuitive, it naturally implies those attachment points, and it cleanly separates the object itself from the act of delivery. Though Form is tempting for its simplicity. I think Carrier wins out here.
Let me map out the fundamental carriers by looking at what's actually distinct. Projectiles are the obvious one — discrete entities moving through space. Beams are instant hits along a line. Areas cover regions of effect, though I'm seeing some overlap here — zones might just be areas with persistence, and rings are really areas that expand outward. I need to figure out which of these are truly distinct carriers versus just variations on the same underlying mechanic. ile that displaces (D26), then terrain as created geometry (D27), and walls or shields as barriers (D28). But I'm noticing a lot of these could be combinations of simpler pieces — like a hook being a projectile with a displacement effect, or a cone just being an area with a specific shape. Let me strip this down to what's actually irreducible: projectiles as discrete moving entities, beams as instant lines between two points, and areas as regions of space with different shapes.
Then there's melee as close-range instant hits, targeted effects on specific units without spatial components, summons as autonomous entities, tethers as persistent links between two things, auras as fields attached to entities, self-buffs that don't need spatial delivery at all, and movement where the caster themselves relocates. Though I'm realizing some of these blur the line between how something's delivered and what it actually does. I should focus on what object the ability actually creates in the game world, not the effect or the targeting method.
So the core carriers are: projectiles that move through space, beams that exist as lines either instantly or persistently, zones as regions with different shapes, summons as autonomous agents, tethers connecting two entities, auras following an entity, marks or debuffs on specific targets without a spatial object, effects on the caster, and displacement where the caster moves. The key distinction I'm seeing is that zones are placed at a location and persist there, whereas auras move with their entity.
But there are some other carriers worth considering too — trails that form along the caster's movement path, attached effects like brands that stick to targets and have their own behavior separate from simple debuffs, and orbiting entities that circle around the caster.
Then there are dormant zones that only activate when triggered, and terrain or walls that create actual geometry for space control rather than damage.
Now I'm going to analyze the compositionality of each carrier type systematically — looking at what parameters define it, which modifiers apply, how many total modifiers affect it, and what kind of builds it enables.
For projectiles, I've got around 41-46 modifiers across trajectory, count, hit behavior, repetition, effects, and triggers, which gives them the most attachment points and makes discrete hit events a rich axis to build around. Beams are more constrained — they can only use a few delivery modifiers like multi-beam fans or deployable turrets, and hit behavior is limited to just one option, so they're fundamentally more restricted in their compositional space. Pierce is inherent. H3 Chain — beam chains? Not naturally. H7 Explode at endpoint? Sure. H4 Split at endpoint? Sure.
- Behavior: B4 Channelled (natural), B5 Hold-to-charge (Brimstone), B13 Recurring (ticking beam)
- Effect: All ME1-10 apply (add DoT on beam tick, etc.)
- Trigger: MT1-5 all apply
- Modifier count: ~20-25
- Character: Inherently piercing (everything along the line gets hit), natural multi-hit, but limited trajectory modification. Beams compose well on the duration/tick axis.
**3. Area (instant)**
- Already analyzed above: ~27-33
- Parameters: position, shape, size
- Character: Inherently multi-target, composes on behavior/temporal axis
**4. Zone (persistent area)**
- This is essentially area with duration and recurring ticks, where tick rate becomes a major knob for controlling hit frequency and on-hit proc generation. Around 25-30 modifiers apply here, with the key distinction being continuous event generation and the potential for stacking when zones overlap.
**5. Melee**
- Parameters: range, arc, speed
- Applicable modifiers: multi-strike fan delivery, melee splash as the defining modifier, with consumed hits as the default behavior and pierce/cleave as natural extensions. Auto-repeat is very natural here.
- Modifier count: ~20-25
- Character: Limited range but high event generation if attack speed is high. The compositional challenge is making melee hit more targets through splash, cleave, and on-hit triggers.
**6. Targeted (point-and-click, no spatial object)**
- Like Dota's Doom or Lion's Hex — single-target instant effects with range as the main parameter.
- Applicable modifiers: Almost none for delivery since there's no projectile to modify.
- Hit behavior doesn't really apply here — it's just an instant application.
- Behavior: B1 Instant works naturally, MB1 auto-repeat and MB3 multicast (like Ogre Multicast) both apply.
- Effect: All ME1-10 apply, and all MT1-5 triggers apply.
- Could add: "Targeted → AoE" to make single-target effects hit an area around the target, or "Targeted → Chain" to bounce between nearby targets.
- Modifier count: ~15-20
- Character: Very reliable since you can't miss, but few spatial attachment points. Composition works mainly through effect stacking and trigger interaction.
**7. Summon**
- Parameters: unit type, AI behavior, duration/permanence...
Now I'm looking at summons, which are weird because the summon itself becomes an entity with its own abilities. Delivery modifiers like MD1 could apply to summon multiple units, but that's not a natural fit. The real compositional power comes from the summon inheriting or carrying abilities — it's a meta-compositional property where the summoned entity can have its own rich ability set. The summoning action itself has ~8-10 modifiers, but the summoned unit creates a whole new compositional layer, like how RoR2 Engineer turrets inherit all items for insane compositional depth.
Tethers work through a different mechanism entirely — they're relationship-based rather than spatial, creating a persistent connection between two targets with parameters like range and break condition. Very few delivery mods apply, but effect mods shape what happens during the tether, giving ~10-15 total modifiers. Auras are similar to zones but centered on the caster and mobile, so they naturally cover more area over time as you move. They have ~20-25 applicable modifiers and compose well because they're passive and reward positioning.
Movement abilities like dashes and teleports have minimal modifier options — mostly just effects on arrival or along the path — and don't form the core of builds, though they enable combos like dashing in to melee and back out. Attached effects or brands stick to enemies like single-target zones, ticking autonomously once cast with modifiers around tick rate, chaining behavior, and duration extensions, giving ~15-20 total modifiers and that "fire and forget" feel.
I'm also realizing there are some carrier types the user might not have considered: trails that follow the caster's movement path, orbiting satellites that move differently than standard projectiles, traps and mines with activation triggers, marks applied to targets for later detonation, and terrain that creates space denial rather than direct damage. These are all fundamental spatial and mechanical primitives that exist in the game world as a result of casting an ability.
Now I'm working through naming options for these primitives — what should I call the irreducible building blocks that carry effects? I'm considering words like "carrier," "vessel," "primitive," "archetype," "mechanism," "body," and "avatar," each with different connotations about how the ability manifests in the world.
"Carrier" feels strongest because it's intuitive and suggests that things attach to it, but there's a potential ambiguity: does it mean the projectile carries the effect, or does something carry the projectile? "Vessel" has the same problem. "Form" is clearer grammatically but loses that sense of attachment points. I'm also considering "base" as a simpler alternative — "the ability's base is a projectile" — though it doesn't quite capture the attachment concept either.
"Chassis" and "frame" both work well for the attachment metaphor, with "frame" being more accessible. I think I should present the strongest options to the user rather than deciding unilaterally, since they might have preferences I haven't considered.
Actually, looking back at what they asked for—they want me to come up with a name, not options. Let me commit to **carrier**. It's the most functionally descriptive: it captures the idea of something that transports effects through the game world and serves as the anchor point for modifiers.
Now I need to structure the full response with the name, a comprehensive list of carriers across their ability examples, and how each one composes with modifiers. I'm going back and forth on whether to save this as a file or write it inline. Looking at the pattern from earlier in this conversation, I've been writing long analyses directly without creating files, only saving formal reference documents when needed. I'll stick with that approach and write this inline, organizing it into a naming discussion, full carrier enumeration, and compositionality analysis for each one.
I'll also create a summary table ranking all the carriers by their modifier surface area, which should be the most useful reference.
Now I'm mapping out the fundamental carrier types: projectiles as discrete moving entities, beams as instant or persistent lines, areas as instant regions of effect, zones as persistent locations, auras as unit-attached regions, melee for close-range hits, targeted for point-and-click effects, chains for jumping between targets, summons as autonomous mobile entities, deployables as stationary ones, tethers connecting two entities, and attached effects stuck to targets.
I'm also considering movement repositioning like dashes and teleports, terrain as created geometry, trails following movement paths, orbits circling units, and traps as dormant zones with activation triggers. Some of these feel like they could be composites—zones are areas with duration, auras are zones attached to self, orbits are projectiles on circular paths, trails are zones following movement, traps are zones that stay dormant until triggered. But the key insight is whether they have different compositional properties that matter mechanically, like how zones differ from instant areas in tick rate, stacking, and duration. If they do, they're worth treating as separate carriers rather than just combinations.
The real test is whether changing the base object changes which modifiers apply. Zones and areas have different modifier surfaces because of duration and tick mechanics. Auras move with the caster, enabling different interactions. Orbits don't have trajectory modifiers like projectiles do. Trails are shaped by movement rather than targeting. Traps add trigger mechanics that zones lack. So the full list seems justified. Now I'm going to work through the modifier counts more carefully, starting with projectiles.
Looking at the modifier categories across projectiles, I'm realizing not every modifier applies to every projectile type. Let me be more realistic about what actually stacks on a given projectile rather than just counting all possible modifiers.
The user is really after the big picture here—qualitative differences and rough rankings, not a precise tally. I should structure this around the carrier name proposal, a full list with descriptions, analysis of each carrier's compositional character, and then a summary ranking table to tie it together.
Given how much ground this covers, I'm debating whether to put this in a file or keep it inline. Since the user is actively iterating on the reference document in design mode, this feels more like exploration and discussion right now. I'll write it inline and let them decide if they want it saved.
I'll aim for thorough coverage of the key points on each carrier without getting bogged down in every detail—the summary table will do the heavy lifting for comparison.
Good question on naming. A few candidates:
- Carrier — "the thing that carries effects through game space." Implies attachment points naturally: modifiers attach to the carrier. "The ability's carrier is a projectile."
- Frame — structural metaphor, you bolt modifiers onto a frame. But sounds too mechanical/UI.
- Form — clean and simple, "the ability takes the form of a projectile." But doesn't evoke the attachment-point idea.
I'd go with carrier. It captures the functional role (carries effects to targets) and implies the compositionality story (things attach to it, ride on it).
Now, the full enumeration. Some of these are in the Delivery table already, some are buried as subtypes, some aren't there at all. The test for whether something is a distinct carrier: does it have a different modifier surface area than its nearest neighbor? If the set of applicable modifiers changes, it's a different carrier.
The full carrier list:
[REDACTED: private project content]
A few I debated including but didn't:
- Ring (expanding ring like Ravage, Epicenter) — I think this is Area with a movement parameter (expanding outward). The modifier surface is basically the same as Area, just with the "expanding" behavior. Not different enough.
- Cone — shape variant of Area. Same modifier surface.
- Hook — Projectile + Displacement. It's a projectile with a specific hit behavior, not a fundamentally different carrier.
- Wall/Shield (Yasuo Wind Wall, Engineer bubble) — I lumped this with Terrain. They're both "created geometry that affects space." The modifier surface is similar.
Compositionality analysis per carrier:
1. Projectile — the gold standard
Already analyzed. Maximum parameter space: position, velocity, direction, speed, lifetime, size. Every parameter is an independent knob.
Modifier surface:
- ~13 delivery mods (trajectory changes, count multiplication, spectral, screen-wrap, clone)
- ~10 hit behavior mods (the entire MH table assumes a projectile)
- Full trigger, behavior, effect mod access
- ~46 applicable modifiers
Compositional character: Discrete hit events × trajectory diversity × count multiplication. The richest build-defining carrier.
2. Beam
Parameters: origin, direction, length, width, duration (if persistent), tick rate (if channelled).
What applies:
- Delivery mods: MD1 multi-beam (fan of beams — Diablo 3 Disintegrate with certain runes), MD3 diagonal, MD10 deployable (turret firing a beam), MD17 clone. Maybe ~5-6. Notably, homing/returning/orbiting/arcing beams are mostly nonsensical — the trajectory mod block barely applies.
- Hit behavior: Beams inherently pierce (H2), so MH1 is already baked in. MH6 add explosion at endpoint works. Chain after hitting — less natural. Split at endpoint — possible. So ~3-4 hit behavior mods.
- Behavior: Very strong here. B4 Channelled, B5 Hold-to-charge (Brimstone), B13 Recurring ticks are all natural. ~4-5 behavior mods.
- Effect/Trigger: Full access, ~15.
- ~25-30 applicable modifiers
Compositional character: Beams trade trajectory diversity for reliability — they can't miss (instant hit along a line), and they inherently hit everything in a line. They compose primarily through duration × tick rate (a persistent beam generates many hit events over time) and through width/length scaling. Beams are the "steady DPS" carrier — fewer burst interactions, more sustained pressure.
Unique compositional property: Beams can SWEEP, hitting a changing set of targets as the caster rotates. No other carrier has this "aim-dependent persistent hit zone" property.
3. Area (instant)
Already analyzed in the previous message. ~27-33 modifiers.
Compositional character: Inherently multi-target but one-shot per cast. Composes through spatial modifiers (size, cascade/multi-zone) and effect stacking (what each target receives). The main compositional weakness is that one activation = one set of hits, so event generation is bounded per cast.
4. Zone (persistent area)
Parameters: position, shape, size, duration, tick rate.
What applies:
- Everything Area gets, PLUS duration and tick-rate as extra knobs
- Behavior: B2 Duration (inherent), B13 Recurring (inherent), B11 Decaying (damage falls off), B12 Delayed (zone appears after delay). Strong. ~4-5.
- The tick rate is crucial: a zone that ticks 10 times over 5 seconds generates 10× the hit events of an instant AoE. This makes zones interact with on-hit triggers far more than instant areas.
- Zone stacking: multiple zones can overlap, multiplying damage on a location. This is an emergent compositional property.
- ~30-35 applicable modifiers
Compositional character: Zones are the "set it and forget it" carrier. They generate events passively over time, which means they multiply well with on-hit triggers. The main compositional lever is tick rate × duration × overlap potential. PoE's design leans heavily on this — Caustic Arrow, Vortex, Consecrated Ground stacking.
Versus Area: Strictly more composable than instant Area because it has all the same modifiers plus temporal ones. The tradeoff is gameplay feel — zones are passive/strategic, areas are active/reactive.
5. Aura
Parameters: radius, tick rate, attached-to-unit, move-with-source.
What applies:
- Similar to Zone, but the movement property opens up a unique interaction: caster speed ≈ effective area coverage. A fast-moving aura sweeps across more enemies. This creates a compositional bridge between movement speed and damage output that no other carrier has.
- Delivery mods: Very few. You can't really make an aura homing or multi-shot. MD10 deployable-aura (aura on a totem?) could work.
- Area mods: MAr1-2 fully apply.
- ~22-27 applicable modifiers
Compositional character: Auras compose through "I am the zone." The caster's positioning and movement speed become damage variables. This creates a unique build archetype — Righteous Fire builds in PoE stack aura size, movement speed, and survivability rather than traditional offensive stats. Compositionally niche but deep within that niche.
6. Orbit
Parameters: orbit radius, orbit speed, entity count, entity size, direction (CW/CCW).
This is the one the tables currently bury as D5 (Projectile, orbiting), but I think it's a distinct carrier because the modifier surface is quite different from a projectile.
What applies:
- Delivery mods: MD1 — more orbitals, yes. MD5 homing — doesn't make sense (they orbit, not travel). MD6 returning — doesn't apply. Most trajectory mods don't apply because orbits don't TRAVEL. ~3-4 delivery mods.
- Hit behavior: H2 Pierce — natural (orbit passes through). H12 Persistent contact — natural (repeated hits per rotation). H7 Explode on each hit? Sure. ~4-5.
- Behavior: B2 Duration, B3 Permanent, B13 Recurring (hit per rotation). ~3-4.
- Effect/Trigger: Full access.
- ~25-28 applicable modifiers
Compositional character: Orbits are the "passive offense" carrier — you don't aim them, they just hit whatever's near you. They compose through count × orbit speed × radius. More orbitals + faster rotation = more hits per second. They create the same "I am the weapon" build archetype as auras, but with discrete hit events (which interacts with on-hit triggers better than auras do).
Orbits vs Auras: Orbits generate discrete hits at the rotation frequency. Auras generate continuous ticks at the tick rate. Orbits favor on-hit interactions; auras favor sustained damage. Two paths to the same "walk into enemies" archetype.
7. Trail
Parameters: trail width, trail duration, damage tick rate, shape-follows-movement.
Not in most games' ability ecosystems — the EBB Pencil is the clearest example. PoE's Toxic Trail (from a lab enchant), certain Isaac familiar trails.
What applies:
- Almost no delivery mods — you can't make a trail homing or multi-shot. The trail's "delivery" is the player's movement.
- Area mods: width/duration. ~2.
- Behavior: B3 Permanent (trail persists), B11 Decaying (fades over time). ~2-3.
- Effect: Full access.
- ~18-22 applicable modifiers
Compositional character: Trail is the most movement-dependent carrier. Its effective area is entirely determined by how the player moves. This creates a unique skill expression axis (pathing becomes a damage variable) but very few modifier attachment points. Compositionally narrow.
Key insight: Trails are probably best as secondary effects or modifiers on other abilities rather than primary carriers. "Your dash leaves a damaging trail" (movement + trail) is more interesting than "you have a trail ability."
8. Melee
Parameters: range, arc, attack speed, hit count.
What applies:
- Delivery mods: MD1 multi-hit (Multistrike cleave), MD10 deployable (turret that melees — weird but RoR2 does this), MD17 clone. ~3-4. Most trajectory mods don't apply — there's nothing traveling.
- Hit behavior: MH1 — melee is usually consumed (single target). ME10 Melee Splash is the BIG one — "consumed → AoE." MH6 add explosion. MH3 split — hit one, effect jumps to others? That's basically chain. ~4-5.
- Behavior: MB1 auto-repeat (Multistrike) is very natural and strong. ~2-3.
- Effect/Trigger: Full access.
- ~25-28 applicable modifiers
Compositional character: Melee's core compositional challenge is "how do I hit more things." By default it's single-target, so modifiers that add splash, chain, or cleave are transformative rather than incremental. Melee composes heavily through attack speed × on-hit effects — fast melee with on-hit procs is a classic archetype (PoE melee builds, RoR2 Mercenary/Loader). The compositional bottleneck is range — melee requires being in danger, so survivability modifiers become part of the build equation in a way they don't for projectiles.
9. Targeted (point-and-click)
Parameters: range, target selection.
The "invisible" carrier — no spatial object exists. You click, the target receives an effect.
What applies:
- Delivery mods: Almost none. You can't make a targeted spell homing (it already auto-hits), returning, or multi-shot in the trajectory sense. MD17 clone could work. MB3 multicast (Ogre Magi!) is the big one. ~2-3.
- Hit behavior: Minimal — there's no "hit" in the spatial sense. No pierce, no bounce. But MH2 chain (effect bounces to nearby target after the first) works — that's Medusa Mystic Snake. ~2-3.
- Behavior: MB1 auto-repeat, MB3 multicast. ~2-3.
- Effect: Full access.
- Trigger: Full access.
- ~20-24 applicable modifiers
Compositional character: Targeted abilities trade spatial richness for reliability — they can't miss, can't be dodged. Their compositional space is almost entirely in the Effect and Trigger axes. "What does it do to the target" and "when does it fire" carry all the build diversity, because "how does it get there" is trivially answered.
Interesting property: Targeted abilities compose well as secondary triggered effects (T2–T5). "On hit, apply Doom to the target" doesn't need a projectile — it's a targeted effect piggybacking on another ability's hit event. Many on-hit items in RoR2/Isaac are effectively targeted carriers fired by a trigger.
10. Chain
Parameters: jump range, jump count, damage falloff per jump.
Currently in the tables as both a Delivery (D18) and a Hit Behavior (H3). It could be a carrier in its own right OR a hit behavior modifier on a targeted/projectile carrier. This ambiguity is interesting.
What applies:
- If treated as a carrier: the "object" is the chain lightning bolt jumping between targets. Delivery mods: MD1 multi-chain (multiple chains from one cast), MD5 homing (chains preferring priority targets). ~3-4.
- Hit behavior: At each chain hop, you could apply: H7 Explode (AoE at each landing), H4 Split (spawn projectiles at each hop). These compound the event count multiplicatively. ~3-4.
- Behavior: B1 Instant (chain resolves instantly like Arc) or B2 Duration (chain travels visibly like Chain Frost). ~2.
- ~22-26 applicable modifiers
Compositional character: Chain is the event multiplication carrier. N chain targets = N hit events per activation. Each hit event can proc on-hit triggers, and if those triggers are ALSO chains... exponential scaling. PoE's Arc + Chain support + on-hit triggers is a canonical example. The compositional value of chain isn't in the chain itself — it's in how it multiplies everything else.
11. Summon
Parameters: unit stats, unit AI, unit abilities, duration, unit count.
What applies:
- Delivery mods on the summoning act: Almost none. ~1-2.
- BUT: the summoned unit is itself an entity that can carry abilities. This is the meta-compositional layer.
- The big question: does the summon inherit the summoner's modifiers? In RoR2, Engineer turrets inherit all items — so every on-hit item, every proc chain, fires from the turret. In PoE, summons have their own scaling. This design choice massively affects compositional richness.
- Summoning act: ~10-15 applicable modifiers
- Through inheritance: potentially ~40+ (the summon becomes a new carrier host)
Compositional character: Summons are compositionally recursive. They don't compose well as a modifier target, but they compose infinitely as a modifier VEHICLE. The build question isn't "how do I modify my summon ability" — it's "what abilities/modifiers does my summon carry?" This makes summon-centric builds deeply compositional, but through a different mechanism than projectile builds.
12. Deployable
Parameters: placement, health/duration, fire rate, targeting AI, abilities.
What applies:
- Very similar to Summon compositionally, but stationary.
- The stationarity adds: placement strategy (where you put it matters), overlapping coverage (multiple deployables covering the same area).
- ~12-15 on the deployment act, ~35+ through inheritance
Compositional character: Same recursive compositionality as summons. The key difference is that deployables create spatial commitment — you choose where they go, and that choice persists. This adds a strategic layer that summons (which follow you) don't have. Multiple deployables with overlapping fire zones = multiplicative damage on that area.
13. Tether
Parameters: two anchors, max range, break condition, duration, tick rate.
What applies:
- Delivery: Almost nothing. ~1-2.
- Hit behavior: Minimal — tethers don't "hit" in the traditional sense.
- Behavior: B2 Duration, B4 Channelled (some tethers are channelled). ~2-3.
- Effect: Full access (the tether can apply any effect to the connected target). ~10.
- ~18-22 applicable modifiers
Compositional character: Tethers are relationally composable — they care about the RELATIONSHIP between two entities, not spatial patterns. "Tether to ally → share damage taken" (Io) or "Tether to enemy → if they break range, stun" (Morgana R) creates conditional interactions. Narrow modifier surface but unique strategic space.
14. Attached (Brand)
Parameters: attached-to target, tick rate, duration, detach behavior.
What applies:
- Delivery: MD10 deployable (brand on a totem?). ~2-3.
- Hit behavior: H3 Chain (brand jumps to nearby enemy on expiration — this IS Storm Brand's design). ~2-3.
- Behavior: B2 Duration + B13 Recurring (natural). ~3-4.
- Effect: Full access.
- ~22-26 applicable modifiers
Compositional character: Attached is the "fire and forget" carrier. You cast it once, it does work for its duration. Composes through tick rate × chain behavior × duration. Multiple brands on different targets create distributed autonomous damage. The compositional uniqueness is that the brand is attached to a MOVING target — the damage follows the enemy, unlike a zone which the enemy can walk out of.
15. Movement (dash/teleport)
Parameters: distance, speed, destination, path.
What applies:
- Delivery: Almost none. ~1-2.
- Hit behavior: Dash has a hit component (damage along path), teleport doesn't. ~2-3 for dash.
- Behavior: ~1-2.
- Effect: Can add effects at departure, along path, at arrival. ~5-6.
- ~12-18 applicable modifiers
Compositional character: Movement is the least composable as a damage carrier, but it uniquely composes as a build enabler. Blink Dagger doesn't interact with on-hit items, but it lets you position for abilities that DO. The compositional role is indirect — movement carriers make other carriers more effective. They also compose with: trails (leave damage along path), auras (reposition your aura), melee (close distance to hit).
16. Terrain
Parameters: shape, size, duration, solidity.
What applies:
- Delivery: ~1-2.
- Hit behavior: ~0-1 (terrain usually doesn't "hit").
- Effect: E12 Terrain creation is the effect, not the carrier. But terrain can also apply E8 Soft CC (slow in area), E7 Hard CC (stun on creation). ~3-4.
- ~8-12 applicable modifiers
Compositional character: Terrain is compositionally unique because it changes THE ARENA, not the enemy. It composes through spatial control — funneling enemies into zones, blocking escape routes, protecting allies. The interactions are strategic, not statistical. Terrain + zone (block enemies inside your damage zone) or terrain + beam (funnel enemies into a line) are the compositional patterns.
17. Trap
Parameters: placement, activation trigger, activation delay, zone properties.
What applies:
- Everything Zone gets, PLUS the dormant phase adds trigger mechanics.
- Trigger mods: The activation condition is a modifiable axis — proximity vs. timed vs. manual detonation.
- Delivery: MD11/MD12 from the modifier table (these CONVERT other abilities into traps — so trap is both a carrier and a modifier target).
- ~28-32 applicable modifiers
Compositional character: Trap is Zone with a conditional activation, which adds the information/prediction game. You're composing spatially (where to put it) AND temporally (when will it trigger). Traps compose well with terrain (force enemies onto traps) and with count multiplication (more traps = more coverage). The dormant phase also means traps don't waste their effects on empty space — they wait for a valid target, making each trap more valuable than a zone of equal power.
Summary ranking:
| Carrier | ~Modifier Surface | Compositional Character |
|---|---|---|
| Projectile | ~46 | Maximum versatility, trajectory × count × hit events |
| Zone | ~32 | Passive ticking, stacking, set-and-forget |
| Trap | ~30 | Zone + conditional activation, prediction layer |
| Area (instant) | ~30 | Inherent multi-hit, spatial modifiers |
| Melee | ~27 | Attack speed × on-hit, splash as transformative mod |
| Orbit | ~27 | Passive offense, count × speed, "I am the weapon" |
| Beam | ~27 | Sustained pierce, sweep, tick rate, reliable |
| Chain | ~24 | Event multiplication engine, compounds with on-hit |
| Attached | ~24 | Fire-and-forget, tick × chain × duration |
| Aura | ~24 | Movement = coverage, "I am the zone" |
| Targeted | ~22 | Reliable, no spatial mods, effect/trigger space |
| Trail | ~20 | Movement-dependent, narrow but unique |
| Tether | ~20 | Relational, conditional, niche strategic |
| Movement | ~15 | Build enabler, not damage carrier |
| Terrain | ~10 | Arena manipulation, strategic not statistical |
| Summon/Deployable | ~12 act, ~40+ inherited | Recursively compositional, carries other modifiers |
The big takeaway: there's a clear tier structure. Projectile is king (~46), then a cluster of spatial carriers at ~27-32 (zone, trap, area, melee, orbit, beam), then targeted/relational carriers at ~20-24, then utility carriers at ~10-15. And summons are the weird outlier — low direct composability but meta-composable through inheritance.
One thing this reveals: the modifier table is projectile-biased. If Orblike wants diverse build archetypes, it probably needs to flesh out the modifier sub-tables for the ~27 tier carriers — give beams, orbits, and melee their own modifier ecosystems comparable to what projectiles have. Otherwise builds will always gravitate toward projectile-based abilities as the most interesting carrier to build around.
OK, let's change the document to take these into account, and also to not use abbreviation for the names of things. SO MD1 or whatever shouldn't be used, because I don't have the table always available to me. Just use the actual name of the thing when talking, so remove all abreviations. So the document should now have carriers, the main tables, the modifier tables.
[Think]
The user wants me to update the ability_design_reference.md to:
1. Add a Carrier table (the 17 carriers we just analyzed)
2. Remove all abbreviations (T1, A1, D1, MD1, etc.) — just use the actual names
3. Keep the main tables (Trigger, Targeting, Delivery → now Carrier, Behavior, Hit Behavior, Effect)
4. Keep the modifier tables
Wait, I need to think about this. The Delivery table is being replaced by the Carrier table? Or does Delivery still exist alongside Carrier?
Actually, I think the Carrier table replaces the Delivery table. "Carrier" is the better name for what was previously called "Delivery." The carriers are the fundamental objects — projectile, beam, area, zone, etc.
Now I'm realizing the old Delivery table had subtypes nested within it — like all those projectile variants (arcing, homing, returning, orbiting, etc.) were listed as separate entries. In the new structure, Projectile becomes a single carrier type, and those variants become either subtypes of Projectile or results of modifiers applied to it. So I need to flatten this out and reorganize the carriers as their own distinct category: Projectile, Beam, Area, Zone, Aura, Orbit, Trail, Melee, Targeted, and Chain.
The remaining carriers are Summon, Deployable, Tether, Attached, Movement, Terrain, and Trap. Then I have the main tables for Trigger, Targeting, Behavior, Hit Behavior, and Effect, plus a new set of modifier tables that replace the old Delivery Modifiers — these will handle carrier-specific changes like projectile trajectories and area modifications. But I'm noticing the old Delivery Modifiers (MD1-MD17) were really about how the ability reaches targets, which means many of them are actually carrier modifications rather than something separate.
Since areas are now a carrier type, the Area Modifiers should fold into Carrier Modifiers. And the user wants all abbreviations removed, so instead of "T1 Manual" it should just be "Manual," and references like "H3 Chain" become "Chain." I need to track down where these abbreviations appear — in the ID columns, throughout descriptions and examples, in the Classification Examples table, and in the Modifier tables themselves.
The new document structure should be: Carriers table first, then the main tables for Trigger, Targeting, Behavior, Hit Behavior, and Effect (dropping Delivery since carriers now handle that), followed by the modifier tables. The Carriers table should also include the modifier surface and compositional character columns from our earlier discussion.
I'm debating whether to present the full document for review given its length, but the user's instruction to "change the document" with these specific modifications seems clear enough to proceed. Let me outline the key changes and build it out. I'm going to move forward with writing the document since the user's instructions are clear. Let me outline the structure: I'll start with an intro, then create a carriers table with name, description, modifier surface, compositional character, and examples. After that, I'll build out the five core tables for triggers, targeting, behavior, hit behavior, and effects—each without an ID column, just the core information and examples. Then I'll reorganize the modifiers section to consolidate delivery and area modifiers under "Carrier Modifiers," followed by the other modifier categories.
Generating markdown document... I'm deciding on the right column structure for the carrier table—I want to capture what makes each carrier composable without making it too wide. I think adding a Composability column that shows the key interaction points, like "Very High — trajectory × count × hit events," will give readers the essential information while keeping the format consistent with the rest of the document. Now I need to figure out how to organize the modifier tables themselves.
Looking at what I have, the old delivery modifiers covered projectile changes, self-cast conversions, spectral effects, and clones, while the area modifiers handled size and the new ones I proposed cover zone cascades, movement shifts, growth patterns, and segmentation. I should group these by which carrier they primarily affect—so projectile modifiers together, area modifiers together—and list out the specific transformations like single-to-multi, aimed-to-diagonal, and straight-line variations. I'm realizing a single comprehensive table with an "Applies to" column would be clearest—listing all modifiers with their descriptions and which carriers they affect, while making sure to spell everything out without abbreviations. Let me draft the full document now, being thorough but concise, and I need to resolve how to handle the classification examples so they're clear without relying on table references. Generating the reference document... I'm continuing through the effect archetypes, looking at how orbiting entities scale with attack speed and passive damage, then moving into beam mechanics that sweep or persist with reliable coverage. Chain effects multiply through event triggers and on-hit interactions, while attached effects like brands tick autonomously once placed. Auras function as mobile zones that follow their host, and targeted effects represent the simplest point-and-click interactions.
Now I'm examining the lower-impact categories: trails that follow movement paths, tethers creating relational connections between entities, summons and deployables that inherit power from their host rather than dealing direct damage, and movement abilities that reposition the caster. Generating trigger taxonomy... Now I'm mapping out the different targeting mechanics—whether abilities are aimed in a direction, placed at a specific point, locked onto individual units, or automatically select targets based on proximity. I'm categorizing more ability behaviors—channeled effects that persist while actively held, charge mechanics that build power over time, and setup-then-trigger patterns like marking a target before unleashing a follow-up effect.
Now I'm looking at staged abilities with multiple distinct phases, toggle mechanics that stay active until manually disabled, effects that weaken with distance or time, delayed impacts that trigger after a set duration, and recurring hits that pulse repeatedly throughout their lifetime.
For hit behavior, I'm considering what happens when these abilities connect with targets—whether they're consumed on impact, pierce through enemies to keep traveling, chain to nearby targets, split into multiple projectiles, bounce off terrain or ground, or explode in an area. Generating ability effects table... I'm continuing through the ability categories, looking at damage reflection mechanics like Blade Mail and Lotus Orb, then moving into invulnerability effects, stealth mechanics, vision-granting abilities, and various transformation or duplication mechanics that fundamentally change how a unit functions in combat. Now I'm documenting how modifiers change the carrier or trajectory of abilities—things like converting single projectiles into spreads or arcs, shifting firing angles, and other ways to alter how damage reaches targets.
Continuing with area and zone modifications...
Generating modifier table... Generating modifier table... Generating modifier tables... Generating modifier table... Generating classification table... Continuing through the rest of the ability table with Dota and other game mechanics—Pudge's hook works similarly to Thresh's with instant displacement, Chronosphere creates a persistent area of hard control, Blink Dagger is pure repositioning, and then I'm looking at Isaac items that modify projectile behavior like Brimstone's charged beam, Cricket's Body splitting projectiles, and Spoon Bender adding homing, plus Ludovico making them controllable, and finally RoR2's Ukulele triggering chain reactions on hit.
Now I'm adding the remaining RoR2 items—Will-o'-the-Wisp explodes on kill, Brilliant Behemoth adds explosion effects as a modifier, Engineer Turret deploys a permanent unit that inherits all items, and then a generic chaining projectile that consumes itself after bouncing. I'm starting to think through a design checklist for new abilities, looking at carrier type and trigger conditions as the foundational elements. I'm realizing the Aura classification makes more sense for Cyclone since it's a persistent effect that moves with the caster rather than a traditional area. For Thresh's hook, I need to break it down more carefully — the projectile travels and hits with a stun, then the second cast is a separate dash ability to the hooked target, so I should list the carrier as Projectile with Displace as the hit behavior. I'm going to write out the full document now rather than present snippets first—this is a cohesive rewrite with clear structural changes, and the user can iterate from there. I want to keep the composability column in the carrier table concise but meaningful, make sure it aligns with what we discussed, and weave in that insight about standard versus exotic axes somewhere prominent.
Let me rewrite the document with carriers as a first-class table, all abbreviations removed, and the new area modifiers we discussed.
Read (E:\a327ex\Orblike\orbs\ability_design_reference.md)
1→# ORBS Ability Design Reference
2→
3→High-level building blocks for describing abilities. Pick one from each table to classify an ability. Some abilities combine multiple entries from a table (noted with +).
4→
5→Detailed ability descriptions: `ability_reference.md`
6→
7→---
8→
9→## Building Blocks
10→
11→### Trigger — What activates the ability
12→
13→| ID | Trigger | Description | Examples |
14→|----|---------|-------------|---------|
15→| T1 | Manual | Player activates via input | Fireball, Ezreal Q, Cyclone, Brimstone |
16→| T2 | On-hit | Triggers when dealing damage to an enemy | Ukulele, ATG Missile, Sticky Bomb, Brilliant Behemoth, Needletick |
17→| T3 | On-kill | Triggers when an enemy dies | Will-o'-the-Wisp, Gasoline, Ceremonial Dagger, Guppy, Athame, Frost Relic |
18→| T4 | On-crit | Triggers on critical strike | Predatory Instincts, Harvester's Scythe, Cast on Critical Strike |
19→| T5 | On-damage-taken | Triggers when receiving damage | Cast when Damage Taken, Medkit, Holy Mantle, Tougher Times, The Polaroid |
20→| T6 | Periodic | Fires automatically on a fixed timer | Storm Brand pulses, Engineer turrets auto-fire, Lil Brimstone charge cycle |
21→| T7 | Proximity | Triggers when an enemy enters a range/area | Bear Trap, Teemo mushrooms, Techies mines, Engineer Pressure Mines |
22→| T8 | Conditional | Triggers when a game state meets a threshold | Runald's/Kjaro's Band (damage threshold), Abaddon R (HP threshold), Crown of Light (HP full), Rengar (in brush) |
23→| T9 | Accumulation | Triggers when a counter of events reaches a value | Annie passive (4 spells), Yasuo Q (3rd hit), Jhin passive (4th shot), Lead Pencil (every 15 tears), Discharge (consume all charges) |
24→| T10 | On-death | Triggers when the ability holder dies | Dead Cat, 1UP, Dio's Best Friend, Zilean R buff, Lazarus' Rags |
25→| T11 | Reactive | Triggers in direct response to an incoming attack | Fiora Riposte, Sivir Spell Shield, Nyx Spiked Carapace, Blade Mail, Bot Fly |
26→| T12 | Passive | Always in effect with no activation | Vayne W, Bloodseeker Thirst, Kalista Martial Poise, Drow Frost Arrows, Gnawed Leaf |
27→
28→### Targeting — How the ability selects its target(s)
29→
30→| ID | Targeting | Description | Examples |
... [265 more lines]
Now let me write the updated document.
Write (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Bash (~/bin/neovim.exe "E:/a327ex/Orblike/orbs/ability_design_reference.md" -- -c "Mar...)
Command running in background with ID: b18rox3wz. Output is being written to: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\b18rox3wz.output
Done. Key changes:
Structural:
- New Carriers table at the top with all 17 carriers (Projectile, Zone, Trap, Area, Melee, Orbit, Beam, Chain, Attached, Aura, Targeted, Trail, Tether, Summon, Deployable, Movement, Terrain), each with composability rating and examples
- Old "Delivery" table removed — replaced by Carriers
- "Delivery Modifiers" split into Carrier Modifiers with sub-sections: Projectile modifications, Area/Zone modifications, General carrier modifications
- New area/zone modifiers added: Multi-zone cascade, Static → Moving, Fixed → Growing, Instant → Residue
Formatting:
- All ID abbreviations removed (no more T1, A1, D1, MD1, etc.) — just the names
- Classification Examples updated to use "Carrier" column instead of "Delivery", all entries use full names
- Added more classification examples: Righteous Fire (Aura), Blade Vortex (Orbit), Teemo R (Trap), Io Tether (Tether), Frost Relic (Aura), Dota Arc (Chain)
Design guidance:
- Carrier table includes composability notes explaining WHY each carrier has its rating
- Design Checklist expanded with items 7 (modifier surface) and 8 (axis deviation count)
- Intro includes the "1–2 deviations sweet spot" principle
Go wild and create as many modifiers as you can think of for as many carriers, triggers, etc you can think of. Show them to me here before adding them to the file. Just a flat list with each modifier in a line, explaining what it does, what it affects, etc. Obviously, avoid ones that already exist. After, I'll filter those based on which ones I think are good to add to the file. Prefix each one by a number (1, 2, 3, etc) so I can refer to them easily later.
[Think]
The user wants me to brainstorm as many new modifiers as I can think of, across all carriers, triggers, behaviors, hit behaviors, effects, etc. They want them in a flat numbered list, not yet added to the file. Let me think broadly and creatively.
Let me go through each category and think about what's missing:
**Carrier Modifiers (beyond what exists):**
Existing projectile mods: single→multi fan, single→multi nova, aimed→diagonal, straight→arcing, straight→homing, straight→returning, straight→orbiting, straight→controllable, free-travel→beam-locked, normal→spectral, normal→screen-wrapping
Existing area/zone mods: smaller area, larger area, single→multi-zone cascade, static→moving, fixed→growing, instant→residue
Existing general: self-cast→deployable, self-cast→trap, self-cast→mine, curse→aura, curse→on-hit, clone firing
For projectiles, I'm noticing gaps like zigzag or sine wave paths, spiraling trajectories, sequential volleys instead of simultaneous fans, converting projectiles to instant beams, and projectile speed or size variations.
I'm also thinking about projectiles that chain only when expiring rather than on hit, ones that split after a timer instead of impact, acceleration/deceleration mechanics, backward firing, and sequential multi-projectiles. For beams, there's potential for fan spreads, sweeping rotations, wall bouncing, enemy forking, width variations, and pulsing effects. Melee still needs exploration.
Now I'm considering cleaving arcs for melee hits, ranged melee extensions like whips, and afterimage ghosts from swings. For orbits, I'm looking at alternating directions, expanding or contracting radii, and the ability to detach orbitals outward. Chains could return after spreading out, and they could prioritize targets by health or status. Summons might be detonatable or tethered to the caster with range limits. Auras could pulse and oscillate between states.
Zones open up possibilities for magnetic pulls, stacking effects when overlapped, and damaging bridges between connected zones. Tethers could link to multiple targets or damage enemies crossing the line itself. Movement abilities like dashes could leave damaging trails, grant invulnerability while phasing, or swap positions with targets—or even collect enemies along the path and deposit them elsewhere. Terrain could become damaging walls or temporary structures.
For trails, I'm considering wider coverage and the ability to slow enemies that touch them. Attached effects could spread to nearby enemies over time or be manually detonated. Beyond the existing hit behavior modifiers, I'm looking at adding residue zones on impact, having piercing shots lose damage with each hit, expanding chain reactions that hit larger areas with each jump, and splitting mechanics that branch further.
I'm also thinking about effects that trigger on death or expiration rather than on hit—marking targets for follow-ups, creating tethers, absorbing enemy hits to heal or empower the projectile, piercing through targets with brief pauses, accelerating bounces that gain speed, and ricochets that return to the caster. For triggers beyond what exists, I could add firing when other abilities are used or triggering periodically instead of just manually.
Beyond that, there are more trigger variations worth exploring: flipping on-hit to on-kill, layering secondary triggers so abilities fire under multiple conditions, triggering on dodges or crowd control, adding delays between trigger and activation, and adjusting thresholds for conditional triggers. On the behavior side, I'm considering effects that linger after casting, removing duration caps entirely, converting channeled abilities into set-and-forget durations, extending durations on hit or kill, and implementing stacking mechanics where recasting adds layers or refreshes instead of replacing.
For effect modifications, I could add healing on hit, shields, resource generation, convert damage abilities into healing for allies, create stacking debuffs that worsen with each hit, introduce marks that make targets vulnerable to other abilities, add damage reflection, and delay when effects actually trigger—so damage or crowd control lands after a brief window rather than instantly.
I'm also considering chain reactions where killing a target spreads the effect outward, permanent stat gains from kills, true damage that bypasses resistances, lifedrain mechanics, and status effects that propagate to nearby enemies when the original target dies.
For resources, I could add free casts when certain conditions are met, cooldown reduction based on hits or kills, independent cooldowns instead of shared ones, resource generation when abilities are used, and cost reduction that stacks with consecutive uses. On the speed side, I'm thinking about slower attack speeds that compensate with higher per-hit damage, and projectile modifications.
Now I'm mapping out caster transformations like familiars that follow and copy your ability, reflected casts that fire from the target instead of you, shared casting where allies also cast when you do, and environmental echoes that recast from fixed points after a delay. I'm also realizing targeting is its own modifier category—things like converting aimed abilities to auto-target, randomizing impact points, turning single-target effects into area damage, making buffs castable on allies, or restricting them to self-only.
Now I need to organize all of this into a comprehensive flat list where each modifier is self-contained and explains what it does and what it affects, aiming for 60-80+ total modifiers.
Here's the brainstorm. Each line is self-contained — what it modifies, what it does, and context where applicable.
Projectile carrier mods:
Straight → Zigzag/Sine wave — Projectile oscillates side-to-side as it travels. Distinct from bouncing (doesn't need walls) and homing (doesn't seek targets). Think Touhou-style wave bullets.
Straight → Spiral — Projectile spirals outward from the caster in an expanding helix. Covers a wide area over time but takes longer to reach distant targets. Lollipop from EBB.
Straight → Accelerating — Projectile starts slow and speeds up over distance (or vice versa: starts fast, decelerates). Changes the effective range/timing profile.
Straight → Boomerang — Differs from Returning in that the projectile travels in a curved arc (like a real boomerang), not straight-out-and-back. Covers a wider lateral area.
Single → Volley (sequential) — One projectile becomes several fired one-after-another in rapid sequence (not simultaneously like fan). Each projectile can be aimed slightly differently during the burst. Think Jhin R shots or semi-auto fire.
Single → Shotgun (converging) — Multiple projectiles that start in a spread but converge at a point. Inverse of fan — rewards range-specific positioning. Close = fewer hits, sweet spot = all hit, far = spread out again.
Aimed → Backward — Fires in the opposite direction of aim. Sounds useless alone, but composes with homing, or enables kiting patterns where you run away and shoot behind you.
Normal → Phasing — Projectiles ignore allies and friendly entities, passing through them. Relevant in games with friendly fire or crowded ally units.
Projectile → Growing — Projectile increases in size as it travels, gaining a larger hitbox over distance. Tradeoff: harder to land up close, easier at range.
Projectile → Shrinking — Opposite of above. Starts large, shrinks over distance. Easier to land close, harder far.
Normal → Terrain-creating — Projectile leaves impassable terrain along its path or at its endpoint. Bridges the Projectile and Terrain carriers.
Projectile → Lingering — Projectile stops at max range and persists as a zone for a duration instead of disappearing. Bridges Projectile and Zone carriers. Toxic Rain pods in PoE do something similar.
Beam carrier mods:
Single beam → Multi beam (fan) — One beam becomes several in a spread. The beam equivalent of the projectile fan modifier. Diablo 3 Disintegrate with certain runes.
Fixed beam → Sweeping — Beam automatically rotates/sweeps rather than staying in a fixed direction. Changes from precision tool to area-clearing tool.
Beam → Bouncing (reflects off walls) — Beam reflects off terrain surfaces, potentially hitting enemies around corners. Gives beams a spatial puzzle element.
Beam → Forking — Beam splits into multiple beams when it hits a target, continuing outward in new directions. The beam equivalent of Split.
Beam → Pulsing — Beam flickers on/off at a fixed interval rather than being continuous. Reduces total damage but creates periodic hit events that interact better with on-hit triggers than persistent contact does.
Thin beam → Wide beam — Increases beam width. Simple but compositionally meaningful — wider beam hits more targets, interacts with sweep speed differently.
Orbit carrier mods:
Fixed radius → Expanding/Contracting — Orbitals spiral outward over time (or inward). Changes the effective threat zone dynamically. Expanding = area denial that grows; contracting = pulls damage inward.
Orbit → Detach on command — Orbitals can be launched outward as projectiles on a second activation. Converts Orbit carrier into Projectile carrier mid-ability. Gives orbits a "release" moment.
Orbit → Erratic/Random radius — Orbitals wobble unpredictably in their orbit rather than following a perfect circle. Increases effective coverage area at the cost of reliability.
Single orbit ring → Multiple concentric rings — Adds a second (or third) ring of orbitals at a different radius. Layered defense/offense.
Chain carrier mods:
Chain → Forking chain — Each chain hop splits into 2+ chains to different targets, like a tree branching. Exponential target growth instead of linear.
Chain → Return chain — After reaching max chains, the effect chains back along the same path to the caster. Each enemy gets hit twice. Medusa Mystic Snake already does something like this (returns mana).
Chain → Priority targeting — Chains prefer specific targets: lowest HP, highest HP, most debuffs, unmarked enemies. Adds strategic depth to an otherwise random-feeling mechanic.
Chain → Increasing chain — Each subsequent chain hop deals more damage (or has a larger effect) than the last. Rewards abilities that reach many targets — the last target in the chain is the most punished.
Chain → Decreasing chain — Opposite: each hop is weaker. More standard/realistic falloff. Makes chain count a tradeoff (more targets but diminishing returns).
Melee carrier mods:
Single hit → Cleave arc — Melee hit becomes a sweeping arc that hits everything in a cone. Different from Splash (which is centered on the target) — Cleave is centered on the attacker.
Melee → Extended reach (whip) — Increases melee range significantly, turning it into a mid-range carrier while keeping the melee "feel" (no projectile, instant hit in a direction).
Melee → Afterimage — Each swing leaves a damaging ghost of the swing arc that persists briefly. Subsequent swings stack ghosts. Rewards attack speed differently than raw on-hit.
Melee → Lunge — Melee attack causes the caster to dash a short distance toward the target before hitting. Bridges Melee and Movement carriers. Removes the "I have to walk to them first" weakness.
Zone carrier mods:
Zone → Magnetic/Pulling — Zone slowly pulls enemies toward its center. Doesn't deal damage itself but keeps enemies inside for longer, amplifying any zone damage. Composes with other zones.
Zone → Linked — When two or more zones are placed near each other, they connect with a damaging bridge between them. Rewards deliberate zone placement. Creates geometric combat patterns.
Zone → Stacking — Overlapping zones compound their effects multiplicatively rather than additively. Makes precise zone placement exponentially rewarding.
Zone → Detonatable — Zones can be manually detonated, consuming them for an instant burst of damage. Trades sustained damage for burst. Gives zones an "exit" option.
Zone → Decaying center — Zone damage is strongest at the edge and weakest at the center (or vice versa). Creates spatial nuance within the zone.
Zone → Migrating — Zone slowly drifts toward the nearest enemy. Not as direct as homing projectile — more like a slow creep. Between Static and Moving.
Aura carrier mods:
Aura → Pulsing — Aura oscillates between active and inactive states. During active: full effect. During inactive: charges up for a stronger next pulse. Creates rhythmic gameplay.
Aura → Expanding on kill — Aura radius temporarily increases when the caster kills an enemy. Snowball mechanic — the more you kill, the more area you cover, the more you can kill.
Aura → Inverting — Aura effect flips: what hurts enemies heals allies in range (or vice versa). A single aura becomes dual-purpose based on who's inside it.
Attached (Brand) carrier mods:
Attached → Spreading — Brand copies itself to nearby enemies over time, like a contagion. Slow initially, but in dense packs the spread accelerates exponentially.
Attached → Detonatable — Brands can be manually triggered for a burst, consuming them. Like zone detonation but on mobile targets. Allows setting up many brands then detonating simultaneously.
Attached → Feeding — Each tick of the brand makes the next tick stronger. Rewards leaving brands on tanky enemies rather than popping them early.
Attached → Sympathetic — When a branded target takes damage from any source, nearby branded targets also take a portion of that damage. Creates "linked" groups of enemies.
Tether carrier mods:
Single tether → Multi-tether — Tether connects to multiple targets simultaneously. Creates a web rather than a line.
Tether → Damaging line — The tether line itself damages or impedes enemies that cross it. The connection becomes terrain-like. Composes with displacement (knock enemies through the line).
Tether → Transferring — When one tethered target dies, the tether jumps to the nearest untethered enemy. Persistent until no valid targets remain.
Summon/Deployable carrier mods:
Summon → Sacrificial — Summons can be detonated, dealing AoE damage based on their remaining HP. Creates a "do I keep the sustained DPS or cash it in for burst" decision.
Summon → Tethered — Summons are connected to the caster by a tether with a max range. If they'd go too far, they're pulled back. Creates a formation rather than free-roaming chaos.
Deployable → Mobile (on trigger) — Deployable can be repositioned by recasting, or it slowly migrates toward enemies. Bridges Deployable and Summon carriers.
Summon → Inheriting — Summons inherit the caster's on-hit effects, triggered abilities, etc. The RoR2 Engineer design as a modifier rather than a fixed property. Could apply to any summon build.
Summon → Explosive death — When a summon dies (naturally or killed), it triggers an on-death effect (explosion, zone, debuff). Makes summon death meaningful, not just a loss.
Movement carrier mods:
Dash → Damaging trail — Leaves a damaging zone along the dash path. Bridges Movement and Trail carriers. Flame Dash in PoE does this.
Dash → Collecting — Enemies along the dash path are scooped up and deposited at the endpoint. Like a snowplow. Bridges Movement and Displacement.
Teleport → Swap — Instead of teleporting to a point, you swap positions with a target (ally or enemy). Vengeful Spirit Nether Swap as a modifier rather than a distinct ability.
Movement → Aftershock — Arriving at the destination creates an AoE impact. The faster/farther you traveled, the bigger the impact.
Dash → Phasing — Caster is invulnerable/untargetable during the dash. Bridges Movement and Invulnerability effect.
Trail carrier mods:
Trail → Wider — Trail width increases, covering more area. Simple scaling.
Trail → Persistent — Trail lasts much longer (or permanently until a cap). Allows "painting" the arena with damage.
Trail → Trapping — Trail applies slow or root to enemies that touch it, rather than (or in addition to) damage. Trail becomes area denial.
Trail → Detonatable — Entire trail can be detonated at once for burst damage, consuming it. The longer the trail, the more total damage. Rewards movement before detonation.
Terrain carrier mods:
Terrain → Damaging — Created walls/geometry deal damage to enemies that touch them. Terrain becomes both spatial control and damage source.
Terrain → Crushing — When terrain is created, enemies caught inside the wall's footprint take heavy damage or are displaced. Fissure stun is an example. Makes placement offensive, not just defensive.
Terrain → Temporary with collapse — When the terrain expires, it collapses and deals AoE damage or applies a debuff in the area it occupied.
Trap carrier mods:
Trap → Rearmable — After triggering, the trap recharges and can trigger again after a delay. Turns single-use into recurring. Like a turret with a proximity trigger.
Trap → Sympathetic detonation — When one trap triggers, nearby traps also trigger simultaneously. Chain reaction of traps. Rewards clustering.
Trap → Bait — Trap actively attracts enemies toward it, making triggering more likely. The trap has a "pull" aura before detonation.
Hit behavior mods:
Hit → Leave residue zone — Each hit leaves a small damaging ground zone at the impact point. Like Add Explosion but persistent rather than instant. Every hit paints the battlefield.
Hit → Mark target — Hitting marks the target; other abilities or subsequent hits on marked targets deal bonus damage or trigger special effects. Generic "mark" mechanic as a modifier.
Hit → Tether on hit — Hitting a target creates a tether between the caster and the target. Bridges hit behavior with Tether carrier.
Hit → Absorb — Projectile gains damage/size/speed from each enemy it hits. Rewards pierce and chain — the more things it hits, the stronger it gets.
Pierce → Diminishing — Projectile passes through but loses a percentage of damage/effect per target hit. More realistic pierce with inherent falloff.
Split → Split on expire — Instead of splitting on hit, projectile splits when it reaches max range or times out. Covers a different spatial pattern than hit-splitting.
Bounce → Accelerating bounce — Projectile gains speed (and optionally damage) on each wall bounce. Turns arena geometry into a damage multiplier.
Chain → Expanding chain — Each chain hop creates a small AoE at the landing point. AoE grows with each hop. Final hop has the biggest explosion.
Hit → Fragile on hit — Target becomes "fragile" — the next hit from any source deals bonus damage. One-stack mark that's consumed on next hit. Encourages alternating abilities.
Trigger mods:
Manual → On-ability-use — Fires automatically whenever any other ability is used. Piggybacks on the caster's general activity. Weaker per-cast but fires very frequently.
Manual → Periodic — Manual ability becomes timer-based, firing automatically on a fixed cooldown. Removes player agency but guarantees consistent output.
On-hit → On-kill — Opposite of existing On-kill → On-hit. A frequent, weaker triggered effect becomes a rare, stronger one. Concentrates power into kill moments.
Add secondary trigger — Ability keeps its primary trigger AND gains a secondary one. "This ability fires on Manual AND on On-crit." Dual-trigger increases activation frequency without replacing the original.
Trigger delay — Adds a fixed delay between the trigger condition being met and the ability actually firing. Storm Call does this inherently; this makes it a modifier applicable to any trigger.
Trigger on CC — Fires when the caster applies any crowd control effect. Rewards CC-heavy builds with bonus damage/effects.
Trigger on dodge/evade — Fires when the caster successfully avoids an attack. Defensive trigger that rewards evasion builds.
Accumulation threshold change — Lowers or raises the counter needed for accumulation triggers. "Every 3rd hit" becomes "every 2nd hit." Direct scaling of accumulation-based abilities.
Behavior mods:
Instant → Lingering — Instant ability's effect persists for a brief duration after cast. An instant AoE becomes a short-lived zone. Bridges Instant and Duration behaviors.
Duration → Permanent — Removes the duration cap; effect persists until killed or cancelled. Blade Vortex lasting forever would be absurd — which is exactly why this is interesting as a rare/powerful modifier.
Channelled → Set-and-forget — Channel becomes a fire-and-forget duration ability. You cast it, it channels itself. Frees the caster to do other things. Major playstyle shift.
Duration extended on hit — Each time the ability deals damage, its remaining duration is refreshed or extended. Rewards aggressive play — the ability stays up as long as you keep hitting things.
Duration extended on kill — Similar but on kill. Less frequent extension but bigger reward per event. Encourages chaining kills to maintain uptime.
Instant → Delayed — Adds a delay between cast and effect. Like Storm Call as a modifier. Delay could come with a damage/area bonus to compensate.
Single → Stacking recast — Recasting the ability adds a stack instead of refreshing. Each stack increases the effect. Creates a "ramp up" pattern over multiple casts.
Channelled → Pulsing — Instead of continuous effect while channelled, the channel emits periodic pulses with gaps between them. Each pulse is stronger than the continuous version would be per tick. Trades consistency for burst-per-tick.
Effect mods:
Add lifesteal on hit — Portion of damage dealt is returned as healing to the caster. The universal sustain modifier.
Add shield on hit — Hits grant a temporary shield to the caster. Unlike lifesteal, shields stack and have their own duration. Rewards rapid hits.
Add resource on hit — Hits restore mana/energy/cooldown to the caster. Sustains ability usage — hitting things lets you cast more.
Damage → Heal (ally conversion) — Offensive ability becomes a healing ability when it hits allies instead of enemies. Single ability, dual purpose based on target. Like Targeted Any but as a modifier.
Add stacking debuff — Each hit on the same target increases the debuff intensity. First hit: 5% slow. Second: 10%. Third: 15%. Rewards focusing fire on one target.
Add damage sharing (linked) — A percentage of damage dealt to any affected target is also dealt to all other affected targets. If you hit 3 enemies with debuff, hitting one damages all three.
Add chain reaction on kill — If the ability kills a target, the effect (or a portion of it) automatically applies to a nearby enemy. Kill-propagation without being a full Chain carrier.
Add conditional bonus — Effect has a bonus if a condition is met at time of hit. "Deal 50% more damage to slowed enemies." Encourages combining abilities.
Effect → Delayed detonation — Damage/effect doesn't apply immediately; instead it accumulates on the target and resolves all at once after a delay. Zed R mark as a modifier. Massive burst potential.
Add friendly fire — Ability can hit allies (or the caster) in addition to enemies. Dangerous modifier that could be a downside or used creatively with damage→heal conversion.
Status spread on death — When a target with debuffs/DoTs from this ability dies, those effects spread to nearby enemies. Plague-like propagation.
Add damage-to-self on cast — Each cast hurts the caster. Powerful ability with a health cost. Like Lifetap but as lost HP rather than replaced mana cost.
Targeting mods:
Aimed direction → Auto-target nearest — Removes aiming; ability automatically fires at the nearest valid target. Reduces skill expression but increases consistency. Think auto-attack vs. skillshot.
Aimed point → Random point in range — Removes precise targeting; ability lands at a random location within range. Higher variance, potentially wider coverage.
Targeted enemy → AoE around target — Point-and-click single-target becomes an AoE centered on the clicked target. Like Single-target → Splash but for targeted (non-melee) abilities.
Self → Targeted ally — Self-buff becomes castable on an ally instead. Righteous Fire on an ally? Blade Vortex on a summon?
Single-target → Multi-target — Ability that targets one enemy now targets N enemies simultaneously. Like chain but without the sequential hop — all hit at once.
Add secondary target — Primary effect on the targeted entity, weaker secondary effect on enemies near the target. Built-in splash without changing the carrier.
Aimed → Reversed (backward fire) — Ability fires in the opposite direction from aim. Strange alone, composes with movement abilities (dash forward, fire backward) or with clone firing.
Self → At cursor — Self-centered effect instead originates at the cursor position. Cyclone at a distance. Blade Vortex at the aimed point.
Global → Zone-limited — Global effect is restricted to an area but with increased power within that area. Trades guaranteed-hit-everything for concentrated force.
Cross-carrier mods (change one carrier into another):
Projectile → Zone on expire — Projectile that doesn't hit anything becomes a zone at its max range. Failed shots still contribute area denial. Already partially captured by "Projectile → Lingering" (#12) but this is specifically on miss/expire, not always.
Area → Projectile (shrapnel) — AoE burst also fires projectiles outward from the detonation point. Area that feeds into the projectile ecosystem. Fireball kinda does this implicitly.
Melee → Projectile on hit — Each melee hit releases a projectile. Bridges melee into the ranged modifier ecosystem. Titanic Hydra wave in LoL.
Beam → Zone at terminus — Beam creates a damaging zone at whatever point it stops (max range or wall). Sustained aim = sustained zone.
Summon → On-death zone — When summons die, they leave a zone on the ground. Death becomes area denial. Composes with sacrificial summon mod.
Chain → Projectile per hop — Each chain hop spawns an additional projectile in a random direction. Chain becomes a projectile-spawning engine.
Orbit → Zone on detach — When orbital entities expire or are detached, they become zones at their current position. Orbit "seeds" zones around the caster.
1, 2, 3, 4
There's Volley from Path of Exile which is like LMP/GMP, except the projectiles are parallel to each other in numbers of 3, 5. We should have similar distinction here. And then what you called Volley here should be Burst instead.
Isn't shotgun the opposite of what you described? Starts in a point and diverges? Unless that's already described and you're trying to describe a Reverse Shotgun, but then it should be named that.
7
- Phasing should be friendlies, enemies, terrain, walls, etc. Related to this, some games might benefit from a Warping modifier which allows the projectile to warp across the screen.
9, 10, 11, 12
- We could have a LMP/GMP/Volley that also applies to beams, orbits and any others where it makes sense. So we could have individual modifiers for each, but also these more general ones that would be more valuable.
14, 15, 16. Same as mentioned in 13 applies to the fork/chain/etc that applies to beams and projectiles.
18
Important thing about beams, you mentioned how the projectile pathing options don't apply to them, but they do. In Isaac Brimstone pathing modifiers are a common source of fun, they use Bezier curves to make it work.
19
- "on command" should have a way of being linked/modified further by things like "when damage taken" and other types of triggers. This implies a modifier -> modifier type of thing too, I guess?
21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37
38, 39 - these should be general area modifiers, I believe the first even is a PoE elementalist node, or something like that.
41, 42, 43, 44, 45, 46, 47
A few other tether options: pull tethered enemies towards position, detonate tethered enemies, tethered enemies share damage/debuffs
48, 49, 50, 51, 52, 53, 54, 55, 56, 57
48, 52 -- note how much "detonate" appears across the modifiers, this goes back to what i mentioned earlier, where there are a few hooks for modifier -> modifier types. Liek if we were imagining PoE links, we could imagine Summon Skeleton -> Cast on Death -> Detonate, right? So these meta modifiers like Cast on Death, When Damage Taken, and various others, can act as bridges that allow for more specificity. After I finish doing the analysis on all modifiers, run one of your own with special attention for these kinds of modifiers. For every modifier we have, think, could this be made more modular with other "meta/trigger" modifiers like Cast on X? Or other types of meta modifiers I haven't imagined, because "Cast on" might not be the only one that fits. The same idea applies to 56, for instance, doesn't have to be an aftershock, could be anything, Teleport -> Cast on Movement -> Earthquake and then cast on movement can be like when damage taken, where every distance covered it goes up and casts after some distance has been covered. if you have low level cast on movement, youll trigger many spells as you move, but for a long range teleport you want max level so that once the teleport goes off you cast the linked spell at maximum potency, makes sense? Try to think of many things like that.
58 - this can be collapse into area modifiers
59 - this can be collapsed into duration omdifiers
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75
77, 78, 79, 81, , 82, 83, 84
85, 86, 87, 88, 89, 90, 91, 92
95 - previous two can be collapsed here 97, 98 - collapsed by tether, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113
115, 116, 117, 118, 119, 120
Rememebr what I said, a lot of these can be simplified by assuming we have trigger modifiers, or that we have a more general modifier that applies to multiple things, for instance, 117, 120 are the same thing essentially, just with different carriers. Any numbers I mentioned should go into the document, unless I explicitly say that can be collapsed into something else. And then you may decide to collapse any numbers I mention if you find a way to express that in more general terms. Make sure that your general modifier modifiers also take into account the modifiers that are already in the document and not only the new ones you generated.
If you have any questions before proceeding please ask
[Think]
This is a complex set of instructions. Let me parse through everything carefully.
The user wants me to:
1. Add the approved modifiers to the document
2. Collapse some modifiers into more general forms where applicable
3. Add the concept of "meta-modifiers" or "modifier bridges" — things like "Cast on X" that can chain modifiers together
4. Consider beam pathing modifiers (like Isaac's Brimstone with Bezier curves)
5. Make LMP/GMP/Volley/Fork/Chain/etc. general modifiers that apply across carriers (not just projectiles)
6. Think about which modifiers can be expressed more generally
7. After finishing, do a separate analysis of "meta/trigger modifiers" — modifiers that modify other modifiers
Now I'm looking at the approved modifier numbers to integrate: 1, 2, 3, 4, 7, 9, 10, 11, 12, 14, 15, 18, 19, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49.
I see the list continues with 50 through 120, with most items approved, and I need to handle special cases like renaming modifier 5 to "Burst."
For the next chunk, I'm refining several modifier definitions: Volley should split into a base version and "Parallel (volley)" for synchronized projectiles, Shotgun needs clarification as either converging or reverse shotgun depending on direction, Phasing should expand to cover different entity types and terrain separately, and I should generalize multi-shot, fork, chain, and bounce mechanics to work across beams and orbits rather than just projectiles.
Now looking at the follow-up notes: beams can leverage projectile pathing through curves, "on command" should chain with trigger modifiers, area and duration effects need consolidation, and several resource-based modifiers collapse into broader categories like "Add resource on hit" and tether mechanics. I need to do a meta-modifier analysis across all modifiers to identify trigger bridge patterns like "Cast on X" or "Cast on Death" — that's substantial work, so I should think through how to structure the document. Let me clarify the approval rules: the numbers mentioned are approved unless explicitly marked for collapse, so I'm adding 95 (resource on hit covering HP/shield/mana) while excluding 58 and 59 as they collapse into existing categories, and keeping 97 and 98 despite the tether note since they weren't explicitly removed.
For the rejected ones, I notice 17 (Beam → Pulsing) wasn't mentioned in the approval list, so that's out, while 16 gets approved but needs to be generalized to cover beams and projectiles, and 20 is flagged for meta-modifier treatment.
Looking at the rest of the rejections: 28, 40, 76, 80, 96, and 102 all didn't make it into the numbered approvals, so they're discarded. I'm still checking on 114 to see where that lands.
Actually, I need to reconsider 95 — the user noted that the previous two items can be collapsed there, meaning 93 and 94 should fold into a single general "Add resource on hit" modifier that encompasses lifesteal, shield generation, and mana restoration.
For the meta-modifier analysis, the user is looking for "Cast on X" bridges like Cast on Death, Cast on Damage Taken, Cast on Crit, and Cast on Movement. These act as connectors that let you chain modifiers together — so you could trigger Detonate when a Summon Skeleton dies, or trigger Earthquake when you move while Teleported. I'm starting to see how these bridges create the modifier chains they want to support.
The user wants me to first integrate all the approved modifiers into the document, then add a dedicated section analyzing meta-modifiers and modifier bridges. I also need to review the existing modifiers in the document to see which ones could be refactored through these meta-modifier bridges, not just focus on the new ones. And I should think about how the "Single → Multi" modifier applies beyond projectiles to beams as well.
I'm realizing the key insight here: instead of having separate entries for each carrier type (projectile, beam, orbit), I should express modifiers more generally and note which carriers they apply to. So "Single → Multi (fan)" becomes one entry that works across projectiles, beams, and orbits, with specific implementation details for each. The same goes for pathing modifiers like homing and zigzag—they should apply to beams through Bezier curves, not just projectiles through direct curves. And beam-specific behaviors like forking are really just the beam equivalent of projectile splitting.
The real question is how to structure the modifier section itself. Rather than organizing by carrier type, I should organize by the kind of modification—count modifiers, pathing modifiers, phasing modifiers—so the generality becomes the primary organizing principle. The user clearly wants to see how modifiers bridge across different carriers rather than treating each carrier's modifications in isolation. I'm adding size and lifecycle modifications to flesh out the carrier system, then realizing I need to step back and organize this more clearly. Let me break down the specific distinctions the user flagged—volley should be parallel projectiles firing simultaneously, while burst is sequential rapid fire—and I'm starting to work through the shot mechanics before getting cut off.
Now I'm circling back on the phasing and warping distinction. The user mentioned warping as a screen-wrapping mechanic, but that's already documented, so I'm wondering if warping means something different—maybe teleporting through obstacles to the other side rather than wrapping around the screen edges.
For the multi-modifier restructuring, I'm consolidating the count changes to work across all carrier types: fan spreads projectiles, nova fires in all directions, parallel creates side-by-side patterns, and concentric stacks multiple rings at different distances. Fork, chain, and bounce behaviors should live in the Hit Behavior section since they apply to beams as well.
I'm also recognizing that beams can follow curved paths through Bezier interpolation, so pathing modifiers like Homing and Zigzag work for beams too. The "on command" trigger system is really a meta-modifier bridge — things like Orbit detaching or Aura pulsing become conditional based on triggers like damage taken or kills. And pulsing and expanding effects should generalize across Zone, Aura, and Area types rather than being Aura-specific. Detonate and similar patterns are decomposing into more fundamental meta-modifier structures.
Now I'm mapping out how these meta-modifiers work as trigger-payload pairs — a condition fires and executes an ability. Cast on Death lets summons explode or leave zones when destroyed, Cast on Hit chains effects when projectiles connect, and I can see how these patterns compose together. a target, trigger another ability (already exists as "On-hit trigger" but making it explicit as a linker)
- Melee → Cast on Hit → Projectile (melee hit launches projectile — #116)
- Projectile → Cast on Hit → Tether (hit creates tether — #70)
- Projectile → Cast on Hit → Mark (#69)
3. **Cast on Expire** — When the carrier reaches end of life (max range, duration end)
- Projectile → Cast on Expire → Zone (#12, #114)
- Beam → Cast on Expire → Zone (#117)
- Orbit → Cast on Expire → Zone (#120)
- Split on expire (#73)
4. **Cast on Movement** — When the caster covers X distance, trigger an effect
- Movement (Dash/Teleport) → Cast on Movement → Area/Zone (#56, aftershock)
- Movement → Cast on Movement → Trail (trail is inherently this)
- Low-level Cast on Movement triggers many weak spells as you move; high-level triggers one big spell after covering a lot of distance
5. **Cast on Crit** — Already exists (Manual → On-crit)
6. **Cast on Damage Taken** — Already exists (Manual → On-damage-taken)
7. **Cast on Accumulation** — When a counter reaches N, apply the modifier to any ability (like triggering an effect after the 5th chain hop)
8. **Cast on Transition** — When the carrier changes state, such as when a tether breaks or a channel ends, trigger an ability
; when a zone expires, trigger an ability
9. **Detonate** — A manual trigger that consumes a carrier for a burst effect, applied across zones, attachments, summons, orbits, trails, and tethers; essentially a manual trigger tied to carrier death or consumption
10. **Convert on X** — The carrier transforms into a different type instead of triggering a new ability, like a projectile becoming a zone on expiration or an orbit detaching into a projectile
These are really three meta-modifiers: Cast on [trigger condition] links any trigger to any ability, Detonate is the specific case of manually consuming a carrier for a burst, and Convert on [trigger condition] transforms the carrier type. Most of the specific modifiers I listed are instances of these patterns—Sacrificial summon combines summon with detonate, Explosive death combines summon with cast on death plus explode, Aftershock combines movement with cast on movement completion plus area, and so on.
But this system doesn't capture everything. Pathing modifiers like homing, zigzag, and returning change how a carrier moves continuously rather than triggering events, and count modifiers that shift from single to multi-target work the same way—they're parametric changes to properties, not event-response chains.
So there's a fundamental split: parametric modifiers that alter inherent carrier properties versus event modifiers that decompose into trigger bridges and payloads. This distinction feels like the key structural insight for the document.
The user wants me to update the document with the approved modifiers, collapse numbers into general terms where possible, and perform a meta-modifier analysis. They're asking if I have questions before I proceed, and they also want me to run my own analysis after finishing theirs, focusing on these modifier categories.
Let me clarify what I'm uncertain about before moving forward. I'm deciding on the output format — the user expects either questions or me proceeding with the analysis. I think I should present the meta-modifier analysis inline, then update the document, and open it for review. But I do have a few clarifications I need to raise first, particularly around whether modifiers 97 and 98 should be expressed as tether mechanics, and I'm partway through a question about modifier #8.
Actually, I'm realizing these are minor enough that I can make reasonable choices and the user will correct me if needed. They gave clear feedback and said "if you have any questions" — which suggests they expect me to mostly proceed rather than ask for every detail.
So I'll move forward with the meta-modifier analysis inline and update the document. But first, I need to think through the scope here. The user approved 90+ modifiers and wants them added, collapsed where possible, generalized, analyzed for meta-patterns, and the whole document restructured. This is a massive undertaking.
For the new structure, I'm thinking about how to organize all these modifiers beyond the current categories like Carrier, Hit Behavior, Trigger, Behavior, Effect, Resource, Speed, and Caster modifiers.
I should probably group Carrier Modifiers into subcategories—count changes, pathing via Bezier curves for projectiles and beams, phasing, size/scale, carrier-specific tweaks like orbit or zone behavior, and cross-carrier transformations. Then keep the existing sections like Hit Behavior, Trigger, Behavior, Effect, Resource, and Caster. I'd also add Targeting Modifiers as a new section since that wasn't in the original, plus Meta-Modifiers for the Cast on X system. But this is getting unwieldy, so I need to figure out how to compress and organize this without losing clarity.
The user wants me to analyze the meta-modifiers first—specifically how trigger conditions and payloads decompose into independent pieces—then update the document with that insight. Let me draft that analysis inline before revising the full structure.
I'm identifying the core trigger bridges that could replace dozens of specific modifiers through composition. Cast on Hit acts as a generalized trigger that fires linked effects whenever the carrier hits a target, consolidating several existing behaviors like projectile-on-hit and mark-on-hit. Cast on Expire similarly handles end-of-life triggers across different carrier types, whether they're projectiles reaching max range, beams terminating, or orbiting effects expiring.
Cast on Death distinguishes premature destruction from natural expiration, applying to summons, deployables, and destructible terrain. Finally, Detonate provides a manual trigger mechanism for carriers that can be consumed on demand for burst effects, replacing detonatable zones and sacrificial summon mechanics.
Moving on, Cast on Movement fires effects when the caster travels a certain distance, with scaling that makes low-level spells trigger frequently while high-level ones fire once after covering significant ground. Cast on Transition handles state changes like broken tethers or ended channels, generalizing the channel-then-release pattern that already exists in the system.
Convert on Trigger is different—instead of spawning a new ability, the carrier itself morphs into another type, like a projectile becoming a zone on impact or an orbit detaching into a projectile. This is mechanically simpler than Cast on X since no new entity gets created.
Now I'm checking which existing modifiers already decompose into these trigger bridges—Add Explosion maps to Cast on Hit → Area, and Consumed → Stick is essentially Cast on Hit. Now I'm mapping out how to organize this expanded reference document—I'll structure it around modifier categories, starting with carrier-specific rules, then moving through hit behavior, triggers, and targeting, before covering the broader behavioral and resource systems, and finally adding a new section for these trigger bridge mechanics.
Before I dive into the full rewrite, I need to clarify the scope with the user and make sure I'm capturing all the specific numbers and mechanics they mentioned, while also identifying where I can generalize patterns across modifiers. I'm going to organize the document with a clear structure: first the meta-modifier analysis as its own section, then the comprehensive carrier modifiers breakdown with all the count, direction, and application variations I've identified. Beam.
- Single → Multi (converging) — converge at a point ahead. Applies to: Projectile.
- Single → Burst (sequential) — fires one after another rapidly. Applies to: Projectile, Beam.
- Single → Multi (concentric) — multiple rings at different radii. Applies to: Orbit.
- Single → Multi-zone (cascade) — AoE at offset positions. Examples: Spell Cascade. Applies to: Area, Zone.
**Pathing modifications** (Projectile; Beam via Bezier curves)
- Straight → Homing
- Straight → Returning
- Straight → Orbiting
- Straight → Arcing
- Straight → Zigzag/Sine wave (NEW #1)
- Straight → Spiral (NEW #2)
- Straight → Accelerating/Decelerating (NEW #3)
- Straight → Boomerang (curved arc) (NEW #4)
- Straight → Controllable
- Free-travel → Beam-locked
- Aimed → Diagonal/Offset
- Aimed → Backward (NEW #7)
- Fixed beam → Sweeping (auto-rotates) (NEW #14)
**Phasing modifications** (what the carrier passes through)
- Normal → Phasing (terrain) — passes through walls/obstacles. Examples: Ouija Board.
- Normal → Phasing (friendlies) — passes through allies. (NEW #8)
- Normal → Screen-wrapping — exits screen edge, reappears opposite. Examples: Continuum.
**Size modifications**
- Growing over distance/time — carrier hitbox increases. (NEW #9)
- Shrinking over distance/time — carrier hitbox decreases as it travels or ages.
- Larger area — increases area coverage, applying to zones, orbits, and auras.
- Smaller area with damage boost — concentrates the effect into a tighter space for higher impact.
**Carrier-specific modifications**
For orbits, I'm looking at how the radius can shift from fixed to expanding or contracting, or become erratic and random. For zones, there are several variations: they can transition from static to moving with a velocity vector, grow in size over their duration, leave behind persistent areas when triggered instantly, or gain magnetic properties that pull things toward them.
I'm also considering zone behaviors like pulling enemies inward, linking nearby zones with damaging connections between them, stacking multiplicatively when they overlap, having damage concentrated at either the edge or center, and drifting slowly toward the nearest enemy. Zones can also pulse between active and inactive states, or expand temporarily when they kill enemies.
For beams, I'm noting they can bounce off walls. For melee attacks, the reach can extend like a whip, and swings can leave behind damaging afterimages.
Now I'm looking at attached effects—they can spread to nearby enemies, grow stronger with each tick to empower the next application, or link branded targets so they share damage taken. Tethers open up more possibilities: connecting to multiple targets simultaneously, creating damaging lines that hurt anything crossing them, jumping to new targets when the current one dies, pulling tethered enemies toward the caster, or making tethered enemies share damage with each other.
For summons and deployables, I'm considering tethering them to limit their range from the caster, allowing them to reposition when triggered, or having them inherit the caster's on-hit effects. Terrain can deal damage on contact or crush enemies caught during its creation. Traps can recharge after triggering, detonate sympathetically when nearby traps go off, or attract enemies toward them. Trails can apply slowing or rooting effects.
Now I'm mapping out broader modifications—terrain-creating effects that leave impassable geometry, general carrier conversions like self-cast to deployable or trap, and how curses can become auras or on-hit effects. I'm also considering how carriers can linger at max range and persist as zones. For hit behavior, I'm looking at how consumed effects can pierce, chain, split, bounce off terrain or ground, stick to targets, or block projectiles, plus adding explosions and gravity interactions.
Beyond those, there are new hit modifiers emerging: leaving residue zones on impact, marking targets, tethering on hit, absorbing power from each strike, and how piercing effects can diminish with each target. I'm also exploring how split can trigger on expiration, how bounces accelerate with each impact, and various chain enhancements—expanding AoE at each hop, forking to multiple targets, returning along the path, or prioritizing certain targets.
Now I'm distinguishing between the pure hit behavior modifications that directly change what happens on contact versus those that decompose into trigger bridges. The ones that stand alone are mark target, absorb, diminishing pierce, accelerating bounce, forking chain, return chain, priority targeting, and increasing or decreasing damage per chain hop. The others need to be broken down into their underlying trigger mechanisms.
For the trigger modifiers, I'm looking at how the activation conditions themselves can be transformed—manual triggers can become conditional on crits or damage taken, automatic triggers can be set to activate on kill instead, and on-demand effects can shift to on-kill activation.
Now I'm expanding this section with new modifier types: changing when abilities activate based on ability usage or periodic intervals, shifting hit-based triggers to kill-based ones, adding delays before triggers fire, and conditioning activation on crowd control or evasion events, plus accumulation thresholds.
I'm also introducing a new targeting modifiers section that covers how the direction and scope of effects change—from aimed shots that auto-target the nearest enemy, to point-targeted abilities that randomize their impact zone, single-target effects that become AoE, and self-cast abilities that can retarget allies or the cursor instead.
For behavior modifiers, I'm adding duration-based changes like instant effects becoming lingering or permanent, channeled abilities that set and forget, durations that extend on hit or kill, instant casts that delay, single casts that recast and stack, and channeled abilities that pulse instead.
For effect modifiers, beyond the existing damage-over-time and debuff options, I'm considering resource generation on hit covering lifesteal and shields, stacking debuffs, damage sharing mechanics, chain reactions on kills, conditional bonuses, delayed detonations, status effects that spread on death, and self-damage on cast.
I'm also mapping out cross-carrier conversions where different ability types transform into each other—areas becoming projectile shrapnel, melee attacks triggering projectiles on hit, beams creating zones at their terminus, and summons leaving zones when they die.
These conversions all decompose into trigger bridges, which means they should live in the meta-modifiers section as concrete examples. Now I'm ready to structure the full document, keeping descriptions clean and organized rather than exhaustive, and making sure I handle the edge cases correctly—like trail width modifications and permanent trail behavior.
I'm also tracking which modifiers collapse together, which ones are carrier-specific versus general, and how beam-related mechanics fit into the broader pathing system. The user approved the backward aiming change and the expanded phasing rules, so those are locked in. Time to start writing. 80 is rejected too. Looking at 96, the user collapsed the previous two concepts there, so that one's rejected as well. Same pattern with 102, 114 — all rejected. Though I should note that 12 was approved and covers the lingering projectile concept, so 114 being a miss/expire variant doesn't need to exist separately.
Now I'm ready to write out the full document. I need to be methodical and make sure I capture everything correctly.
I'm structuring it with the carriers table first, then the building block tables for triggers, targeting, behavior, hit behavior, and effects. After that comes the modifier reference section, which breaks down carrier modifiers by type — count, pathing, phasing, size, zone-specific, beam-specific, orbit-specific, and so on through to terrain and trail modifiers. Then hit behavior modifiers and trigger modifiers follow.
Now I'm adding targeting modifiers as a new section, followed by behavior modifiers, effect modifiers, resource modifiers, speed modifiers, and caster modifiers. There's also a new meta-modifiers section for trigger bridges. I'm reconsidering whether having so many carrier-specific subsections is too granular — maybe I should consolidate them by modification type first, then organize by carrier type within each category. I'm also thinking through the meta-modifier example the user provided about cast-on-movement mechanics and how trigger levels affect spell frequency.
The trigger bridge concept is compelling because the threshold parameter itself becomes a strategic lever for different builds. Now I'm mapping where the existing carrier modifiers fit into this new structure — things like single-to-multi conversions, pathing changes like straight-to-arcing or homing, and orbital patterns all slot into count and pathing modification categories. I've mapped out the modifier categories cleanly, so now I'm ready to write the full document. But I should pause first — the user asked me to present the meta-modifier analysis for review before proceeding with the full update, so let me do that inline and get their feedback before committing everything to the document.
Before I update the document, let me present the meta-modifier analysis you asked for — the "Cast on X" and other bridge patterns.
Meta-Modifier Analysis: Trigger Bridges
Looking at every modifier (existing + new), many specific modifiers decompose into two independent pieces: a trigger condition and a payload. If we make these composable, a small set of bridges replaces dozens of hardcoded modifiers.
Identified trigger bridges:
Cast on Hit — When the carrier hits a target, fire linked effect at hit location
- Decomposes: Add explosion (existing), #68 Leave residue zone, #70 Tether on hit, #116 Melee → Projectile on hit
- These are all "when carrier hits → spawn [area / zone / tether / projectile]"
Cast on Expire — When the carrier reaches end of life (max range, duration end)
- Decomposes: #12 Projectile lingering (→ Zone), #117 Beam terminus zone, #120 Orbit zone on detach, #73 Split on expire, #64 Terrain collapse
- These are all "when carrier ends → spawn [zone / projectiles / area]"
Cast on Death — When a carrier entity is destroyed prematurely (killed by enemies)
- Decomposes: #52 Summon explosive death, #118 Summon on-death zone
- Different from Cast on Expire — death is involuntary, expire is natural
Detonate — Manual trigger that consumes a carrier for burst
- Decomposes: #35 Zone detonate, #42 Attached detonate, #48 Sacrificial summon, #61 Trail detonate, #20 Orbit detach-on-command
- Always the same pattern: carrier exists → player chooses to consume → linked effect fires
- And as you noted, Detonate itself could be modified by triggers: "Detonate on damage taken" instead of manual
Cast on Movement — When caster covers X distance, fire linked effect
- Decomposes: #56 Aftershock (→ Area at destination), dash trail (→ Zone along path)
- Your level-scaling idea: low threshold = many weak triggers, high threshold = one big trigger after long distance. This makes it a proper scaling parameter, not just on/off.
Cast on Transition — When a carrier changes state (channel ends, tether breaks, toggle off)
- Decomposes: Channel-then-release (existing behavior), tether break effects
- Less common but completes the pattern
Cast on Kill — Already exists as a trigger (On-kill), but as a bridge it's: when THIS ability kills → fire linked effect
- Decomposes: #99 Chain reaction on kill, #103 Status spread on death
- Distinct from the general On-kill trigger because it's specific to kills from the linked ability
Which EXISTING modifiers also decompose:
- Add explosion = Cast on Hit → Area (instant)
- Consumed → Stick = Cast on Hit → Attached → Cast on Expire → Explode (two layers!)
- Self-cast → Trap = Place carrier dormant → Cast on Proximity → fire original ability
- Self-cast → Mine = Place carrier dormant → Detonate (manual) → fire original ability
- Instant → Residue = Area → Cast on Hit → Zone
- Clone firing = Cast on [caster fires ability] → clone fires same ability
What DOESN'T decompose into bridges:
- Parametric mods — pathing (homing, zigzag, spiral), count (fan, nova), size (growing, shrinking), phasing. These modify continuous properties, not events.
- Pure hit behavior mods — pierce, absorb, diminishing, accelerating bounce, priority targeting. These modify the contact mechanics, not triggering new effects.
The big design implication: If you implement trigger bridges as a first-class concept, then many "specific" modifiers become compositions. Summon → Cast on Death → Explode replaces "Sacrificial Summon." Projectile → Cast on Expire → Zone replaces "Lingering Projectile." You get the specific modifiers for free, PLUS combinations nobody designed: Tether → Cast on Transition (break) → Nova projectiles. Zone → Cast on Expire → Summon. Beam → Cast on Hit → Attached Brand. The combinatorial explosion is exactly what ORBS wants.
Now let me update the document with everything — all approved modifiers, generalizations, the trigger bridge section, and the targeting modifiers.
Write (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Bash (~/bin/neovim.exe "E:/a327ex/Orblike/orbs/ability_design_reference.md" -- -c "Mar...)
Done. Here's a summary of what changed:
New sections:
- Targeting Modifiers — 9 entries (aimed → auto-target, self → at cursor, single → multi-target, etc.)
- Meta-Modifiers — Trigger Bridges — 7 bridges (Cast on Hit, Cast on Expire, Cast on Death, Cast on Kill, Detonate, Cast on Movement, Cast on Transition) with composition examples and a decomposition table showing how existing + new modifiers break down into bridge chains
Carrier Modifiers restructured into sub-categories:
- Count (7 entries, general across carrier types — fan, nova, parallel, converging, burst, concentric, cascade)
- Pathing (14 entries — all existing + zigzag, spiral, accelerating, boomerang, backward, beam sweeping, beam bouncing. Noted that beam pathing works via Bezier curves)
- Phasing (3 entries — terrain, friendlies, screen-wrapping)
- Size (4 entries, general — larger, smaller, growing, shrinking)
- Carrier-specific blocks for Zone (10), Orbit (2), Melee (3), Attached (3), Tether (5), Summon/Deployable (3), Terrain (2), Trap (3), Trail (1)
- General (6, unchanged) + Lingering + Terrain-creating
Hit Behavior Modifiers expanded from 10 to 22 — added mark, absorb, diminishing pierce, accelerating bounce, forking/return/priority/increasing/decreasing/expanding chain, beam forking, split on expire
Trigger Modifiers expanded from 5 to 12 — added on-ability-use, periodic, on-hit→on-kill, trigger delay, trigger on CC, trigger on dodge, accumulation threshold
Behavior Modifiers expanded from 4 to 12 — added lingering, permanent, set-and-forget, duration-on-hit/kill, delayed, stacking recast, pulsing channel
Effect Modifiers expanded from 10 to 18 — added resource-on-hit, stacking debuff, damage sharing, chain reaction, conditional bonus, delayed detonation, status spread, damage-to-self
Design Checklist item 9 added: Bridge potential
Let's look at PoE 1 + PoE 2 + Noita for extra meta modifiers that we might have missed.
[Think]
The user wants me to look at PoE 1, PoE 2, and Noita specifically for meta-modifiers (trigger bridges and modifier-modifier patterns) that we might have missed in our current document. Let me think about what these games offer in terms of meta-modifier systems.
Let me think through each game:
**Path of Exile 1:**
The support gem system is the most developed modifier system in gaming. Let me think about what meta-modifiers exist that we haven't captured:
- **Cast on X supports:** Cast on Critical Strike, Cast when Damage Taken, Cast when Stunned, Cast on Death, Cast on Melee Kill — these are trigger bridges we mostly have
- **Item-based triggers:** Unique items like Mjolnir, Cospri's Malice, Poet's Pen, and Asenath's Chant create their own trigger systems independent of gem sockets, plus crafted mods that trigger spells on ability use
- **Curse mechanics:** Blasphemy converts curses into auras, Hextouch applies them on hit, and Mark on Hit creates another trigger layer — we've already documented these patterns
- **Support scaling:** Generosity and Supreme Ego modify how auras function, while minion supports like Feeding Frenzy and Predator control minion behavior, and Empower/Enhance scale gem properties directly
- **Link skills and awakened gems:** Link abilities create tethered connections between allies that share effects, and awakened gems are enhanced versions of support gems that add extra properties like additional chains
Now I'm thinking about what other trigger mechanics we might be overlooking from the base game — Cast when Stunned is one that comes to mind.
Looking at the various trigger conditions: Cast on Death, Cast on Melee Kill, and triggers based on mana spending like Kitava's Thirst all represent different resource or state-based activation patterns. Then there are the more complex mechanics like Arcanist Brand, which attaches to enemies and periodically triggers linked spells, and Spellslinger, which reserves mana and automatically casts a linked spell whenever you attack.
Beyond those, there's Battlemage's Cry that accumulates attack charges before triggering, General's Cry that summons clones to use linked attacks, and Predator which is more about commanding minion targeting behavior.
PoE 2 shifts some of these mechanics with its different socket system where skills have individual links, plus new resource types like Spirit cost for persistent effects, and mechanics like crossbow bolt specialization that modify attack properties, along with combined skills that explicitly synergize with each other.
The really compelling patterns are Cast at Carrier positioning where one ability triggers at another ability's location rather than the caster's position, trigger systems based on resource spending like mana consumption, and reservation mechanics that automate effects passively.
Arcanist Brand acts as a deployable carrier that periodically fires linked spells at its targets, while General's Cry summons temporary clones to execute linked attacks at specific positions. Aura modifiers like Generosity and Supreme Ego change the fundamental behavior of how auras function rather than just scaling them.
Now I'm shifting to Noita's wand system, which is genuinely the most modular ability composition framework I can think of in games.
Trigger spells are the core mechanic—projectiles that cast the next spell in the wand based on different conditions like impact, elapsed time, or expiry, with each trigger type creating an explicit spell slot that chains abilities together. Multicasting layers on top of this by firing multiple spells simultaneously or in specific formations, creating exponential composition possibilities.
Beyond that, I'm looking at standard modifiers like speed adjustments, damage scaling, and projectile behaviors like bouncing or piercing, then special mechanics like the Greek letter spells that fundamentally alter what the projectile becomes through timing shifts, and copy spells that duplicate or iterate on existing spells in the wand.
Then there are the splitting mechanics—divide spells that fragment the next spell into multiple weaker copies—alongside positioning modifiers like orbit and phasing that change where or how the spell travels. Mana management spells round things out, either reducing costs or trading cost for delay, and I'm still working through the timer-based mechanics. The big insights are becoming clearer — the sequence order fundamentally matters in how spells compose, triggers themselves act as projectiles that carry their own properties before detonating, and multicast functions as a meta-modifier affecting groups rather than individuals. I'm also realizing how divide mechanics work with these systems.
Continuing through the other key mechanics: formation spells apply spatial patterns to groups, lifetime becomes a granular composable modifier, drilling actively removes terrain rather than just phasing through it, and the Greek letter spells create temporal copies instead of spatial ones. Mana modifiers round out the picture by reducing spell costs as part of the composition chain.
I'm noticing that Noita's order-dependent system bothers the user, but the underlying concept of sequencing modifiers could work in a non-positional way like Path of Exile's link system. Looking at PoE 2 specifically, the gem system changes with individual skill slots and uncut gem crafting, but the core meta-modifier concepts don't really shift—it's mostly a UI and socketability difference. I should probably focus on what actually matters for the design rather than chasing every system detail.
Now I'm identifying the key gaps in our current framework by pulling from both games. From Path of Exile, there are several important mechanics we haven't captured: abilities that cast from another ability's position rather than the caster's, resource-spending triggers that accumulate effects, permanent resource reservations that automate triggering, brands that fire linked spells through attached carriers, and aura modifiers with special rules like affecting only allies or limiting to a single instance. From Noita, the trigger spell itself acts as a carrier with its own properties, which opens up a different dimension of how triggers can work.
Beyond that, there are several group-level and carrier-level mechanics worth exploring: firing multiple abilities at once, splitting damage across copies, arranging abilities in spatial patterns, creating time-delayed duplicates, destructive terrain interactions, projectiles that actively avoid enemies, and fine-grained control over how long carriers persist. I should present these as a straightforward analysis of what's missing, then see what the user wants to prioritize adding.
Actually, rereading the request — they specifically want me to examine PoE 1, PoE 2, and Noita for meta-modifiers, the trigger-bridge and modifier-modifier patterns we might have overlooked. Let me focus on that angle instead of general modifiers.
Looking at PoE 1's trigger supports, I've already captured Cast on Critical Strike, Cast when Damage Taken, and Cast on Death, but I'm missing state-based triggers like Cast when Stunned — that's a distinct category where the ability fires when you enter a crowd control state. I should map out what other state triggers exist in these games that we haven't accounted for yet.
For item-based triggers, I'm seeing a pattern emerge beyond simple "Cast on Hit" — there are filtered variants like Mjolnir triggering only lightning spells, Cospri's Malice filtering for cold spells on crit, and Poet's Pen distinguishing between attacks and hits (since attacks can miss). There's also resource-based triggers like Kitava's Thirst firing on mana spend thresholds. The real insight is that triggers themselves can be filtered or constrained by damage type, resource type, or attack success — these are meta-modifiers layered on top of the base trigger mechanic.
Then there are reserve-to-trigger systems where you lock mana into a spell or effect, and it automatically activates when you attack or use abilities, essentially converting manual triggers into automatic ones. Finally, I'm noticing carrier-based triggers like Arcanist Brand, Spell Totem, and Mirage Archer — these create deployable entities that periodically or continuously cast linked spells, shifting the trigger source from the player to an external object.
Beyond that, there's cross-ability interaction where one ability's output becomes another's input, like Ice Nova triggering on each Frostbolt cast, or Detonate Dead using corpses as targeting anchors. And in the newer link skill system, allies themselves become the trigger mechanism — they hit enemies and your linked spells fire off, or they inherit your support gems entirely.
In Noita, trigger spells work differently because the trigger itself is a full carrier with its own modifiers. A Spark Bolt with Trigger isn't just an abstract "cast on hit" — it's a projectile that homes, travels, and then detonates, and each layer of that chain can be modified independently. So the bridge between cause and effect is itself a modifiable entity, not just a passive condition.
Multicast is a group meta-modifier that fires multiple different spells simultaneously, which contrasts with our duplication pattern that fires the same ability multiple times. Formation spells take this further by arranging those simultaneous spells in spatial patterns. Divide works inversely to Multi — it splits damage across copies rather than multiplying it, preserving total output while spreading it thin.
Timer triggers let a projectile fire a linked spell after a delay while still in flight, distinct from Cast on Expire which waits for the carrier to end. Copy Trail creates self-referential chains where one ability inherits properties from another, establishing a pattern of property inheritance between linked abilities. Drilling introduces a unique interaction where projectiles destroy terrain instead of phasing through or stopping at it. Lifetime modifiers like Reduce and Increase Lifetime are composable tools that control when Cast-on-Hit effects trigger.
Now I'm seeing the meta-patterns we're actually missing — filtered triggers that add conditions to trigger bridges like "Cast on Hit (lightning only)", resource reservation mechanics that convert manual triggers to automatic ones, and carrier-as-trigger-host where autonomous entities like brands or totems trigger other linked abilities rather than just their own.
I'm also identifying cross-ability targeting where one ability's carriers become another ability's targets, tether mechanics that share modifiers between allies, and modifiable trigger carriers themselves. Then there's group casting for simultaneous multi-ability firing, divide mechanics that split power equally across copies, and Cast on Timer as distinct from Cast on Expire since the carrier persists while waiting.
Now I'm looking at property inheritance where abilities adopt characteristics from their carriers, drilling mechanics that destructively phase through terrain, lifetime modifications that control when expiration triggers fire, and delayed copies that duplicate abilities after a time offset.
Let me think through each game's meta-modifier systems carefully.
Task (Research PoE 2 meta-modifiers)
[
{
"type": "text",
"text": "Here is the comprehensive breakdown of PoE2's meta-modifier systems, written to `E:/a327ex/reference/poe2-meta-modifier-mechanics.md`.\n\n---\n\n## The Core Architecture\n\nPoE2's cross-ability composition is built around a new gem category that did not exist in PoE1: **Meta Gems**. These are skill gems that contain other skill gems inside them, acting as orchestrators. They replaced the item-socket linking system as the primary way abilities interact.\n\n---\n\n## System 1: Auto-Trigger Meta Gems (Cast On X)\n\nThese use an **Energy accumulation model**. Energy builds when a condition fires, and when it maxes out the socketed spells fire automatically. The Energy cap is determined by `10 Energy per 0.1 seconds of base cast time of all socketed spells combined` \u2014 slower spells require more Energy per trigger, reducing frequency.\n\nAll have a 0.20 second cooldown between casts. All reserve Spirit (typically 100).\n\n**Hard rule**: If a skill is wired into two trigger methods simultaneously, it is **disabled** \u2014 one trigger per skill, enforced by the engine.\n\n| Meta Gem | Trigger Condition | Energy Rate |\n|---|---|---|\n| Cast on Critical | Landing a critical strike | Per Power of crit'd enemies |\n| Cast on Elemental Ailment | Freezing, Shocking, or Igniting (merged from 3 separate gems in 0.3) | 10/Power (Freeze), 1/Power modified by ailment threshold % (Ignite), 1/Power (Shock) |\n| Cast on Melee Kill | Melee kill | 300 flat per kill; also grants 50% more damage to socketed skills |\n| Cast on Melee Stun | Stunning with melee | 1000/Power on Heavy Stun; 200/Power on regular Stun |\n| Cast on Minion Death | A persistent minion dies (not expiry \u2014 must be killed by enemy damage, Minion Instability, or Command detonation) | Per minion death |\n| Cast while Channelling | Channelling any skill | 60/second while channelling; -25/second while not; resets on deactivation |\n| Cast on Damage Taken | Energy Shield being hit | 1 per 5 ES lost |\n\n---\n\n## System 2: Invocation Meta Gems (Manual Release)\n\nSame Energy accumulation model, but **do not auto-fire**. Energy is stored until you manually activate the skill. On activation, socketed spells fire a number of times proportional to stored Energy \u2014 so a 500 Energy pool with a 100 Energy threshold fires 5 casts. There is a 0.20 second cooldown between each cast in the burst.\n\nThis is the key distinction: Cast On = passive automation, Invocation = active burst resource management.\n\n| Meta Gem | Energy Source | Fires |\n|---|---|---|\n| Elemental Invocation | Freeze/Shock/Ignite (same rates as Cast on Elemental Ailment) | Proportional bursts on manual activation |\n| Reaper's Invocation | 30/Power per melee kill; also provides 26% increased Energy for supported skills | Proportional bursts on manual activation |\n| Barrier Invocation | Energy Shield being hit | Consumes all Energy on activation |\n| Spellslinger | 2 Energy per 0.1 seconds of base cast time of spells you cast; weapon-intrinsic skill from Dueling Wand | Proportional bursts on manual activation |\n\n---\n\n## System 3: Orchestrator Meta Gems (Contain and Delegate)\n\nThese contain skills but don't use Energy at all \u2014 they delegate skill execution to another entity or event.\n\n- **Ancestral Warrior Totem**: Summons a totem that uses socketed Mace skills autonomously. Cannot use channelling skills or skills with cooldowns. Consumes 3 Endurance Charges. Supports on the meta gem affect both the totem and the socketed skill.\n- **Mirage Archer**: On dodge roll, creates a temporary Mirage at your previous position that fires socketed ranged attacks for ~4-5 seconds then vanishes. 6-second refractory period.\n- **Ferocious Roar** (Bear form, 0.4): Sockets a human-form Warcry; when the Bear uses this skill, it triggers that Warcry. Also bypasses the Warcry's own resource requirements (e.g. Ancestral Cry's Glory cost is waived). Cross-form ability bridging.\n\n---\n\n## System 4: Support Gems That Trigger Secondary Effects\n\nThese are conventional supports (socketed into skill gems, not meta gems) that introduce triggering as a secondary property:\n\n- **Impending Doom**: Supported curse skill triggers Doom Blast (Chaos AoE) when the curse **expires**. Temporal composition pattern \u2014 the curse duration is the fuse.\n- **Volcanic Eruption**: On hit against an **already-Ignited** enemy, triggers an eruption. Setup-and-execute: requires an ignite source first.\n- **Wind Wave**: If you are **Stunned** while using the supported skill, fires a knockback blast. Interrupt-punish pattern.\n- **Minion Instability**: Minions explode when reaching Low Life. Feeds the Cast on Minion Death meta gem.\n- **Minion Pact I/II**: On skill use, drains 100-150% of your max Life from a nearby minion to deal 30-35% more damage. Minion HP \u2192 your damage exchange.\n\n---\n\n## System 5: Spirit Reservation Architecture\n\nThe central resource change from PoE1:\n\n**PoE1**: Auras and triggers reserved Mana, competing directly with active skill costs. You had to choose between running auras and having mana to cast.\n\n**PoE2**: Spirit is a completely separate pool, used only for Meta Gems, Auras, and permanent Minions. Mana remains fully available for active casting. Spirit is static reservation \u2014 toggle on, it's reserved; toggle off, it's freed. It does not regenerate.\n\nThis means you can run a full set of Cast On meta gems without any mana tradeoff. The Spirit pool caps how many simultaneous persistent systems you can run.\n\n---\n\n## System 6: Warcry Exert System\n\nWarcries count enemy Power in their area, then **Exert** a number of your subsequent melee attacks. Exerted attacks receive the Warcry's specific bonus (bonus fire damage, stagger application, etc.).\n\nKey property: **Multiple Warcries can exert the same attack** and their bonuses stack. So using two Warcries before a big hit stacks both effects on that attack. This is a time-shifted cross-ability composition \u2014 Warcry buffers the attack, attack consumes the buffer.\n\n---\n\n## System 7: Charge System as Shared State\n\nCharges (Power, Frenzy, Endurance) are now pure resources rather than passive bonuses:\n\n- One skill generates charges as a byproduct\n- Another skill consumes charges for its conditional bonus\n- Examples: Killing Palm generates Power Charges on low-health kill; Falling Thunder consumes them for bonus damage. Sniper's Mark generates Frenzy Charges on critical hits; Barrage consumes them for extra projectile repetitions.\n\nCross-charge conversion: The passive tree node Resonance converts Frenzy to Power Charges.\n\n---\n\n## System 8: Curse/Mark Layer\n\n- **Marks and Curses are now separate** \u2014 both can be on a target simultaneously without competing for a limit\n- **Blasphemy support**: Converts a targeted curse into a proximity aura. 50% effectiveness reduction, Spirit cost. A full behavioral class change for the skill.\n- **Impending Doom support**: Curse-to-explosion via expiry trigger (see above)\n- **Marks with charge feedback**: Sniper's Mark generates Frenzy Charges on crits against the marked target, feeding the charge cross-ability system\n\n---\n\n## System 9: Druid Form Transitions (0.4)\n\nShapeshifting is not a toggle \u2014 it's a consequence of skill use. Using a Bear/Wolf/Wyvern skill transitions into that form; casting a spell returns to human form.\n\nThe key composition property: **placed human-form spells persist through form transitions**. You can cast Thunderstorm, shift to Wolf, and the lightning is still there for wolves to exploit. Volcano placed in human form continues interacting with Wyvern attacks.\n\nEach form has its own resource (Rage for Bear, Moon energy for Wolf, Power Charges for Wyvern), and these resources interact with the charge system.\n\n---\n\n## System 10: Proximity-Based Triggers\n\n**Orb of Storms**: Normally fires every 4 seconds. When you cast **any spell** within its 3.6 metre radius, it fires an additional bolt immediately. No explicit gem linking required \u2014 the spatial relationship is the composition mechanism.\n\n---\n\n## System 11: Combo Counter\n\nA stack-based resource (not Energy). Builds on melee strikes, decays without use, resets on weapon swap.\n\n- Consumed by: Mantra of Destruction (requires 10), Tempest Bell (requires 4)\n- Supports: Culmination (build combo, lose it on use \u2014 burst pattern), Combo Finisher (requires 5, 40% more damage), Practiced Combo (chance for bonus combo on hit), Flow (slows decay)\n\n---\n\n## System 12: Ascendancy-Native Auto-Casts\n\n- **Elemental Expression (Invoker Monk)**: Every melee critical hit automatically fires one of three elemental spells, proportional to Str/Dex/Int stats. No Spirit, no Energy, no gem setup required.\n- **Apocalypse (Shaman)**: After activation, automatically fires powerful elemental disasters every 0.75 seconds for 12 seconds. A buff that self-executes a spell chain.\n\n---\n\nThe document is saved at `E:/a327ex/reference/poe2-meta-modifier-mechanics.md`.\n\nSources:\n- [Support Gems | Fextralife PoE2 Wiki](https://pathofexile2.wiki.fextralife.com/Support+Gems)\n- [Meta Gems Explained - Mobalytics](https://mobalytics.gg/poe-2/guides/meta-gems)\n- [Trigger - PoE2 Wiki](https://www.poe2wiki.net/wiki/Trigger)\n- [Spellslinger - PoE2 Wiki](https://www.poe2wiki.net/wiki/Spellslinger)\n- [Ferocious Roar - Fextralife](https://pathofexile2.wiki.fextralife.com/Ferocious+Roar)\n- [Spirit Guide - Maxroll](https://maxroll.gg/poe2/resources/spirit-guide)\n- [Druid Forms - PoE Vault](https://www.poe-vault.com/poe2/news/path-of-exile-2-druid-forms-skills-and-how-the-class-works)\n- [Trigger Explained - Game8](https://game8.co/games/Path-of-Exile-2/archives/487670)\n- [Warcry Explained - Game8](https://game8.co/games/Path-of-Exile-2/archives/495064)\n- [Combo Explained - Game8](https://game8.co/games/Path-of-Exile-2/archives/498783)\n- [PoE2 Overview for PoE1 Players - PoE2 Wiki](https://www.poe2wiki.net/wiki/Guide:PoE2_overview_for_PoE1_players)\n- [Impending Doom - Fextralife](https://pathofexile2.wiki.fextralife.com/Impending+Doom)\n- [How to Use Cast On Gems - Destructoid](https://www.destructoid.com/how-to-use-cast-on-gems-in-path-of-exile-2/)"
},
{
"type": "text",
"text": "agentId: a4e148f9b767f88df (for resuming to continue this agent's work if needed)\n<usage>total_tokens: 71621\ntool_uses: 60\nduration_ms: 570855</usage>"
}
]
Task (Research Noita wand meta-modifiers)
[
{
"type": "text",
"text": "The reference document has been written to `E:/a327ex/reference/noita-wand-composition-system.md` and opened in NeoVim with MarkdownPreview.\n\nHere is the complete breakdown of every meta-modifier pattern I found:\n\n---\n\n## The Foundational Data Model\n\nBefore anything else: spells do not modify other spells. They all modify a **shot state** \u2014 a property bag (damage, spread, cast delay, projectile list, etc.). All projectiles spawned in one casting block share a shot state and inherit all accumulated modifications. This is the core of why modifier stacking works at all.\n\nThe wand operates like a card game: **Deck \u2192 Hand \u2192 Discard**. The **draw counter** is what creates chains \u2014 modifiers draw one more spell, multicasts draw N more, triggers draw their payload count. When the Deck empties and a draw is attempted, **wrapping** occurs: Discard \u2192 Deck, cast continues. This forces a reload after completion (unless Wand Refresh triggered the wrap).\n\n---\n\n## Pattern 1: Modifier Accumulation\n\nModifiers accumulate into the shot state. Multiple modifiers before a multicast all apply to all projectiles in that multicast for the price of one draw each. The modifier chain terminates when it reaches a projectile (the first non-modifier, non-multicast spell).\n\n## Pattern 2: Multicast \u2014 Grouping\n\nDouble/Triple/Quadruple Cast expand the draw count for a single shot state. Multicasts can nest: `Triple Cast \u2192 Double Cast` draws 5 spells total into one block. The wand's Spells/Cast stat is functionally an invisible multicast at position zero.\n\n## Pattern 3: Formation \u2014 Spatial Arrangement\n\nFormation spells are multicasts that distribute projectiles at fixed evenly-spaced angular intervals over a predetermined arc (deterministic, unlike scatter). Key: when multiple formations appear in one cast, **the last one evaluated wins** \u2014 its arc overrides earlier ones. Behind Your Back (180\u00b0), Pentagon (180\u00b0/5), Hexagon (180\u00b0/6), Bifurcated (90\u00b0/2), Trifurcated (40\u00b0/3), Above and Below (90\u00b0/3). They share the internal `shot_pattern_angle` variable with Divide By spells.\n\n## Pattern 4: Triggers \u2014 Projectiles as Miniature Wands\n\nA trigger packages subsequent drawn spells as a payload in an isolated shot state. Three trigger types: **On-Hit** (fires on collision), **Timer** (fires after interval, also fires on hit), **Expiration/Death Trigger** (fires when lifetime expires from any cause, or when destroyed by Spells to Power/Explosive Detonator).\n\nCritical: the payload's shot state is completely isolated. Modifiers outside the trigger don't affect the payload; modifiers inside don't affect the trigger carrier. Cast delay inside the payload is ignored. Recharge time modifications inside the payload DO stack globally.\n\nThe placement boundary is everything: modifiers before the trigger modify the carrier projectile; spells inside the payload affect the delivered spell. You can independently customize how the trigger flies and what it delivers.\n\n**Expiration triggers** ignore cast delay for their contained spells, making them useful for zero-delay delivery.\n\n## Pattern 5: Add Trigger Series \u2014 Retrofitting Triggers\n\nAdd Trigger/Add Timer/Add Expiration Trigger do a two-pass deck scan: first find a target projectile (discard everything up to it), then find a payload projectile (attach it as trigger payload). Any modifiers between Add Trigger and the target are called **for free** (no mana) because Add Trigger disables draw on them before calling them. The base projectile inherits none of the original spell's cast delay, recharge time, or mana cost.\n\n## Pattern 6: Divide By \u2014 N Copies of Next Spell\n\nDivide By 2/3/4/10 copy the next spell N times instead of casting it once. All set `shot_pattern_angle` to 5 degrees (10-degree distribution arc). Divide chains work by incrementing an iteration counter \u2014 when a Divide copies another Divide, it targets the Nth card in the deck. The root Divide handles the final discard. Chains are capped at 800 copies. Divide By spells are NOT marked recursive, so they don't increment the recursion level.\n\n## Pattern 7: Greek Letter Spells \u2014 Position and Category-Based Copying\n\nAll Greek spells ignore mana drain and charges of copied spells (enabling infinite copies of limited-use spells):\n\n- **Alpha**: copies first spell in wand (cannot cross Wand Refresh)\n- **Gamma**: copies last spell in deck (or last in hand if deck empty)\n- **Tau**: copies the two spells directly after it (memorizes them, calls them; no special cases)\n- **Mu**: copies every modifier-type spell in the wand\n- **Phi**: copies every projectile-type spell in the wand\n- **Sigma**: copies every static projectile in the wand\n- **Zeta**: copies a random spell from another held wand (cross-wand composition)\n- **Omega**: copies every spell in the wand (scans discard \u2192 hand \u2192 deck, skips Wand Refresh)\n\nPhi/Sigma/Mu save and restore cast delay, recharge time, and mana around their scan (so their call doesn't leak timing side effects). Sigma and Mu draw an extra spell after execution.\n\n## Pattern 8: Wand Refresh \u2014 Infinite Cast Enabler\n\nResets the deck without triggering recharge. Enables infinite casting of limited-charge spells (charges don't decrement on refreshed draws). Partitions wands into active and storage sections (spells after Wand Refresh never fire). Casting it exactly once per cycle bypasses recharge; casting it twice forces normal recharge.\n\n## Pattern 9: Chainsaw \u2014 Cast Delay Zeroing\n\nSets cast delay to **exactly zero** at evaluation time \u2014 not a subtraction, a hard zero. Only affects delay accumulated before it in the same sequence. Spells after it can re-add delay from zero. Also reduces Recharge Time by 0.17s per instance. If delay was already below zero from Nolla/other reducers, Chainsaw paradoxically increases it.\n\n## Pattern 10: Lifetime Modifiers \u2014 Controlling Expiration Timing\n\nLifetime is an additive property. The magic number is exactly **-1** = infinite lifetime (a wisp). Below -1 = single frame. Above 0 = normal duration. This makes lifetime modifiers precision tools for timing expiration triggers. Delayed Spellcast (100-frame lifetime) + Expiration Trigger = 1.67-second delayed spell delivery.\n\n## Pattern 11: Terrain Interaction \u2014 Drilling vs Phasing vs Bouncing\n\nThree distinct terrain-relationship properties that compose differently:\n\n- **Drilling**: passes through terrain, carves path, disables bouncing, high cost\n- **Phasing**: teleports past terrain in jumps (every 12 frames), stacks linearly, adds lifetime\n- **Bouncing**: reflects off terrain instead of colliding; trigger projectiles still only fire payload once even while bouncing\n\nAlso: **Piercing** (Piercing Shot modifier) = hits same entity multiple times. **Penetrating** (intrinsic to specific spells) = hits multiple entities but only once each. Only Piercing enables trigger loops.\n\n## Pattern 12: Mana as Composable Resource\n\nAdd Mana (negative mana cost) replenishes the pool mid-cast. Mana can exceed max cap during casting; it's recapped at cast start. **Mana to Damage** converts current mana level into bonus damage \u2014 mana regeneration rate directly scales weapon output.\n\n## Pattern 13: Spells to Power \u2014 Projectile Absorption as Amplification\n\nStP absorbs nearby caster-owned projectiles and converts their damage into additive bonuses on the absorbing projectile. Multiple StP instances multiply damage absorbed from the same \"food\" projectile. Anti-loop tag prevents self-referential absorption, except via Tentacle (which enables exponential scaling via tag transfer).\n\n## Pattern 14: Passive Spells \u2014 Extra Draw at End\n\n5 passive-type spells each add one extra draw. At the wand's end, this extra draw is against an empty deck, triggering wrapping \u2014 re-reading the wand from start mid-cast.\n\n## Pattern 15: Spell Duplication \u2014 Clone the Hand\n\nDuplicates all spells currently in the Hand at evaluation time (excluding other Spell Duplication instances). Memorizes hand size at start so newly drawn spells during duplication don't get duplicated again. Behaves as an N-multicast if N modifiers are in the Hand when it fires.\n\n## Pattern 16: Trigger Loops \u2014 Self-Sustaining Payload Cycles\n\nPiercing trigger projectile + a hittable payload projectile = closed loop. Trigger hits payload \u2192 fires payload \u2192 new hittable projectile appears \u2192 trigger hits it again \u2192 infinite cycle until trigger expires. 1 projectile/cycle = stable loop; 2+/cycle = exponential growth (crash risk). Speed = trigger's `damage_every_x_frames` (default: 60 activations/sec).\n\n## Pattern 17: Wrapping \u2014 Multiple Wand Passes\n\nWhen any draw attempt hits an empty Deck, the Discard moves to the Deck and the cast continues from the start (forces reload after cast, unless Wand Refresh caused it). Powers modifier recycling (modifier at wand end wraps and applies to spells at wand start) and the Add Trigger multi-modifier exploit (Add Trigger reads modifiers a second time for free on wrap).\n\n## Pattern 18: Always Cast \u2014 Per-Cast Injection\n\nRare wand property. Injects specified spells into every manually-fired cast for free (zero mana, infinite charges). Effectively pre-loads every cast with those effects.\n\n## Pattern 19: Extra Modifiers \u2014 Perk-Based Multiplicative Injection\n\nPerk-granted effects inserted into every projectile-type spell evaluation. Unlike slot modifiers (apply once to shot state), extra modifiers apply once per projectile in a multicast \u2014 N projectiles = N\u00d7 bonus. Bypassable by casting projectiles via Greek copies instead of directly.\n\n## Pattern 20: Velocity \u2192 Damage Conversion\n\nFive spells (Bouncing Burst, Arrow, Disc Projectile, Energy Sphere, Infestation) scale damage with velocity squared. Heavy Shot + Accelerating Shot = projectile accelerates over time to 200\u00d7 damage multiplier at extreme velocity.\n\n## Pattern 21: Path Modifiers \u2014 Trajectory Composition\n\nOrbiting Arc (circular), Ping-Pong (oscillating), Spiral (expanding), Phasing Arc (teleporting), Boomerang (return curve), True Orbit (fixed-distance orbit). Compose with homing (homing force overrides circular paths at close range), with lifetime (most add lifetime, enabling longer-range use), and with trigger placement (Orbiting Arc enables stationary trigger loops).\n\n## Pattern 22: Recursion System \u2014 Self-Reference Limits\n\nRecursion level increments when recursive spells call other recursive spells. Limit: 2. Greek letters, Spell Duplication, Wand Refresh are recursive. Divide By is NOT recursive (maintains caller level). Used intentionally to stop Greek spells from disrupting Divide chains.\n\n## Pattern 23: Delayed Spellcast \u2014 Fixed 100-Frame Expiration Trigger\n\nCreates an almost-invisible slow projectile with a built-in expiration trigger and precise 100-frame lifetime. Draws **three** payload spells (unusual). Acts as a timing precision tool for deferred spell delivery.\n\n---\n\nThe taxonomy at the end of the document groups all 23 patterns into seven categories: Grouping, Splitting, Sequencing, Reference, Resource-to-Property Conversion, Temporal Manipulation, Spatial Manipulation, and Terrain Relationship.\n\nSources:\n- [Guide: Wand Mechanics - The Noita Wiki](https://noita.wiki.gg/wiki/Guide:_Wand_Mechanics)\n- [Expert Guide: Draw - The Noita Wiki](https://noita.wiki.gg/wiki/Expert_Guide:_Draw)\n- [Expert Guide: Add Trigger Series - The Noita Wiki](https://noita.wiki.gg/wiki/Expert_Guide:_Add_Trigger_Series)\n- [Expert Guide: Divide By Spells - The Noita Wiki](https://noita.wiki.gg/wiki/Expert_Guide:_Divide_By_Spells)\n- [Expert Guide: Calling and Recursion - The Noita Wiki](https://noita.wiki.gg/wiki/Expert_Guide:_Calling_and_Recursion)\n- [Advanced Guide: Introduction to Greek Letter Spells - The Noita Wiki](https://noita.wiki.gg/wiki/Advanced_Guide:_Introduction_to_Greek_Letter_Spells)\n- [Trigger Loop - The Noita Wiki](https://noita.wiki.gg/wiki/Trigger_Loop)\n- [Extra modifiers - The Noita Wiki](https://noita.wiki.gg/wiki/Extra_modifiers)\n- [Piercing and Penetrating - The Noita Wiki](https://noita.wiki.gg/wiki/Piercing_and_Penetrating)"
},
{
"type": "text",
"text": "agentId: a85b504a3ae9c424c (for resuming to continue this agent's work if needed)\n<usage>total_tokens: 66466\ntool_uses: 57\nduration_ms: 642135</usage>"
}
]
[Think]
Excellent, I have very detailed research on both PoE 2 and Noita meta-modifier systems. Let me now synthesize what's genuinely NEW — meta-modifier patterns we haven't captured yet in our document — from both games plus PoE 1.
Let me go through what we already have vs. what's new:
**What we already have in the document:**
- Cast on Hit ✓
- Cast on Expire ✓
- Cast on Death ✓
- Cast on Kill ✓
- Detonate ✓
- Cast on Movement ✓
- Cast on Transition ✓
**New meta-modifier patterns from PoE 1 + PoE 2 + Noita:**
From PoE 2, I'm seeing that triggers operate on an energy accumulation system rather than simple binary conditions — energy builds toward a threshold based on trigger intensity, and the firing frequency depends on both how fast energy accumulates and how expensive the linked spell is. There's also an invocation mechanic that lets you manually release accumulated energy instead of waiting for automatic triggers, which is essentially the same energy system but with player control over timing.
Beyond that, I'm noticing several cross-entity and cross-ability trigger patterns: Cast on Minion Death fires when a different entity dies, Cast while Channelling continuously triggers linked spells during a separate ability's channel rather than on a one-shot cast, and there's a Warcry Exert system that I'm still examining. — a manual ability into a triggered one. Form transitions don't cancel placed effects, so human-form spells persist through state changes. One ability can target another's carriers as cast locations, like Ice Nova triggering from Frostbolt impacts. Triggers can have filter conditions—only cold spells, for instance—and there's a hard constraint that a skill can't be wired to multiple trigger methods or it gets disabled. Looking at Noita's systems now...
The trigger carrier itself is independently modifiable—if I'm using Spark Bolt as the trigger, it has its own speed, damage, and lifetime separate from what gets delivered. Modifiers stack differently depending on placement: before the trigger affects the carrier, inside the payload affects the delivered spell. Timers fire the payload while the carrier keeps living, unlike Cast on Expire which kills the carrier. Multicast groups different spells to fire simultaneously under one shot state, and these can nest—Triple Cast containing Double Cast fires five spells total. Formation spells are next...
Arranging the next N spells in spatial patterns like pentagons or bifurcated spreads. Divide By N splits the next spell into N copies with a fixed spread angle, and chaining divides creates exponential copies up to 800—it's a meta-modifier on the next spell, not the current one like Multi. Greek letter spells copy by reference using position (Alpha for first, Gamma for last), type (Phi for projectiles, Mu for modifiers, Sigma for static), or randomly from another wand, which lets me build self-referential chains while ignoring the original's mana drain and charges.
Wand Refresh resets the deck without triggering recharge, enabling infinite casting and partitioning wands into active and storage sections. Modifier recycling happens when the deck wraps around—modifiers at the end can apply to spells at the beginning, creating emergent composition from the sequence. Payload isolation gives the trigger's payload its own isolated shot state so modifiers outside the trigger don't affect it, which is a scoping mechanism for composition. Drilling passes through terrain and actively destroys it, changing the arena itself. Spells to Power absorbs nearby friendly projectiles and converts their damage into bonus damage.
Always Cast injects specified spells into every cast for free as a permanent modifier. Delayed Spellcast creates an invisible slow projectile with a 100-frame lifetime and built-in expiration trigger—a timing precision tool. Add Trigger series retrofits a trigger onto an existing projectile through a two-pass scan, modifying the projectile rather than being a trigger projectile itself. Recursion limits cap self-referential compositions at a depth of 2, constraining how deep composition can go.
Mana functions as a composable resource—Add Mana replenishes mana mid-cast while Mana to Damage converts current mana into damage, creating a resource-to-damage conversion modifier. Velocity scales damage squared in some spells, turning speed modifiers into damage multipliers. Trigger loops emerge from piercing triggers hitting hittable payloads, creating a closed cycle where the trigger fires the payload, which becomes hittable again, repeating infinitely.
Now I'm identifying the genuinely new meta-modifier patterns worth adding. Looking at what exists versus what's truly novel, the key new patterns seem to center around trigger bridge refinements and trigger accumulation mechanics.
Trigger bridges operate with a rate and threshold where energy builds from trigger events and fires when the threshold is reached—higher payload costs push the threshold higher, reducing trigger frequency. Invocation stores energy without auto-firing, letting the player manually release it for a proportional burst. Cast while Channelling creates continuous triggers while another ability channels. Cast on Minion/Summon Death triggers on owned entity deaths rather than self-death. Timer triggers fire the payload after a set duration while the carrier persists, distinct from Cast on Expire. Filtered triggers restrict the bridge to work only with specific payload types like cold spells.
Proximity-based cross-ability triggers fire when any ability is cast near a deployed entity without explicit linking. For cross-ability composition, Ability A's carriers can become Ability B's cast locations. Exert and charge buffering let Ability A store a modifier that gets consumed by the next N uses of Ability B, creating time-shifted modifier application. Shared state and charges let abilities communicate through shared resources—Ability A generates charges while Ability B consumes them for conditional bonuses.
Now looking at grouping and arrangement mechanics: I can fire N different abilities simultaneously in a single action without duplication. Abilities can be arranged spatially in patterns, and I can split payloads into N copies at reduced per-copy power while conserving total output. For composition mechanics, the trigger carrier itself is independently modifiable with properties like speed, pathing, and lifetime, with modifiers scoped to either the trigger or payload separately. Modifiers inside versus outside a trigger are scoped differently to prevent bleed between layers, and I can retrofit a trigger bridge onto an existing carrier.
Moving into the next section, I can duplicate abilities by position or type, and certain modifiers inject into every activation for free as a permanent per-cast layer. For resource conversion, I can pay permanent resource reservation to convert manual triggers to automatic ones, or convert current resource levels directly into damage for optimization. Some modifiers replenish resources mid-cast at negative cost. I'm also starting to explore terrain and destructive phasing mechanics.
Now I'm looking at constraints and limits—things like one-trigger-per-skill restrictions and recursion depth caps. But I'm realizing some of these are implementation details rather than actual modifiers, and others are very game-specific. The real question is which patterns here are general enough to include in the document versus which are just Noita quirks or technical constraints that don't represent broader design principles.
Excellent research from both agents. Let me synthesize what's genuinely new — meta-modifier patterns we haven't captured. I'll present them numbered so you can filter.
Trigger bridge refinements — ways our existing bridges are too simple:
Trigger accumulation / energy model — Our trigger bridges are binary: condition met → fire. PoE 2 makes them accumulative: trigger events build energy, payload fires when energy reaches threshold. Crucially, the threshold scales with payload cost — linking a heavy spell to Cast on Crit means it fires less often than linking a light spell. The trigger bridge has a RATE parameter. This turns trigger bridges from "on/off" into "how often" decisions.
Invocation (stored trigger release) — Same energy accumulation, but it does NOT auto-fire. Energy stores up, player manually releases as a proportional burst — 500 stored energy with a 100-cost spell = 5 rapid casts. This is a hybrid: accumulation happens passively through a trigger condition, but release is manual. The bridge becomes a capacitor, not a wire.
Cast while Channelling — Continuous trigger that fires linked spells while channelling a DIFFERENT ability. Different from our "Cast on Ability Use" (which fires once per cast) — this fires repeatedly throughout the entire channel duration. Channel Ability A → repeatedly triggers Ability B. Creates a "primary + secondary" rhythm.
Cast on Entity Death — Our "Cast on Death" is when the ability holder dies. PoE 2 has Cast on Minion Death — triggers when an OWNED entity dies (summon, deployable). The trigger source is a different entity than the caster. Generalizes to: Cast on [owned entity event]. This connects the Summon carrier ecosystem to the trigger bridge ecosystem.
Timer trigger (during lifetime) — Noita has Timer triggers that fire payload after N seconds while the carrier CONTINUES EXISTING. Different from Cast on Expire where the carrier dies. Timer fires, carrier keeps going, timer can fire again. This creates a carrier that periodically spawns payloads along its flight path. A projectile with a 0.5s timer that fires explosions becomes a flying bomber.
Filtered triggers — Trigger bridge only accepts specific payload types. PoE 1's Mjolnir: "Cast on Hit, but only lightning spells." Cospri's: "Cast on Crit, but only cold spells." The bridge has a FILTER parameter that restricts what can be linked. This creates build constraints that force thematic coherence.
Proximity-based cross-ability trigger — PoE 2's Orb of Storms fires a bolt whenever you cast ANY spell within its radius. No explicit linking — the spatial relationship IS the composition mechanism. Cast a deployed entity, then cast other spells near it, and the deployed entity reacts. Implicit linking through space rather than explicit linking through slots.
Cross-ability composition — abilities that modify or interact with OTHER abilities:
Cross-ability targeting — Ability A's carriers become Ability B's cast locations. PoE 1's Ice Nova on Frostbolt: if Frostbolts exist, Ice Nova casts centered on EACH Frostbolt instead of on the caster. One ability's carriers become another ability's targeting points. This is a targeting modifier we completely missed: "Self → At each instance of another ability's carrier."
Exert / Charge buffering — PoE 2's Warcries store a modifier that is consumed by the NEXT N attacks. Use Warcry A, your next 5 melee attacks gain fire damage. Multiple Warcries can stack on the same future attack. This is time-shifted cross-ability composition — the modifier is applied NOW but consumed LATER. A temporal buffer between abilities.
Shared state / Charges as communication — Abilities communicate through shared resources. Ability A generates Power Charges on crit; Ability B consumes Power Charges for bonus projectiles. Charges are a shared communication channel between otherwise independent abilities. No explicit linking — they communicate through the shared state. Any ability that generates charges implicitly powers any ability that consumes them.
Resource reservation as trigger enabler — PoE 2's Spirit system: pay a permanent resource reservation to enable automatic triggers. You don't spend Spirit per cast — you permanently reserve it. The more trigger bridges you want active simultaneously, the more Spirit you need. This creates a meta-resource that gates how many bridge chains can be active at once.
Grouping, arrangement, and splitting — ways to compose GROUPS of abilities:
Multicast (group different abilities) — Fire N DIFFERENT abilities simultaneously. Noita's Double/Triple/Quad Cast. Different from our "Single → Multi" which duplicates ONE ability. Multicast fires Fireball AND Ice Nova AND Lightning Bolt in one action. All share one modifier state — a speed modifier before the multicast applies to all three. Multicasts can NEST: Triple Cast → Double Cast = 5 abilities in one shot.
Formation — Spatial arrangement of a multicasted group. Noita's formation spells: Pentagon, Hexagon, Bifurcated, Trifurcated, Behind Your Back. Instead of all N abilities firing in the same direction, they're distributed in fixed angular patterns. This is a spatial meta-modifier that applies to the GROUP, not individual abilities.
Divide (split with conservation) — N copies of the next ability at 1/N power each, with a fixed spread angle. Total damage conserved. Different from Multi (fan) which MULTIPLIES damage. Divide is "same total damage, more instances" — better with on-hit effects, worse for raw damage. Divide can chain: Divide By 3 → Divide By 3 = 9 copies. Capped to prevent exponential explosion (Noita caps at 800).
Composition mechanics — how modifier chains are structured:
Trigger carrier independence — In Noita, the trigger spell itself is a full carrier. "Spark Bolt with Trigger" is a spark bolt (with its own speed, damage, lifetime, pathing) that fires a payload on hit. Modifiers BEFORE the trigger modify the carrier; the payload has its own isolated modifier scope. You can make the trigger carrier homing and fast while the payload is slow and exploding. Our trigger bridges are abstract ("Cast on Hit → Area") — this makes the bridge itself a modifiable entity.
Payload isolation / scoping — Modifiers inside a trigger payload are scoped SEPARATELY from modifiers outside. Speed Up before the trigger makes the trigger carrier fast. Speed Up inside the payload makes the payload fast. They don't bleed into each other. This is a SCOPING mechanism that prevents modifier composition from becoming incoherent as chains get deep.
Retrofit trigger — Noita's "Add Trigger" attaches a trigger bridge to an EXISTING carrier after the fact. Instead of the carrier being born as a trigger spell, you take a normal projectile and bolt a trigger onto it. This means any carrier can become a trigger carrier as a modifier, not just specially-designed trigger spells.
Copying by reference — Noita's Greek letter spells copy abilities by position (Alpha = first in sequence, Gamma = last) or by type (Phi = all projectiles, Mu = all modifiers). This creates self-referential compositions. Also: copies ignore the original's mana cost and charges. The pattern: reference another ability and duplicate it, potentially with different modifiers applied.
Always-inject — Certain modifiers are injected into every cast for free. Noita's "Always Cast" wand property adds specific spells to every activation with zero mana cost. A permanent per-cast modifier layer. PoE 2's Elemental Expression (Invoker Monk) does something similar: every melee crit automatically fires elemental spells with no setup.
Resource conversions:
Resource → Damage conversion — Noita's Mana to Damage: current mana level converts directly to bonus damage. Resource management becomes a damage variable — high mana = high damage, so mana regeneration rate becomes a damage stat. PoE 2's Minion Pact is similar: drain minion HP → your damage.
Mana injection (negative cost) — Noita's Add Mana reduces or reverses the cost of the next spell. Stacking enough Add Mana makes a spell free or mana-positive. Resource cost becomes a composable, modifiable axis rather than a fixed property.
Interaction types:
Drilling (destructive phasing) — Noita has three distinct terrain interactions: Bouncing (reflects), Phasing (teleports through), and Drilling (DESTROYS terrain on contact, carving a path). Drilling permanently changes the arena — it's not just passing through, it's removing the obstacle. We have Phasing (terrain) and Bounce (terrain) but not destructive interaction.
Projectile absorption — Noita's "Spells to Power": absorbs nearby friendly projectiles and converts their damage into bonus damage on the absorbing projectile. One ability EATS another ability's carriers for power. A carrier-to-resource-to-damage pipeline.
Velocity → Damage conversion — Some Noita spells scale damage with velocity squared. Speed modifiers become damage multipliers. Accelerating Shot + Heavy Shot = projectile that starts slow but reaches extreme velocity = extreme damage at range. This turns pathing/speed modifiers into damage modifiers through conversion.
Constraints (not modifiers themselves, but rules about how modifiers compose):
One trigger per skill — PoE 2 enforces: if a skill is wired into two trigger bridges simultaneously, it's DISABLED. This prevents degenerate stacking. A design constraint on the composition system itself.
Recursion depth limit — Noita limits self-referential compositions to depth 2. Greek letter spells calling other Greek letter spells stops at 2 levels. Prevents infinite loops while still allowing interesting nesting.
Trigger cooldown — PoE 2 enforces a 0.20 second cooldown between triggered casts, regardless of how fast energy accumulates. This caps the maximum output of any trigger bridge chain.
[REDACTED: private project content]
[Think]
The user wants me to design a composition system for Orblike abilities. Let me think about this carefully.
Key constraints and context:
1. Single-player game, so no need for anti-degenerate constraints like PoE 2's energy system
2. The game is "Orblike" - orbs orbit around the user (like Shin Sekai Yori)
3. Thematically tied to [REDACTED: secret universe reference] - mana leak consuming orbs, cleaning up corrupted mana
4. Focus on making a cool system first, theme is secondary
5. The user previously decided to implement abilities first before focusing on the system itself
6. This is open-ended design space - we're figuring out what the system should look like from scratch
I've got a solid foundation to work with: we have comprehensive ability designs with Carriers and Building Block Tables, plus a Modifier Reference and Meta-Modifiers for trigger bridges. The user appreciates PoE's support gem approach, Noita's wand composition, and Isaac's item stacking, but explicitly dislikes Noita's position-dependent ordering. They're drawn to composable trigger bridges like Cast on X and modifiers that can modify other modifiers, and since this is single-player, we can lean into powerful interactions without worrying about balance constraints.
Now I'm thinking through the core design challenge: how should abilities actually compose with each other and with modifiers? PoE links support gems to individual skills - simple and proven, though the linking stays per-skill unless you use meta gems. Noita lets you sequence spells on a wand where order matters and modifiers apply to the next projectile, which is powerful but creates unintuitive interactions from that order-dependency. Isaac takes a different angle entirely - items are global modifiers that affect your base attack, so everything modifies everything, but that limits ability diversity since there's really just one ability being modified. I'm starting to see the tradeoffs between these approaches and what might work best here.
RoR2 keeps abilities fixed per character while items become global modifiers that trigger on events like on-hit or on-kill, creating chains through those event interactions. It's simple for players but doesn't let you customize abilities directly. For Orblike, I want something that gives high composability without position-dependent ordering like Noita has, where trigger bridges are first-class elements and modifiers can even modify other modifiers - something intuitive but with real depth.
I'm exploring whether the fundamental unit should be orb-based, since the game revolves around orbs orbiting the player anyway. What if each orb is its own ability slot, and you have N orbs orbiting you, each containing a composition chain that can interact with the others?
Alternatively, I could use a node graph approach where abilities are nodes on a graph with position-independent connections between them, letting modifiers sit between nodes like a visual programming language. Or maybe a tag-based system where abilities auto-compose based on shared tags, making it more explicit than RoR2's approach. The orb system is really clicking into place now. Each orb becomes a complete ability unit with a core carrier type, a trigger condition, modifier slots to customize its behavior, and connections to other orbs that chain triggers together. This feels thematically right—the orbiting orbs literally are your abilities, and you compose them by collecting cores and modifier shells as loot, then assembling them into increasingly complex ability chains. bridge relationships
Connections are the key innovation. A connection between Orb A and Orb B means "when [event] happens to Orb A, Orb B fires at the event location." The connection itself has a trigger bridge type (Cast on Hit, Cast on Expire, Cast on Kill, etc.).
So:
- Orb A: Manual trigger, Projectile core, Homing modifier
- Connection: Cast on Hit
- Orb B: [triggered by connection], Area core, Explosion effect
When you manually fire Orb A, a homing projectile launches. When it hits, Orb B fires an area explosion at the hit location.
You could chain further:
- Connection from Orb B: Cast on Kill
- Orb C: [triggered by connection], Chain core, Damage effect
When the explosion kills, chain lightning fires from the kill location.
This is essentially a node graph where each orb is a node and connections are explicit edges with trigger types as first-class properties, rather than relying on sequential ordering. Modifiers slot into individual orbs to affect only their own payload, giving clean isolation, though some rare global modifiers could affect all orbs or tie to the player. Meta-modifiers like Multicast (fire target N times), Divide (split into N copies), and Formation (arrange triggered orbs in a pattern) operate at the connection or orb level to create complex cascading effects.
The roguelike acquisition loop feeds you new Orb Cores, Modifiers, Trigger Bridges, and Global Passives to build increasingly elaborate chains. A capacity constraint limits how many orbs you can orbit at once, forcing meaningful build decisions.
But I'm realizing this might be overengineered for what's essentially a test game with five basic attack types. The system should probably start simple—early runs with just one or two fixed orbs—and gradually introduce modifiers and connections as the player progresses, revealing complexity only when they're ready for it.
Now I'm weighing whether orbs as the core composition unit actually beats other approaches. Orbs have the advantage of being visually clear and thematically consistent without position-dependent ordering, though the UI could get complex. Path of Exile's gem-socket system is proven and familiar but locks composition to individual skills. Isaac's approach of global stacking is more accessible but loses the scoping that makes orbs interesting.
The orb-as-node design feels right for this game because it naturally supports trigger chains through connections, keeps each orb isolated as its own scope, avoids ordering problems, and creates a visually compelling image of orbiting elements with visible links between them. Let me ground this in a concrete example—a Chain Lightning Bomber build where one orb handles the manual trigger and projectile carrier, then applies homing and fan-spread modifiers to create the effect.
When those projectiles hit, they trigger a second orb that carries an area effect with explosion and larger area modifiers. Kills from those explosions then trigger a third orb with chain damage and damage-over-time effects, all while a global passive grants extra pierce to every projectile. The result is a cascading system where each hit spawns explosions and each kill chains lightning with lingering damage.
I'm also sketching out an Orbital Detonator build that uses a passive trigger instead, with an orbiting carrier that spawns concentric rings of growing projectiles, connected to a second orb that detonates them in a nova formation with displacement effects.
The Brand Spreader concept fires homing projectiles that attach and spread damage-over-time effects to nearby enemies, then burst when they expire to spread their status further.
These three examples feel solid—the system supports creative combinations without forcing a specific order. Now I'm thinking about the complexity this introduces and what concerns I should flag.
The big questions are around scope: how many orbs should players juggle, and whether the system should lean toward many simple abilities or a few deeply customizable ones? I'm also wondering how orbs function visually—do they orbit the player and double as the UI for configuration? And practically, how do players acquire modifiers in the first place, since that determines how much control they have over their builds. There's also the fundamental design choice between Isaac's single heavily-modified ability versus Path of Exile's many lightly-modified ones, and whether cross-ability interactions should be possible or if each orb operates independently.
Now I'm considering whether connections themselves should be first-class objects with their own properties—like a trigger type and a carrier—rather than just links between orbs. This would let players modify how orbs chain together, similar to how Noita treats trigger spells as configurable entities. I'm also thinking through whether multicast should be a modifier on the trigger or its own connection type, and whether players should be able to retrofit any orb into a trigger carrier that fires another orb, essentially turning any ability into a bridge for chaining.
Before I go further though, I need to clarify some core design questions about the game itself: whether this is a roguelike where builds shift each run or a persistent ARPG, how many active abilities players should juggle at once, whether the auto-fire system stays or shifts to manual aiming, and how literally the "orbiting orbs" visual fantasy needs to be implemented. I need to ask the user some clarifying questions about the system before diving deeper. The key unknowns are whether this is a run-based or persistent progression system, how many abilities the player should juggle at once, whether they're manually or automatically triggered, whether orbs are literal orbiting objects or just a naming convention, and how much complexity around ability chains should be baked in versus emergent. But rather than just asking, I should also present my thinking on orbs as composition units so the user has something concrete to react to.
Let me structure this around what the system fundamentally needs to do, the core insight about trigger bridges and payload isolation, how orbs could serve as the composition unit, some concrete examples, and then the scope questions—especially since the user wants a system general enough to handle any ability from our reference set without fundamental limitations.
The orb-based approach seems to cover the full range: any carrier type becomes an orb core, modifiers slot into orbs, trigger bridges connect them, meta-modifiers layer onto connections, and global modifiers affect everything. I'm checking what this can actually handle—Noita's sequential stacking through multiple slots, Isaac's global passives, PoE's per-ability gems, cross-ability targeting via special connection types, multicast through connection modifiers, charge pools for shared state, and reserve mechanics where orbs can produce or consume from global pools.
Now I'm wondering if there's a cleaner way to frame this. The system is essentially a visual node graph where each orb has inputs (triggers), processing (carrier plus modifiers), and outputs (connections that fire other orbs). That's quite flexible, maybe even too flexible. I'm considering whether a more constrained structure would feel better—something where each orb has a primary ability with its carrier, trigger, and modifiers, plus simpler secondary slots for predefined connection types rather than free-form linking.
But the user explicitly appreciated the deep chaining potential, so the flexible graph approach probably serves them better. I think I should present both options and let them weigh the tradeoffs between full composability and simpler structure.
Actually, I'm getting ahead of myself. The user asked for a system design, not implementation details. They want to understand the core composition primitives, how they combine, what constraints exist, and how players interact with it. Let me refocus on those fundamentals rather than debating architectural approaches.
The core operations are straightforward: pick a carrier type, modify its properties, define what triggers on certain events, and chain abilities together through links. The simplest design that handles all of this is an orb-based system where each ability consists of a trigger condition, a carrier that manifests in the world, modifiers that shape that carrier's behavior, and links that connect to other orbs.
Links are what set this apart from something like Path of Exile—instead of support gems modifying a single skill, links bridge different orbs together, letting one ability's events spawn another. A link specifies its trigger type (like Cast on Hit or Cast on Expire) and can have its own modifiers layered on top.
Now I'm thinking through the practical constraints: how many orbs should players juggle at once, where they come from, and whether the system should encourage building around specific orbs or mixing freely. links (connections) be items/objects that players find? Or should any orb be freely connectable to any other? If links are items, they're a loot category. If free, the system is more flexible but potentially overwhelming.
4. **Mana/resource constraint?** Should orbs cost mana to maintain/activate? This would create build tension (more orbs = more drain).
5. **The game's current state** — it has 5 auto-firing attack types. Should the system maintain auto-firing (with trigger conditions) or move to manual activation?
Let me formulate these into a concise set of questions.
Actually, I should figure out the system first before updating the document — the user's right that it's more efficient to nail down the design, then retrofit the reference material to match. And I need to remember their guidance: present options and tradeoffs rather than pushing a single conclusion. I'll frame this as a proposal with clear tradeoffs so they can weigh in on the direction.
Let me think through this before asking questions. The research surfaced a lot, but I think the key insights for system design boil down to a few principles:
What the system needs to solve:
- Individual ability definition (carrier + trigger + modifiers)
- Ability-to-ability composition (trigger bridges, cross-ability targeting)
- Modifier scoping (which modifiers affect which abilities)
- Meta-modification (modifiers that modify bridges/connections, not just abilities)
What existing systems get wrong (for our purposes):
- PoE 1: Per-skill composition only. Support gems modify ONE skill. Cross-skill interaction requires special-purpose meta gems bolted on as afterthoughts.
- Noita: Solves cross-skill composition beautifully via trigger spells, but order-dependent and unintuitive. Position in sequence = scoping rule, which is elegant but fragile.
- Isaac: No per-ability customization at all. Everything is global. Simple but shallow build decisions.
- PoE 2: Energy accumulation is anti-degenerate balancing, not composition design. The meta gem concept (a gem that CONTAINS other gems and triggers them) is genuinely interesting as a structural idea though.
The core insight I keep coming back to: the composition unit should be something that naturally bundles "what it does" (carrier + modifiers) with "how it connects to other things" (trigger bridges). And the connections between units should themselves be modifiable.
Here's the system idea forming — Orbs as composition nodes:
Since the game literally has orbs orbiting the player, each orb IS an ability. An orb contains:
- A core (carrier type — projectile, beam, area, etc.)
- Modifiers (change the carrier's properties)
- Trigger (what activates this orb)
Orbs connect to other orbs via links. A link defines: "when [event] happens to Orb A, fire Orb B at the event location." Links have a bridge type (Cast on Hit, Cast on Expire, Detonate, etc.) and can themselves have modifiers (multicast, formation, filter, delay).
Example build:
Orb 1 (Manual, Projectile, Homing + Multi-fan)
└─ Link: Cast on Hit ──→ Orb 2 (Area, Explode + Larger Area)
└─ Link: Cast on Kill ──→ Orb 3 (Chain, DoT)
You fire homing fan projectiles. Each hit spawns an explosion. Each explosion kill triggers chain lightning with DoT. Three orbs, two links, clean scoping.
This naturally provides:
- Payload isolation — each orb is its own modifier scope (Noita's best feature without the ordering problems)
- Trigger bridges as first-class objects — links ARE the bridges, visible and modifiable
- Meta-modification — modifiers on links change how the bridge works (add multicast to a Cast on Hit link = each hit fires the payload 3 times)
- Cross-ability targeting — a link type could be "Cast at connected orb's carrier locations" (Ice Nova on Frostbolt)
- No position ordering — connections are explicit graph edges, not sequence positions
- Thematic fit — orbs orbiting the player, glowing connections between them, visually represents the build
Before I go deeper, some questions:
AskUserQuestion (How many orbs should a player typically manage at once? This sets the complexity...)
User has answered your questions: "How many orbs should a player typically manage at once? This sets the complexity budget for the entire system."="5, 7 probably, but this highly depends on how it turns out in testing, don't rely on it too heavily." user notes: 5, 7 probably, but this highly depends on how it turns out in testing, don't rely on it too heavily., "How should orbs, modifiers, and links be acquired during gameplay?"="This doesn't matter now and will be decided later." user notes: This doesn't matter now and will be decided later., "Should links (connections between orbs) be items/objects that players find, or should any orb be freely connectable to any other?"="This doesn't matter, let's focus on just making the system work logically and implementation-wise first. We'll decide constraints based on what feels right on testing. Unless you need to assume some constraints now... but it's hard for me to know what/how they should be without actually having something concrete to play with." user notes: This doesn't matter, let's focus on just making the system work logically and implementation-wise first. We'll decide constraints based on what feels right on testing. Unless you need to assume some constraints now... but it's hard for me to know what/how they should be without actually having something concrete to play with., "The current game has 5 auto-firing attack types. Should abilities be primarily manual (player-aimed) or auto-triggered (fire when conditions met)?"="Should be like most games we analyzed, manual, can be made auto, some may be auto. These are behavior types, right? The system should be able to handle whatever we decide for any individual ability." user notes: Should be like most games we analyzed, manual, can be made auto, some may be auto. These are behavior types, right? The system should be able to handle whatever we decide for any individual ability.. You can now continue with the user's answers in mind.
[Think]
The user's answers are clear:
1. 5-7 orbs, flexible based on testing
2. Acquisition doesn't matter now
3. Constraints don't matter now - focus on the system working logically
4. Manual primarily, can be made auto, the system should handle both
The user wants me to focus on the LOGICAL SYSTEM and IMPLEMENTATION. Not constraints, not acquisition, not specific numbers. The system should be general enough to handle any configuration.
Let me now design the system properly. Let me think about what the "orb" composition model looks like concretely.
**The Orb System - Logical Design:**
An **Orb** is the fundamental composition unit.
Each orb defines a single ability with four core components: a trigger that activates it (manual cast, on-hit, periodic, etc.), a carrier that manifests it in the world (projectile, beam, area effect), a set of modifiers that customize its behavior (pathing, count, size, hit effects), and links that chain it to other orbs through trigger bridges. A **Link** connects two orbs and specifies what event causes the connection to fire—things like cast on hit, cast on expire, cast on kill, or detonation.
Now I'm categorizing the different modifier types: carrier modifiers adjust the projectile's movement and form, hit behavior modifiers determine what happens on contact like piercing or chaining, effect modifiers add status effects or damage types, behavior modifiers control timing patterns like auto-repeat or stacking, targeting modifiers change how enemies are selected, resource modifiers adjust costs, and speed modifiers alter attack or projectile velocity.
Link modifiers work differently—they affect how the orb fires itself, like multicast to fire multiple times, formation to arrange them spatially, divide to split damage across copies, filter to add conditional checks, and delay to add timing between trigger and execution. I'm also considering global modifiers that could apply across all orbs at once, like giving all projectiles homing or adding pierce to every carrier. The activation flow is straightforward: check the trigger, select targets based on targeting rules, create the carrier with all modifiers applied, let it exist in the world until it contacts something, then evaluate hit behaviors and apply effects on impact.
Links can chain between orbs, and there's no hard depth limit, though practical constraints from orb count will naturally cap it. The tricky part is handling circular references—if Orb A links to Orb B which links back to A, we get a loop. I should probably implement a cooldown mechanism similar to Noita's recursion limits, preventing an orb from triggering again within a certain frame window of its last activation.
Now I'm mapping this back to the design tables—each carrier type becomes a possible orb core, and the trigger table will define what conditions activate each orb.
Actually, I'm realizing every orb should have a primary trigger type, and "Linked" is just one of those types. An orb with a "Linked" trigger only fires when another orb's link activates it, while "Manual" fires on player input and "Periodic" fires on a timer. But an orb could have both—it could fire manually AND respond to incoming links from other orbs. So I think the model is: each orb has its own primary trigger, but it can also be activated by any incoming links, allowing for flexible chaining without forcing a single activation path.
Now I'm thinking about how targeting works when an orb fires—it normally uses its own targeting logic, but when triggered by a link, that link might override the target or provide a specific location to hit. the modifiers split into orb modifiers (affecting the carrier, hit behavior, targeting, behavior, and effects), link modifiers (multicast, formation, divide, filter, delay), and global modifiers that apply across all orbs. The trigger bridges map directly to link types—Cast on Hit, Cast on Expire, Cast on Death, Cast on Kill, Detonate, Cast on Movement, Cast on Transition, and Timer—which means the meta-modifier section becomes the link types section cleanly. Now I'm thinking about how to actually implement this in Lua with the user's existing main.lua file.
Actually, I should hold off on implementation details since the user wants to focus on designing the system first and building abilities before tackling the system architecture. Let me structure this as a clear system design presentation instead—covering what an orb contains as a composition unit, how links connect them, how it maps back to the design reference, and concrete examples to make it tangible. Now I'm defining what an Orb actually is — the core building block that represents a single ability, with properties for how it's triggered, what it targets, how it behaves over time, what happens when it hits something, what effects it applies, and how modifiers can tweak any of those aspects.
A Link connects two orbs together, specifying that when a particular event occurs to one orb, it fires another — and I'm laying out the different bridge types that determine which events can trigger these connections, like when a projectile hits something, expires naturally, or kills an enemy. Now I'm mapping out how link-triggered orbs override their normal targeting—when fired through a link, they use the position or target that the link provides instead of their own logic. Then I'm laying out the full activation sequence: an orb triggers either on its own or through an incoming link, applies its targeting rules, spawns the carrier with all modifiers stacked, and finally executes hit behaviors and effects when carrier events occur.
For scoping, each orb maintains its own modifier isolation so that linking orbs together doesn't bleed properties between them—only the link itself can have modifiers that affect how many times it fires or how it behaves. Global modifiers sit outside this system and apply broadly to any orb matching their conditions. To prevent infinite loops where orbs keep triggering each other back and forth, there's a cooldown that blocks an orb from being reactivated by a link if it fired recently.
Now I'm mapping this framework to existing game systems—orb modifiers work like support gems in Path of Exile, links between orbs mirror Cast on X mechanics, Arcanist Brand maps to an orb with periodic triggers and outgoing links, and Ice Nova on Frostbolt represents a special link type that casts at the connected orb's location.
In Noita, trigger spells are projectile orbs with Cast on Hit links where the first orb carries the payload, multicast and divide are link modifiers that fire the target multiple times or split damage across copies, formations arrange those fires spatially, and timers are bridge types that fire after a delay while the carrier persists.
Isaac items function as global modifiers... Bender" = global modifier "All Projectile carriers gain Homing." These affect all orbs matching the condition.
### RoR2 on-hit items
New orbs with On-hit triggers. "Ukulele" = a Chain orb with an On-hit trigger. Every time any carrier hits, the Ukulele orb fires chain lightning.
Alternatively, this could be a link: any orb's hit event can link to the Chain orb.
### RoR2 Engineer turret inheritance
A Deployable orb with the Inheriting modifier. All global modifiers and links that apply to the player also apply to the deployable's attacks.
### PoE 2 Invocation (stored trigger release)
An orb with an Accumulation trigger. Energy builds from events, player manually releases. The orb fires N times proportional to stored energy.
### PoE 2 Warcry Exert
A modifier-producing orb that generates temporary global modifiers when activated, applying bonuses like fire damage to the next N orb activations.
### PoE 2 Charge system
Orbs can produce and consume shared charges—one orb might generate Power Charges on critical hits while another consumes them for bonus projectiles.
### Noita's trigger carrier independence
Each orb maintains its own modifiers independently; the trigger carrier and its linked payload don't share modifications except through the link itself, which has its own modifier layer.
## Examples
### Build: "Homing Bomber"
Building example configurations... Orbitals passively damage nearby enemies. Manually detonate for a nova explosion that pushes enemies away. Then there's a homing projectile that brands enemies on hit, spreading a damage-over-time effect that persists and feeds on itself until expiring and triggering an area status effect.
For the turret network, I'm setting up deployable turrets that inherit my modifiers and automatically fire at enemies, with each hit creating a pulling zone that deals recurring damage.
For the channeled beam, I'm designing a sweeping attack that periodically brands whatever it touches, then spreads damage across all branded targets simultaneously.
I think these mechanics are solid enough to present. Since the user mentioned they're vague about the system itself and want exploration, I should write this up and get their feedback rather than overthinking it further.
Good — the user wants the system to be general and implementation-focused, with constraints decided through testing later. Let me write the system design.
[REDACTED: private project content]
[Think]
The user wants me to continue from where we left off. Based on the summary, I had just created `system_design.md` but hadn't opened it for the user to review yet. The established pattern is to open it in NeoVim with MarkdownPreview. Let me do that now.
I had just finished creating the ORBS system design document. Let me open it for you to review.
Bash (~/bin/neovim.exe E:/a327ex/Orblike/orbs/system_design.md -- -c "MarkdownPreview")
Command running in background with ID: b1ir7crkp. Output is being written to: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\b1ir7crkp.output
The document is open for you. Here's a quick summary of the system design:
The core idea: Each orbiting orb IS an ability. Orbs are composition nodes in a graph — no position ordering, no sequence. Composition comes from how orbs connect to each other.
An orb contains: Core (carrier type), Trigger, Targeting, Behavior, Hit Behavior, Effects, and Modifiers — all drawn from the building block tables in the design reference.
Links are directed connections between orbs: "when [event] happens to Orb A, fire Orb B." Nine bridge types (Cast on Hit, Cast on Expire, Cast on Death, Cast on Kill, Detonate, Cast on Movement, Cast on Transition, Timer, Cast at Carrier). Links have their own modifiers (Multicast, Formation, Divide, Filter, Delay, Accumulation, Invocation).
Scoping rules enforce payload isolation — modifiers on Orb A never bleed into Orb B. Global modifiers (the Isaac/RoR2 item layer) exist outside individual orbs and affect everything matching a condition.
Shared State (charges) lets orbs communicate without direct links. Exert (temporal modifier buffering) lets one orb produce temporary modifiers consumed by the next N activations of any orb.
The document maps every system we analyzed (PoE support gems, PoE meta gems, Arcanist Brand, Ice Nova on Frostbolt, PoE 2 Invocation/Exert/Charges, Noita trigger spells/multicast/divide/formations/timer, Isaac items, RoR2 turrets) to show how this single system captures them all. Seven example builds demonstrate the range, and seven open questions flag things that need testing.
Take your time reading through it — I'm curious what you think, especially about the link system and whether the bridge types feel complete.
The bridge types + link modifiers parts feel the weakest to me. It seems arbitrary why we'd only have those types of bridge types/link modifiers. Couldn't the link modifiers at least be essentially anything? Why have those behaviors there instead of elsewhere? Multicast, for instance, is a modifier itself for normal abilities, like Spell Echo or Multistrike, why have it there? That part of the system feels the weakest to me. It also seems like it's very few Cast On X events, like where's On Damage Taken and various others that I know exist in PoE? What about some that can be derived from other games as well? It seems like a small list, but maybe that's just an impression. In your examples the linked orbs also usually don't have their own activation methods, I think in reality those orbs will also be able to be activated by the player some way. I like most of the rest.
Before diving into further changes to the document, let's discuss remaining issues more.
[Think]
The user is raising several good critiques about the system design. Let me think through each one carefully before responding.
1. **Bridge types feel arbitrary/small** - They want to know why only those specific Cast on X events, and where are things like Cast when Damage Taken, etc.
2. **Link modifiers feel arbitrary** - Why are Multicast, Formation, Divide, etc. specifically link modifiers rather than regular orb modifiers? Multicast IS a modifier for normal abilities (Spell Echo, Multistrike in PoE). Why put it on the link instead of on the orb?
3. **Linked orbs should also have their own activation** - In the examples, linked orbs are passive recipients, but in reality they should also be independently activatable.
Looking at the bridge types more carefully, I'm realizing the current list is definitely incomplete. There are way more events that could trigger a linked orb—things like when the carrier takes damage, receives healing, dodges an attack, uses a consumable, or gains/loses a status effect. Even on the source orb itself, there are events like crits, blocks, reflects, and destruction that aren't covered. The system should support a much broader range of trigger conditions rather than just the handful of Cast on X variants currently listed.
But actually, maybe the real insight here is that we shouldn't be trying to enumerate all possible bridge types at all. The better approach is to make bridges genuinely flexible: any event from our trigger system can be a bridge condition. Instead of hardcoding specific bridge types, we just need a general "when [condition] → activate target orb" pattern that works with whatever events exist in the game.
This also ties back to what the user mentioned about meta-modifiers decomposing into trigger-plus-payload combinations. If we think of bridges that way, they're really just trigger conditions applied to orbs. So bridges should probably just leverage the existing trigger table rather than inventing a separate system.
On the link modifier side, the user's point is sharper: multicast effects like Spell Echo in Path of Exile aren't special link mechanics—they're just regular modifiers on the spell itself. So why are Multicast, Formation, and Divide sitting on the link instead of being modifiers on the target orb? The original reasoning was that they control how many times the target fires when triggered, but that's exactly what a modifier on the target orb would do anyway.
The real tension emerges when an orb can be activated from multiple sources—its own trigger AND incoming links. If Multicast lives on the orb, it applies everywhere. If it's on the link, it's scoped to just that connection. That's a meaningful distinction, though it could also be solved with conditional modifiers or by accepting that effects apply universally. But Filter genuinely feels link-specific since it's about whether the link should even fire based on a condition.
Looking at the other mechanics, Delay could go either way, but Accumulation and Invocation are fundamentally about the link itself—storing energy across events until a threshold. Meanwhile, Multicast, Formation, and Divide all feel like orb properties, not link properties. They're about how the orb behaves when it fires, similar to how support gems in PoE attach to the spell itself, not the trigger mechanism.
The key distinction is whether the modifier affects *when* something fires (link-level) versus *how* it fires (orb-level). Multicast on a link means "fire B three times per trigger," but Multicast on B means "B always fires three times," which are genuinely different behaviors—so maybe they should stay separate after all. These are different! The link modifier version is scoped to that specific trigger chain. The orb modifier version applies universally.
But is that distinction important? In practice, if you want B to always multicast, put it on B. If you want B to multicast only when triggered by A's hits... do you actually want that? Is there a real build where that matters?
Actually yes — if Orb B is also self-triggered (e.g., you can manually cast it), you might want it to fire once when you manually cast it but three times when triggered by A's hit. But is that common enough to justify a whole separate modifier layer?
I think the cleaner design might be: modifiers live on orbs. Period. If you need conditional behavior, that's what the trigger/filter system is for. This eliminates the arbitrary split between "orb modifiers" and "link modifiers."
So a link becomes just a bridge — the event condition, optional filter, and optional delay or accumulation logic. Much simpler.
Now, looking back at the examples I wrote, I realize I showed linked orbs without their own triggers, implying they only fire from the link. But that's not right — an orb like Ice Nova should be fully specified and self-castable, while also being able to trigger from another orb's hits. The system already supports this in theory, but my examples didn't demonstrate it clearly enough.
Let me think through the bridge types more systematically. The user asked where "On Damage Taken" is, and I should map out all possible trigger events from other games to see what's missing.
Beyond carrier events, there are player-centric triggers like taking damage or being hit, cross-orb interactions where one orb can trigger another, and environmental conditions like proximity. I'm also considering state-based triggers like low life thresholds, movement skills, and ally deaths that could expand the system's flexibility.
But this raises a fundamental question: should all of these really be bridge types, or am I conflating two different concepts? In Path of Exile, trigger mechanics like Cast When Damage Taken are support gems that modify how a skill activates—they're properties of the skill itself, not connections between skills. That suggests triggers might belong on the orb rather than on the link between orbs. If an orb already has a Trigger property that can be Manual or Periodic, maybe I should expand that to include all these trigger types instead of treating them as separate bridge mechanics.
The problem is that some triggers genuinely require knowledge of another orb's state—like Cast on Hit, which responds to events on a source orb's carrier. Those can't be properties of the target orb alone; they need the link to exist as a concept. So links are still necessary, but maybe I'm overthinking what makes a bridge type feel arbitrary. The real issue might be how I'm categorizing them rather than whether they should exist at all. the answer is: bridge types = trigger events, and the trigger events table should be comprehensive. The current "bridge types" table is just a subset of possible trigger events, focused on carrier events. We should expand it to include ALL event types, and acknowledge that they fall into categories:
1. **Carrier events** (reference another orb's carrier): Hit, Kill, Expire, Death, Crit, Timer, Detonate, Transition
2. **Player events** (reference the player): Damage Taken, Movement, Low Health, Stun, etc.
3. **Cross-ability events** (reference another orb's state): Cast at Carrier, Orb Activation, etc.
For player events, the link still makes sense: "when player takes damage → fire Orb B." The link connects the player event to the target orb. The "source" is the player rather than another orb.
Wait, but player events don't actually need a link at all — they can just be trigger types on the orb itself. "Orb B: Trigger = On Damage Taken" means the orb monitors the player directly. Looking at how Path of Exile handles this: Cast When Damage Taken is a support gem on a single skill with no linking involved, while Cast on Hit links two skills together because it needs to reference another skill's action. So the real distinction is that player events are just trigger types, while carrier events require links because they reference another orb's state. This actually makes the system cleaner — bridge types are specifically the events that can only be expressed as inter-orb connections. because they reference another orb's carrier. Player events are just trigger types on the orb itself.
But wait, "Cast when Damage Taken" in PoE has a damage threshold parameter. And in PoE, the threshold increases with gem level. This is just a parameterized trigger. The trigger table already has room for this.
OK, I think I have a clearer picture now. Let me organize my thoughts:
**Critique 1: Bridge types feel arbitrary/small**
The issue is that some things that should be bridge types are missing (they ARE carrier events that need links), and some things that feel like they should be bridge types are actually just trigger types (player events that don't need links).
The fix:
- Expand the trigger table to include player-centric triggers (On Damage Taken, On Movement, On Low Health, etc.)
- Keep bridge types for carrier-specific events that inherently reference another orb
- Add missing carrier events like On Crit
**Critique 2: Link modifiers feel arbitrary — why there?**
Most of what I've categorized as link modifiers actually belong on the orb or trigger itself. Multicast, Formation, and Divide are really orb modifiers. For the rest, Accumulation, Filter, and Delay are all just trigger modifiers—conditions or behaviors that apply to when and how the trigger fires, not properties of the link between orbs.
**Design A vs Design B:**
The real question is scoping. In Design A, link modifiers only apply when an orb is activated through that specific link. In Design B, everything lives on the orb itself, and links are just bare connections. If you want different behavior depending on which link triggered the orb, you'd need to... well, that's where it gets tricky.
**Design C seems cleanest:**
Any modifier can live on either an orb or a link. The modifier itself stays the same—it's the placement that determines scope. Multicast on the orb means always multicast. Multicast on a link means multicast only for activations through that link. This resolves the arbitrariness of having a special "link modifier" category.
Those modifiers I thought were link-specific—Filter, Delay, Accumulation—are just modifier types that happen to work well on links, but could theoretically go on orbs too. Filter on an orb would mean "only activate if condition met regardless of trigger source." Delay on an orb would mean "all activations are delayed by N seconds."
I think I have enough to write a solid response now. On the third critique about linked orbs having their own activation—the user is right that every orb is a complete ability with its own trigger. When it receives an activation from a link, that's just an additional activation source. The orb fires from its own trigger AND from incoming links, which the document already covers.
But the examples don't illustrate this well—they show linked orbs without triggers, which makes them look passive. In Path of Exile, Ice Nova can be self-cast or triggered on Frostbolt positions. Both work. The ability is complete on its own; the link just adds another way to use it.
Now I'm going to structure my response around all three critiques, presenting the tradeoffs and options the way the user prefers.
Let me re-examine the system design to make sure I'm accurate... I have it from the system reminder at the top. I'll compose my response now.
I'll organize it around the three main points: bridge types feel limited and missing player events, link modifiers seem arbitrarily separated when they could be unified, and the linked orb activation examples are misleading about how it actually works.
Actually, I think there's a deeper structural issue here. The link system is trying to be its own subsystem with its own modifiers and event types, but really links are just connections—all the modification should happen at the orb level with placement-based scoping.
These are good critiques and I think they point at a structural issue rather than just missing entries. Let me work through each one.
Bridge types — too few, and the boundary feels wrong
You're right that the list is small. Cast when Damage Taken is a glaring omission. But I think the deeper problem is that I'm conflating two different things under "bridge types":
Carrier events — things that happen to another orb's carrier (hit, kill, expire, death, crit, timer). These genuinely need a link because they reference a specific other orb. "When Orb A's carrier hits something → fire Orb B" — you need to know which orb's carrier you're watching.
Player/world events — things that happen to the player or the world (damage taken, movement threshold, low HP, entering a zone). These don't need a link at all. They're just trigger types on the orb itself. "This orb fires when I take damage" doesn't reference any other orb — it's watching the player.
In PoE, Cast when Damage Taken is a support gem on the skill, not a link between two skills. It replaces the skill's normal trigger. That's because it's a player event, not a carrier event. Meanwhile, Cast on Critical Strike genuinely links two skills — skill A crits, skill B fires.
So the fix isn't just "add more bridge types." It's recognizing that player/world events belong in the Trigger table (which already has Manual, Periodic, Passive, etc. — just expand it with On Damage Taken, On Movement, On Low Health, On Stun, etc.). Bridge types should be only the carrier-event connections that inherently reference another orb. That makes the bridge type list feel less arbitrary — it's specifically "events on another orb's carrier," not a grab-bag of everything.
That said, even the carrier-event list should probably be expanded. Missing ones I can think of: On Crit (filtered version of On Hit, but common enough to be worth calling out), On Block/Parry (if those exist), On Pierce (each pierce event), On Chain (each chain hop).
Link modifiers — the arbitrary split
This is the critique I think cuts deepest. You're exactly right about Multicast. Spell Echo in PoE is a support gem on the spell. It makes the spell cast twice whenever it's cast, regardless of how it was triggered. It's not a property of any link between spells. Same with GMP (Formation), same with Volley, etc.
I put them on links because I was thinking "when this link fires, how many times does the target orb fire?" But that's the wrong framing. The right framing is: "when this orb activates (from any source), how does it behave?" Multicast, Formation, Divide — these are all carrier/count modifiers. They already exist in the modifier tables. They don't belong on links.
What's actually link-specific? I think only things that modify the connection itself:
- Filter — "only fire if condition met" (e.g., only on crit). This is genuinely about the link, because it gates whether the event propagates.
- Delay — "wait N seconds after event." Temporal shift of the propagation.
- Accumulation — "buffer events, fire when threshold reached." This is about the link storing state between the two orbs.
- Invocation — manual-release variant of accumulation.
But honestly, even those could be reframed. Filter is really a conditional modifier on the trigger. Delay is a trigger modifier. Accumulation is a trigger modifier.
I think the cleanest design might be: any modifier can be placed on either an orb or a link. The modifier itself is the same — placement determines scope. Multicast on the orb = always multicast. Multicast on a link = multicast only when activated through that specific link. No special "link modifier" category at all.
This eliminates the arbitrary split entirely. The link becomes very simple: bridge type + any modifiers you want to scope to that specific trigger chain.
Linked orbs having their own activation
The system already says "An orb can also receive activations from incoming links, regardless of its own trigger" — but you're right that the examples don't show this, which makes it seem like linked orbs are passive recipients. In reality, every orb should be a fully specified ability. Ice Nova in PoE can be self-cast (centered on you) AND triggered on Frostbolt positions. The link adds an extra activation source, not the only one. The examples should reflect this.
So the structural changes I'm thinking:
- Expand the Trigger table with player/world events (On Damage Taken, On Movement Threshold, On Low Health, On Dodge, etc.) — these are orb triggers, not bridge types
- Narrow bridge types to specifically carrier-event connections (things that reference another orb's carrier), but expand that list (add On Crit, On Pierce, On Chain, etc.)
- Eliminate the "link modifier" category — any modifier can be placed on an orb (always applies) or on a link (scoped to that activation source). Links become: bridge type + optional modifiers
- Fix examples to show linked orbs with their own triggers/targeting
Does this direction feel right, or do you see different structural issues I'm missing?
Yes, please update the documents with all these corrections, they all feel right.
[Think]
The user wants me to update the system_design.md document with the structural changes we discussed. Let me re-read the current document first to make sure I have the full content, then plan the changes:
1. **Expand the Trigger table** with player/world events (On Damage Taken, On Movement Threshold, On Low Health, On Dodge, etc.)
2. **Narrow bridge types** to carrier-event connections only, but expand that list (add On Crit, On Pierce, On Chain, etc.)
3. **Eliminate "link modifier" category** — any modifier can be placed on orb or link, placement determines scope
4. **Fix examples** to show linked orbs with their own triggers/targeting
5. I also need to sync the ability_design_reference.md with the expanded trigger table, so let me pull up both documents to see what needs updating.
Let me re-read both documents to plan the edits carefully.
Read (E:\a327ex\Orblike\orbs\system_design.md)
1→# ORBS System Design
2→
3→The Orb composition system. Each orbiting orb IS an ability. Orbs connect to each other via links, creating trigger chains. Modifiers customize individual orbs. The system has no position-ordering — composition is a graph, not a sequence.
4→
5→---
6→
7→## The Orb
8→
9→An Orb is the fundamental composition unit. It defines one ability.
10→
11→An orb contains:
12→
13→| Property | What it defines | Values from |
14→|----------|----------------|-------------|
15→| Core | The carrier type — what the orb creates in the world | Carriers table (Projectile, Beam, Area, Zone, Chain, Orbit, etc.) |
16→| Trigger | What activates this orb on its own | Trigger table (Manual, Periodic, On-damage-taken, Passive, etc.) |
17→| Targeting | How it picks targets when self-triggered | Targeting table (Aimed direction, Auto-target, Self, etc.) |
18→| Behavior | Temporal pattern | Behavior table (Instant, Duration, Channelled, etc.) |
19→| Hit Behavior | What happens when the carrier contacts a target | Hit Behavior table (Consumed, Pierce, Chain, Explode, etc.) |
20→| Effects | What it does to targets | Effect table (Damage, DoT, Slow, Displacement, etc.) |
21→| Modifiers | Modifications to any of the above | Modifier Reference entries |
22→
23→Every entry from the Building Block Tables in the design reference is a possible value for its corresponding orb property. Every entry from the Modifier Reference is a possible modifier.
24→
25→An orb can also receive activations from incoming links (see below), regardless of its own trigger.
26→
27→---
28→
29→## Links
30→
... [291 more lines]
Read (E:\a327ex[REDACTED: private project]\orbs\ability_design_reference.md)
[REDACTED: private project content]
Good, I have both documents. Let me now work through all the changes. I'll update both documents — system_design.md gets the structural rework (bridge types narrowed + expanded, link modifiers eliminated, examples fixed), and ability_design_reference.md gets the expanded trigger table (player/world events moved there).
Let me start with the system_design.md since it has the biggest structural changes.
Read (E:\a327ex\Orblike\orbs\system_design.md)
1→# ORBS System Design
2→
3→The Orb composition system. Each orbiting orb IS an ability. Orbs connect to each other via links, creating trigger chains. Modifiers customize individual orbs. The system has no position-ordering — composition is a graph, not a sequence.
4→
5→---
6→
7→## The Orb
8→
9→An Orb is the fundamental composition unit. It defines one ability.
10→
11→An orb contains:
12→
13→| Property | What it defines | Values from |
14→|----------|----------------|-------------|
15→| Core | The carrier type — what the orb creates in the world | Carriers table (Projectile, Beam, Area, Zone, Chain, Orbit, etc.) |
16→| Trigger | What activates this orb on its own | Trigger table (Manual, Periodic, On-damage-taken, Passive, etc.) |
17→| Targeting | How it picks targets when self-triggered | Targeting table (Aimed direction, Auto-target, Self, etc.) |
18→| Behavior | Temporal pattern | Behavior table (Instant, Duration, Channelled, etc.) |
19→| Hit Behavior | What happens when the carrier contacts a target | Hit Behavior table (Consumed, Pierce, Chain, Explode, etc.) |
20→| Effects | What it does to targets | Effect table (Damage, DoT, Slow, Displacement, etc.) |
21→| Modifiers | Modifications to any of the above | Modifier Reference entries |
22→
23→Every entry from the Building Block Tables in the design reference is a possible value for its corresponding orb property. Every entry from the Modifier Reference is a possible modifier.
24→
25→An orb can also receive activations from incoming links (see below), regardless of its own trigger.
26→
27→---
28→
29→## Links
30→
... [291 more lines]
Now let me rewrite system_design.md with all the structural changes.
Write (E:\a327ex\Orblike\orbs\system_design.md)
The file E:\a327ex\Orblike\orbs\system_design.md has been updated successfully.
Now let me update the ability_design_reference.md — the main change is expanding the Trigger table with player/world events, and updating the Meta-Modifiers section to reflect the new bridge type list and the unified modifier placement model.
Edit (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Now update the Meta-Modifiers section to reflect the expanded bridge types and the unified modifier placement model.
Edit (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Now update the Trigger Modifiers section — "Cast on Movement" was a bridge type but should now be a trigger modifier (or rather, it was already in the trigger table as On-movement). Let me also clean up the trigger modifiers to not duplicate things that are now in the trigger table directly.
Edit (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Now let me open the updated system design in NeoVim for review.
Bash (~/bin/neovim.exe E:/a327ex/Orblike/orbs/system_design.md -- -c "MarkdownPreview")
Command running in background with ID: byc00hnvt. Output is being written to: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\byc00hnvt.output
Both documents are updated. Here's a summary of all the changes:
system_design.md:
Bridge types narrowed and expanded. Bridge types are now specifically carrier events — things that happen to another orb's carrier. Added Cast on Crit, Cast on Pierce, Cast on Chain, Cast on Bounce. Removed Cast on Movement (moved to trigger table as On-movement threshold). The document explicitly states that player/world events belong in the Trigger table, not as bridge types.
"Link modifiers" section eliminated. Replaced with the unified scoping rule: any modifier can be placed on an orb (always applies) or on a link (scoped to that link's activations). The Scoping Rules section now has a table showing how the same modifier behaves differently depending on placement. Multicast, Formation, Divide are no longer a special link-only category.
All example builds now show fully-specified orbs. Every linked orb has its own trigger, targeting, and a description of how it works both self-cast and link-triggered. E.g., Build 1's Orb 3 is now "On-damage-taken | Auto-target | Chain" — it independently fires chain lightning when you take damage, AND fires from kill locations when triggered by the link.
New open question #8 about modifier conflicts when both the orb and a link have the same modifier type.
ability_design_reference.md:
Trigger table expanded with player/world events: On-damage-taken (threshold), On-low-health, On-dodge/evade, On-CC, On-movement (threshold). Added explanatory text about the trigger/bridge distinction.
Meta-Modifiers section updated to reflect the new bridge type list (added Cast on Crit, Cast on Pierce, Cast on Chain, Cast on Bounce), the unified modifier placement model, and fixed the decomposition table (Chain → Projectile per hop now uses Cast on Chain, not Cast on Hit).
Trigger Modifiers section simplified — removed entries that are now just trigger types in the main table (On-crit, On-damage-taken, On-CC, On-dodge). Kept structural modifiers like Automatic, Periodic, trigger type swaps, delay, accumulation threshold.
This seems much better, I'm happier with this design. I'm sure there are details to iron out but we'll do so as we move forward with the actual implementation of the system. Thank you.
[Think]
The user is happy with the design and wants to move forward. They're wrapping up this particular design discussion. I should acknowledge this and keep it brief since they're not asking for more work.
Glad the structure feels solid now. The unified modifier placement and the trigger/bridge distinction were the right calls — much cleaner than the arbitrary split. Good luck with the implementation, and we can iron out the open questions (cooldowns, link limits, self-links, etc.) as you hit them in practice.
<task-notification> <task-id>byc00hnvt</task-id> <tool-use-id>toolu_014uAbezwY7a1pq8ZdZJMYRi</tool-use-id> <output-file>C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\byc00hnvt.output</output-file>
completed Background command "Open updated system_design.md in NeoVim with MarkdownPreview" completed (exit code 0) </task-notification> Read the output file to retrieve the result: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\byc00hnvt.output
[Think]
The user hasn't said anything new - this is just a system notification about the background NeoVim task completing. Nothing to do here.
Gemini's thoughts on the system. I have my own thoughts on Gemini's feedback, but I'd like to hear yours first.
This is a sophisticated, deeply considered architectural blueprint for a game ability system. You have essentially created a "Unified Field Theory" for ability design, attempting to map the divergent mechanical philosophies of Path of Exile, League of Legends, Dota 2, The Binding of Isaac, and Risk of Rain 2 into a single, cohesive grammar. By treating abilities as discrete entities (Orbs) and interactions as logical connections (Links), you have successfully decoupled "the action" from "the reason for the action." However, because you asked for an honest appraisal and a critique devoid of sycophancy, I will move past the initial impressiveness of the documentation and dig into the contradictions, the potential points of failure, and the hidden costs of such a "totalizing" system. 1. The Paradox of "Projectile King" vs. System Balance You correctly identify that Projectiles are the "king" of composition because they have the most knobs (speed, trajectory, lifetime). However, this creates a dangerous design vacuum. The Critique: If a Projectile has a "Modifier Surface Area" of 10 and Terrain or Movement has a Surface Area of 2, the "Truth" of your game will inevitably collapse into Projectiles being the only viable end-game path for high-level theorycrafting. The Contradiction: You want build diversity, but by quantifying "Composability," you are essentially ranking your carriers into Tier Lists before the player even starts. The Fix: You need to artificially "roughen" the surface area of Low-Surface carriers. "Movement" shouldn't just be a dash; it should be a carrier that can possess properties like "Lunge Speed," "Vulnerability Window," or "Path Curvature." If a Dash cannot be made to "Zigzag" or "Split on Expire" into smaller dashes, it will always be an inferior "Orb" in the graph compared to a Fireball. 2. The Logic of "Trigger" vs. "Bridge" (User Comprehension) Your distinction between a Trigger (an event that happens to the world/player) and a Bridge (an event that happens to a carrier) is academically perfect but practically difficult. The Critique: From a player's perspective, "Cast on Hit" and "Cast when Damage Taken" feel like the same "type" of logic (if X then Y). By siloing them into two different categories—one being an internal Orb property and the other being a Link property—you risk making the UI/UX confusing. The Problem: If I want to trigger a Fireball when I get hit, I edit the Fireball Orb. If I want to trigger a Fireball when my Bolt hits, I create a Link. This is two different menus for the "same" outcome. The Truth: To the player, everything is a Bridge. The "Player" is effectively "Orb Zero." Being "Hit" is a carrier event happening to the Player-Orb. Treating the Player as the root node of the graph might simplify the logic while actually making it more compositional. 3. Payload Isolation: The System's Greatest Strength and Its Greatest Lie Your "Rule of Payload Isolation" (Modifiers on A do not affect B) is brilliant for performance and predictability. It solves the "Noita Chaos" where a single modifier unexpectedly bricks an entire wand. The Critique: This isolation might make the system feel "sterile." The most exciting moments in Isaac or PoE occur when a modifier unintentionally creates a recursive nightmare or a visual feedback loop. The Improvement: Consider "Tag Leakage." If Orb A (Fire) links to Orb B (Generic), perhaps Orb B should inherit the "Fire" tag even if it doesn't inherit the "+50% Area" modifier. This allows for emergent synergies (e.g., items that say "All things triggered by Fire Orbs deal more damage") without breaking the modularity. 4. The Recursive Nightmare (The "A-A-A" Problem) Your "Loop Prevention" section mentions a per-orb cooldown. This is necessary, but likely insufficient. The Critique: With a system this compositional, you aren't just worried about "Infinite Loops"; you are worried about "Geometric Explosions." Example: Orb A (Projectile) → Cast on Hit → Orb A. If the Projectile has "Pierce" or "Split," and the target Orb is itself, you create an exponential entity count that will crash any engine within 3 frames. The Harsh Reality: A per-orb cooldown kills the "Fantasy" of a chain-gun or high-speed caster. Proposed Alternative: Energy Throttling. Instead of a cooldown, give the Link a "Capacity." The Link can only transmit N triggers per second. This allows for high-frequency "spurts" (satisfying the player) without letting the graph enter a runaway state. 5. Criticism of the "Building Block" Tables While your taxonomy is excellent, some entries feel like "Features" rather than "Building Blocks." Behavior: "Mark-then-recast": This isn't really a behavior; it's a specific logic gate. In your system, this should ideally be "Orb 1 (Marks) → Bridge (Detonate/Cast on Hit) → Orb 2 (Recast effect)." If you make "Mark-then-recast" a single entry in the table, you are "hardcoding" complexity, which violates the spirit of your ORBS system. Targeting: "None": A targeting of "None" is a dangerous null-value. If an orb has "None" for targeting but is activated by a Link (which provides a position), the system needs a default fallback (e.g., "Default to Provided Position"). 6. The Contradiction of Truth: Synergy vs. Visual Noise The more successful your system is (i.e., the more links a player creates), the more the game becomes "Visual Soup." The Conflict: High-surface-area modifiers (Nova, Multi, Trail, Zone) are the most "fun" to use but the most destructive to game readability. Analysis: In Risk of Rain 2, this is solved by proc-coefficients and diminishing returns on visual effects. In your system, the "Truth" is that the more powerful a build becomes, the less "game" there is left to see. Suggestion: You need a "Significance Filter." The system should intelligently aggregate effects. If an orb triggers 50 times in one second via a Cast on Hit link, the system should render a "Mega-Activation" visual instead of 50 overlapping sprites. 7. Global Modifiers & Item Design Your idea of "Global Modifiers" as the Isaac/RoR2 item layer is solid, but it risks "pinking out" your Orbs. The Critique: If an item gives "+1 Projectile" globally, and I have a build with 15 different types of projectiles (orbs) in one graph, that one item's power value is effectively 15x higher than a single-orb modifier. The Consequence: Players will stop making "Quality" Orbs and start making a "Horizontal Mess." Why spend points making one Fireball amazing when you can have 10 separate tiny projectile Orbs that all benefit from the "Global +1" item? Improvement: Implement "Weighting." Global modifiers should have their power distributed across all active orbs. Alternatively, limit how many "Slots" for Global Modifiers a player has to force specialization. 8. Structural Improvements & Specific Refinements To make this truly bulletproof, I suggest looking at the following: Spatial "Bridges" (Tethers as Links): Your Tether is currently a Carrier. Consider making Tether a Link Property. Instead of "Cast on Hit," you have a "Maintain Tether" bridge. Orb B persists only as long as the Tether between the Player and the target remains unbroken. This turns Tethers from a niche utility into a core component of the graph. Stateful Orbs (The Toggle Problem): You list "Toggle" as a behavior. Toggles are notoriously buggy in event-driven systems. If a Link triggers a "Toggle" orb, what happens? Does it turn on and stay on? Does it flicker? I suggest replacing Toggle with a "Maintenance Cost" or "Energy Drain." The behavior is "Persistent while Resources permit," which interacts better with your Link system. Overall Impression This is a High-Density Logic Map. You haven't just designed a magic system; you've designed a visual programming language for violence. The biggest risk is that it might be "too smart for its own good." If the math is so separated and the "Surface Area" so well-defined, players will quickly solve the game by finding the single carrier with the highest Surface-Area-to-Performance ratio (likely Projectiles or Zones) and ignore the beautiful, unique mechanics like "Trail," "Orbit," or "Deployable." The Truth is in the Resistance: For this to work, Low-Surface-Area carriers must be given exponential power weights to compensate for their lack of composition. A "Melee" hit needs to deal 50x the damage of a "Projectile" because it only has 1/50th the modifier potential. You must balance "Flexibility" against "Raw Force" to keep the graph from just being a web of homing missiles.
[Think]
The user wants my honest thoughts on Gemini's feedback before they share theirs. Let me go through each point carefully.
1. **Projectile King vs System Balance** - Gemini raises a valid concern about projectiles dominating, but the proposed fix ("roughen surface area of low-surface carriers") is somewhat superficial. The real question is whether modifier surface area directly correlates with power level, which it doesn't necessarily. Also, the user already discussed this extensively — the "one deviation" sweet spot and the Summon/Deployable paradox (low direct surface but very high inherited surface) address this. Gemini seems to have missed that compositional richness ≠ power.
2. **Trigger vs Bridge (Player as Orb Zero)** - Treating the player as "Orb Zero" is elegant conceptually, but we specifically refined this distinction to separate player events from carrier events because it's cleaner. The UX concern about two menus is a presentation problem, not a system flaw.
3. **Payload Isolation being "sterile"** - The Tag Leakage idea has merit, but it's essentially what global modifiers already accomplish.
The real value of payload isolation is preventing one orb's bonuses from bleeding into another's carrier events—that's what keeps the system predictable. Tags as a separate layer that can cross boundaries is worth exploring though.
4. **Recursive Nightmare** - Energy throttling is just the cooldown system reframed. "Link capacity of N triggers per second" and "orb cooldown of N frames" accomplish the same thing mechanically. The complaint about cooldowns undermining the chain-gun fantasy is valid, but the alternative has identical tradeoffs.
5. **Building Block Tables criticism** - The Mark-then-recast decomposition is actually solid—it's a compound behavior that could break down into links. The fallback targeting issue is already solved since link-triggered activations use the link's position.
6. **Visual Noise** - This is a rendering concern, not a system design one. Every ARPG deals with it. A significance filter would improve UX but doesn't affect the architecture itself.
7. **Global Modifiers** - The horizontal build worry makes sense, but that's somewhat intentional—Isaac does this too, where items affecting all tears scale with quantity. Weighting them would make them feel unpredictable. PoE handles it differently by making global modifiers percentage-based so they scale with base quality instead.
8. **Structural improvements** - Reframing tether as a link property is interesting, but it blurs two separate concepts. A tether carrier creates a physical connection that damages or applies effects, while a link is a logical trigger mechanism. These do different things, and the toggle concern is minor anyway.
The "biggest risk" framing and the 50x damage conclusion misses the point—surface area doesn't equal power. A melee ability with 27 modifiers doesn't need 50x damage to match a projectile with 46; it just needs to excel at its role, and composability through links means any carrier can participate in complex chains regardless of modifier count. Some of the feedback hits on real issues like mark-then-recast decomposition and tag leakage, but much of it either misreads what's already in the document or proposes surface-level fixes that don't address the core design.
The "too smart for its own good" and "50x damage" framing feels like pattern-matching against standard game design critiques rather than engaging with what this system actually does.
Alright, point by point:
1. Projectile King vs System Balance — This conflates modifier surface area with power level. They're not the same thing. A projectile having 46 possible modifiers doesn't mean it's 46x stronger than terrain with 10 modifiers. It means projectiles have more build variety — more ways to be interesting. A Terrain orb with 10 modifiers can still be extremely powerful within those 10. And the link system is the equalizer — ANY carrier can be the source or target of links, so even a low-surface carrier participates in complex chains. The proposed fix of "roughen the surface" by giving Movement things like "zigzag" and "split on expire" is exactly what we already did — those are pathing modifiers that we explicitly noted apply to beams via Bezier curves, etc. We already went through this analysis.
The "50x damage for melee" conclusion at the end is the clearest sign this is pattern-matching to generic game design advice rather than engaging with the specific system. Nobody balances games by giving melee 50x damage because it has fewer modifiers.
2. Trigger vs Bridge (Player as Orb Zero) — This is the most interesting point and the one I'm most ambivalent about. We just made the trigger/bridge distinction specifically because it was structurally cleaner. And I still think it is — systemically. But Gemini's right that from a player's perspective, "when I get hit → fire Fireball" and "when my bolt hits → fire Fireball" feel like the same kind of logic. The "Player as Orb Zero" idea is elegant conceptually.
However, I think it breaks down in practice. The player isn't a carrier — they don't have hit behavior, they don't expire, they don't have a trajectory. Shoehorning player events into carrier events would require a bunch of special cases ("the player-carrier doesn't have Pierce, so Cast on Pierce doesn't apply to it..."). The current design is honest: player events are triggers, carrier events are bridges. They happen to feel similar to the player, and that's a UI problem, not a system problem. The UI can absolutely present them in a unified "if X then Y" interface while the underlying system maintains the distinction.
3. Payload Isolation being "sterile" — The tag leakage idea is genuinely interesting, but it's essentially what global modifiers already do. "All Fire-tagged orbs deal more damage" is a global modifier with a condition. The isolation rule prevents specific modifiers from bleeding (Orb A's +50% area doesn't apply to Orb B), which is essential for predictability. But tags/keywords as a shared vocabulary that global modifiers can key off of — that's already in the system. I don't think Gemini recognized this.
The deeper point about sterility vs. emergent chaos is real though. Isaac is fun partly because of unexpected interactions. But Noita shows the failure mode — when modifier bleed is unpredictable, builds become impossible to reason about. Our system threads this needle: predictable at the orb level, emergent at the graph level. The emergence comes from how orbs connect, not from modifiers leaking unpredictably.
4. Recursive Nightmare — "Energy throttling" where a link has a capacity of N triggers per second is... the same thing as a cooldown, phrased differently. "Orb can't be activated more than once per N frames" and "link can transmit N triggers per second" produce the same behavior. The critique about cooldowns killing chain-gun fantasy applies equally to their proposed alternative.
5. Building Block Tables — The Mark-then-recast point is actually good. It is a compound behavior that decomposes into the link system: Orb 1 (mark carrier) → Detonate bridge → Orb 2 (recast payload). We should probably note this in the decomposition table. The "None targeting" concern is already handled — the document explicitly says link-triggered activations use the link's provided position.
6. Visual Noise — Real concern, totally orthogonal to system design. Every ARPG faces this. It's a rendering problem.
7. Global Modifiers — The horizontal build concern is interesting but it's describing a feature, not a bug. In Isaac, "Spoon Bender" (all tears home) IS more powerful when you have multiple tear sources. That's the whole point of global modifiers — they reward breadth. The "weighting" fix (distribute power across orbs) would make global modifiers feel terrible and unpredictable. PoE handles this better: global modifiers tend to be percentage-based, so they scale with quality, not quantity. A 10% damage increase on one strong orb gives more than 10% on ten weak orbs.
8. Tether as Link — Conflates two things. A tether carrier creates a physical connection in the game world that has spatial properties (breaks at distance, damages crossing enemies). A link is a logical connection that triggers activations. Different purposes entirely.
Overall — I'd say 1.5 out of 8 points are genuinely useful (mark-then-recast decomposition, and the player-as-orb-zero idea is at least worth having thought through even if we reject it). The rest is either things already addressed in the documents, restatements of the same mechanism in different words, or generic game design advice that doesn't engage with the specific system. The tone of "here's the Truth about your system" while missing that we already analyzed most of these issues is... telling.
What are your thoughts?
2 the player does have hit behavior, when he hits an enemy physically, for instance, this would be "contact" damage. The player does expire, he can die. But the player can also have other triggers, for instance shield/energy shield, low HP, etc. Similarly, it has a trajectory, like its movement, which is functionally no different from a projectile's movement. I think the idea of the player being orb zero actually works out pretty well. This is also the point Gemini made that I liked the most.
3 I do think there's a valid point here about how Isaac's surprises feel effortless, you don't have to think about it. In our game, you have to at least think about the link and what to put in the link. That's a lot more work. For the kinds of players that just want to open the game and play it kind of mindlessly, it would be useful for the system to allow them to also have these surprising builds without thinking much about it, don't you think?
4 It's not the same thing because a cooldown doesn't allow bursts. If it's an energy system instead, you can get bursts of activity, then it needs to cooldown. But a cooldown by itself implies that the event happens once, then stops, then happens again, etc. The energy system allows the chain reaction to go for a while before stopping. I think that's what he meant.
5 I don't mind that the tables have some composite behaviors, it's fine.
All the unmentioned ones I agree with your or don't think Gemini had any real point.
[Think]
The user is pushing back on three of my assessments. Let me think through each carefully.
**Point 2 - Player as Orb Zero:**
The user is right that the player DOES have analogous properties to a carrier:
- Hit behavior: contact damage when physically bumping into enemies
- Expire: the player can die
- Trajectory: the player's movement path IS a trajectory
- Additional triggers: shield break, low HP, etc.
This is actually a really compelling reframe. If the player is Orb Zero, then:
- "On-damage-taken" becomes "Cast on Hit" on the player-carrier (the player got hit)
- "On-low-health" becomes a threshold condition on the player-carrier
- "On-movement" becomes analogous to a projectile's travel
- "On-death" becomes "Cast on Death" on the player-carrier
- "On-dodge" becomes something about the player-carrier avoiding hits
This would actually SIMPLIFY the system. Instead of having two categories (triggers = player events, bridges = carrier events), everything becomes carrier events, and the player is just another carrier. The trigger table collapses into the bridge table.
But there's still a distinction here. Some triggers aren't really "carrier events" — they're player decisions. "Manual" is the player choosing to act, which doesn't fit the carrier model at all.
Actually, I'm realizing the player IS a carrier — call it Orb Zero. It has the same kinds of events as any other carrier: taking damage, dealing damage, dying, moving. Links originating from the player-carrier would use these events as bridge types, which means the current Trigger table is just describing bridge types from Orb Zero. The whole system becomes unified, and Triggers become redundant.
Though some things still don't map cleanly — "Manual" is fundamentally about player agency, not a carrier event. "Passive" and "Periodic" feel more like intrinsic properties of the orb itself rather than bridges from another carrier. So maybe the real picture is: orbs have three activation modes (Manual, Passive, Periodic) that are built into them, while all the event-based triggers become bridge types from the appropriate source carrier. That eliminates the artificial distinction.
The user's concrete examples show this works cleanly — hitting an enemy, dying, moving a distance, taking damage — these all become bridges from the player-carrier or another orb's carrier. I was wrong to dismiss this approach.
On the Isaac comparison, the user's right that picking up an item and having it just work is effortless, whereas our system requires deliberate link creation between orbs. But global modifiers might be the answer here — they're the "effortless surprise" layer where you pick up an item and it immediately changes something like making all projectiles home without needing to wire anything up.
Though I'm wondering if we could push further. What if the system could auto-suggest or auto-create links based on what orbs are producing? Or what if certain items came pre-wired with built-in links, like a Fireball orb that already has a Cast on Hit → Explosion connection baked in?
The simplest approach might be offering pre-built configurations and letting discovery happen through items and global modifiers that affect the whole graph, while keeping graph editing available for players who want to tinker deeper.
Now I'm realizing the cooldown versus energy distinction the user pointed out is actually important. Cooldown means fire, wait, fire, wait — a steady rhythm. Energy means burst multiple times in succession before recharging — a completely different feel and strategy.
With energy, a projectile piercing through five enemies could trigger all five linked orbs in rapid succession before the system throttles, creating satisfying chain reactions. A cooldown would only let the first hit trigger, then force a wait. That's a meaningful difference for game feel, and the user is right that energy is better here.
I need to acknowledge I was wrong on points 2, 3, and 4, think through what each change means for the design, and figure out how to move forward with updates.
Looking at point 2 more carefully — if the player becomes Orb Zero, a special orb that the character carries, then player events like hits, kills, deaths, and dodges become link sources to other orbs. The Trigger table would collapse down to just Manual, Passive, and Periodic modes, since event-based triggers would now flow from Orb Zero itself.
This actually unifies the whole system: instead of separating triggers and bridges, everything becomes a bridge originating from different sources, including the player. The UI becomes one consistent "if X then Y" interface where X can be the player or any other orb.
For point 3, I'm thinking through how to give casual players those Isaac-style surprises without forcing them to manage the orb graph — maybe through global modifiers as the baseline layer, pre-wired orbs that come with built-in connections, or even auto-linking where the game detects compatible orbs and wires them together automatically.
For point 4, I'm realizing the loop prevention should use an energy or capacity system rather than a simple cooldown, letting each link drain from a pool that recharges over time and enabling burst chain reactions.
You're right on all three. Let me think through the implications.
2 — Player as Orb Zero
I was wrong to dismiss this. Your examples are convincing — the player does have carrier properties:
- Hit behavior: Contact damage, taking hits. Both "player hits enemy" and "enemy hits player" are hit events on the player-carrier.
- Death/Expire: Player dying is Cast on Death.
- Trajectory: Player movement is a path through space, same as a projectile's. "Cast on Movement" is just a Timer-like bridge on the player-carrier's travel distance.
- Pierce/Dodge: Player successfully dodging is functionally like a pierce — the attack "passed through."
If we adopt this, the structural consequence is significant: the Trigger table mostly collapses into bridge types. Instead of two categories (triggers = player events, bridges = carrier events), there's one category (bridges from any carrier, including the player-carrier), and a tiny set of intrinsic activation modes:
- Manual — player chooses to activate this orb directly (not an event, a decision)
- Passive — always active
- Periodic — internal timer
Everything else that's currently in the Trigger table becomes a link from Orb Zero:
| Current Trigger | Becomes |
|---|---|
| On-hit | Link from Orb Zero, bridge: Cast on Hit |
| On-kill | Link from Orb Zero, bridge: Cast on Kill |
| On-damage-taken | Link from Orb Zero, bridge: Cast on Hit (incoming) |
| On-crit | Link from Orb Zero, bridge: Cast on Crit |
| On-death | Link from Orb Zero, bridge: Cast on Death |
| On-low-health | Link from Orb Zero, bridge: threshold condition |
| On-dodge | Link from Orb Zero, bridge: Cast on Pierce (incoming attack pierced through?) |
| On-movement | Link from Orb Zero, bridge: movement threshold |
This is cleaner. One unified mechanism for all conditional activations. The UI presents a single "if X then Y" interface — the source can be "Player" or any other orb, and the bridge types are the same vocabulary either way.
The wrinkle I was worried about — "the player doesn't have Pierce or Chain" — actually resolves itself. Not every bridge type applies to every carrier. A Beam carrier doesn't have Bounce (terrain). A Zone carrier doesn't have Pierce. The player-carrier has its own subset of applicable events, just like any other carrier. That's not a special case, it's just how carriers work.
3 — Effortless surprises
You're right that there's a gap. In Isaac, you pick up Spoon Bender and everything just... homes now. No graph editing, no link management. The surprise is effortless.
In our system, global modifiers cover this for simple cases ("all projectiles gain Homing"). But for the more interesting interactions — the ones where two items combine unexpectedly — Isaac doesn't require the player to wire anything. Brimstone + Spoon Bender = homing laser, and the player didn't have to create a link between them. It just happened.
I think the answer is layered:
Global modifiers are the primary effortless layer. They affect everything matching a condition, no player action needed. This is where most Isaac-like items live.
Pre-wired orbs could be another layer. An orb comes with a default internal link already set up. "Fireball" isn't just a projectile — it comes pre-wired with "Cast on Hit → Explosion." The player didn't set that up; it's part of the orb's definition. But they could modify it, remove it, or add more links. Casual players get a complete ability out of the box. Theorycrafters get a starting point to customize.
Auto-synergy via tags is where tag leakage (Gemini's point) becomes relevant. If orbs have tags (Fire, Cold, Physical, Chaos, etc.), and global modifiers can key off tags, then picking up a "Fire" global modifier ("all Fire-tagged carriers leave burning ground") automatically creates new interactions with every Fire-tagged orb. The player didn't wire anything — the tag system created the synergy. This is how Isaac works under the hood: items check tags/flags, not explicit links.
The spectrum would be: global modifiers (fully automatic, Isaac-style) → pre-wired orbs (semi-automatic, default links) → manual graph editing (full control, PoE-style). Different players engage at different levels.
4 — Energy vs cooldown
You're right, I was wrong. These are meaningfully different:
- Cooldown: Orb fires once, waits, fires once, waits. A 5-hit pierce projectile triggers the linked orb on the first hit only. The other 4 pierce events are wasted. Feels bad.
- Energy/Capacity: Orb has a pool of, say, 5 activations. The 5-hit pierce projectile triggers the linked orb on all 5 hits (burst), depleting the pool. Then the pool recharges over a few seconds. Next burst works again. Feels satisfying.
The energy model preserves the fantasy of chain reactions — you get the full cascade, the screen lights up, everything fires in rapid succession. Then there's a recharge window before it can happen again. This is better game feel than a cooldown that kills the cascade on the first event.
It also scales more naturally. A link with energy capacity 3 and a link with energy capacity 10 create different build strategies — the first is a controlled burst, the second is a sustained chain. You can modify the capacity as a balance lever without changing the fundamental mechanic.
Want me to update the documents with all three of these? The Player as Orb Zero change is the biggest structural shift — it would rework the Trigger table, the bridge types section, and the activation flow. The other two are more contained (energy throttling replaces cooldown in loop prevention, and adding notes about pre-wired orbs and auto-synergy layers).
Yes, player as zero orb, energy vs. cooldown. Let's leave the effortless surprises part as is and focus on it as we develop the game.
[Think]
The user wants me to update the documents with two changes:
1. Player as Orb Zero - major structural rework
2. Energy throttling instead of cooldown for loop prevention
Let me re-read both documents and make the changes.
For the Player as Orb Zero change:
- system_design.md: Add a section about Orb Zero (the player), rework the trigger/bridge distinction, update examples
- ability_design_reference.md: Shrink the Trigger table to just Manual/Passive/Periodic, note that event-based triggers are now links from Orb Zero
For the energy change:
- system_design.md: Replace the loop prevention section with energy throttling
- ability_design_reference.md: Update any references to cooldown mechanics
Now I'm mapping out the specific edits. In system_design.md, I need to introduce Orb Zero as the player entity early on, then restructure how Links work since bridges now apply to any carrier including the player. The loop prevention section gets replaced with energy throttling mechanics. I'll also need to update the CWDT example since it's now a link from Orb Zero rather than a trigger type, and adjust the activation flow accordingly. For ability_design_reference.md, I'm trimming the Trigger table down to the three core types and clarifying that event-based triggers are handled through links originating from Orb Zero.
Let me rewrite both documents with these two structural changes.
Read (E:\a327ex\Orblike\orbs\system_design.md)
1→# ORBS System Design
2→
3→The Orb composition system. Each orbiting orb IS an ability. Orbs connect to each other via links, creating trigger chains. Modifiers customize individual orbs. The system has no position-ordering — composition is a graph, not a sequence.
4→
5→---
6→
7→## The Orb
8→
9→An Orb is the fundamental composition unit. It defines one ability.
10→
11→An orb contains:
12→
13→| Property | What it defines | Values from |
14→|----------|----------------|-------------|
15→| Core | The carrier type — what the orb creates in the world | Carriers table (Projectile, Beam, Area, Zone, Chain, Orbit, etc.) |
16→| Trigger | What activates this orb on its own | Trigger table (Manual, Periodic, On-damage-taken, Passive, etc.) |
17→| Targeting | How it picks targets when self-triggered | Targeting table (Aimed direction, Auto-target, Self, etc.) |
18→| Behavior | Temporal pattern | Behavior table (Instant, Duration, Channelled, etc.) |
19→| Hit Behavior | What happens when the carrier contacts a target | Hit Behavior table (Consumed, Pierce, Chain, Explode, etc.) |
20→| Effects | What it does to targets | Effect table (Damage, DoT, Slow, Displacement, etc.) |
21→| Modifiers | Modifications to any of the above | Modifier Reference entries |
22→
23→Every entry from the Building Block Tables in the design reference is a possible value for its corresponding orb property. Every entry from the Modifier Reference is a possible modifier.
24→
25→Every orb is a complete, independently activatable ability. It has its own trigger and targeting. When an orb also receives activations from incoming links, those are *additional* activation sources — they don't replace the orb's own trigger.
26→
27→---
28→
29→## Links
30→
... [330 more lines]
Write (E:\a327ex\Orblike\orbs\system_design.md)
The file E:\a327ex\Orblike\orbs\system_design.md has been updated successfully.
Now update the ability_design_reference.md — the Trigger table needs to be restructured to reflect that event-based triggers are now links from Orb Zero.
Read (E:\a327ex\Orblike\orbs\ability_design_reference.md)
42→
43→### Trigger — What activates the ability
44→
45→Triggers fall into two categories: **player/world events** (things that happen to the player or the game world) and **passive/automatic** triggers. Player/world event triggers do NOT need links — the orb monitors the event directly.
46→
47→Carrier events (things that happen to another orb's carrier — hit, kill, expire, etc.) are NOT triggers. They are **bridge types** on links between orbs. See the system design document for bridge types.
48→
49→| Trigger | Description | Examples |
50→|---------|-------------|---------|
51→| Manual | Player activates via input | Fireball, Ezreal Q, Cyclone, Brimstone |
52→| On-hit | Triggers when dealing damage to an enemy (any source) | Ukulele, ATG Missile, Sticky Bomb, Brilliant Behemoth, Needletick |
53→| On-kill | Triggers when an enemy dies (any source) | Will-o'-the-Wisp, Gasoline, Ceremonial Dagger, Guppy, Athame, Frost Relic |
54→| On-crit | Triggers on critical strike (any source) | Predatory Instincts, Harvester's Scythe, Cast on Critical Strike |
55→| On-damage-taken | Triggers when receiving damage | Cast when Damage Taken, Medkit, Holy Mantle, Tougher Times, The Polaroid |
56→| On-damage-taken (threshold) | Triggers when accumulated damage received reaches a value | Cast when Damage Taken (PoE, damage threshold scales with gem level) |
57→| On-low-health | Triggers when HP drops below a threshold | Abaddon R auto-trigger, Crown of Light (HP full, inverse), Adrenaline (PoE) |
58→| On-dodge/evade | Triggers when caster avoids an attack | — |
59→| On-CC | Triggers when caster is stunned/rooted/silenced | Mercury Treads cleanse, Olaf R |
60→| On-movement (threshold) | Triggers when caster covers X distance | Flame Dash trail (PoE, partially), Kite (EBB) |
61→| Periodic | Fires automatically on a fixed timer | Storm Brand pulses, Engineer turrets auto-fire, Lil Brimstone charge cycle |
62→| Proximity | Triggers when an enemy enters a range/area | Bear Trap, Teemo mushrooms, Techies mines, Engineer Pressure Mines |
63→| Conditional | Triggers when a game state meets a threshold | Runald's/Kjaro's Band (damage threshold), Crown of Light (HP full), Rengar (in brush) |
64→| Accumulation | Triggers when a counter of events reaches a value | Annie passive (4 spells), Yasuo Q (3rd hit), Jhin passive (4th shot), Lead Pencil (every 15 tears), Discharge (consume all charges) |
65→| On-death | Triggers when the ability holder dies | Dead Cat, 1UP, Dio's Best Friend, Zilean R buff, Lazarus' Rags |
66→| Reactive | Triggers in direct response to an incoming attack | Fiora Riposte, Sivir Spell Shield, Nyx Spiked Carapace, Blade Mail, Bot Fly |
67→| Passive | Always in effect with no activation | Vayne W, Bloodseeker Thirst, Kalista Martial Poise, Drow Frost Arrows, Gnawed Leaf |
68→
69→### Targeting — How the ability selects its target(s)
70→
71→| Targeting | Description | Examples |
... [20 more lines]
Edit (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Now update the Trigger Modifiers section to match the new model.
Edit (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Now let me update the classification examples table to use the new terminology (Activation instead of Trigger, and show Orb Zero links where appropriate).
Read (E:\a327ex\Orblike\orbs\ability_design_reference.md)
480→
481→### Which existing modifiers decompose into bridges
482→
483→| Existing modifier | Decomposition |
484→|---|---|
485→| Add explosion (Hit Behavior) | Cast on Hit → Area |
486→| Consumed → Stick (Hit Behavior) | Cast on Hit → Attached → Cast on Expire → Explode |
487→| Instant → Residue (Area mod) | Area → Cast on Expire → Zone |
488→| Self-cast → Trap (Carrier mod) | Convert carrier → dormant → Proximity trigger → fire original |
489→| Self-cast → Mine (Carrier mod) | Convert carrier → dormant → Detonate (manual) → fire original |
490→| Area → Projectile shrapnel | Area → Cast on Hit → Multi Projectile (nova) |
491→| Melee → Projectile on hit | Melee → Cast on Hit → Projectile |
492→| Beam → Zone at terminus | Beam → Cast on Expire → Zone |
493→| Summon → On-death zone | Summon → Cast on Death → Zone |
494→| Chain → Projectile per hop | Chain → Cast on Chain → Projectile |
495→| Orbit → Zone on detach | Orbit → Cast on Expire → Zone |
496→
497→### What does NOT decompose
498→
499→**Parametric modifiers** change continuous properties, not events. They don't have a trigger moment:
500→- Pathing: homing, zigzag, spiral, returning, arcing
501→- Count: fan, nova, parallel, burst
502→- Size: growing, shrinking, larger, smaller
503→- Phasing: terrain, friendlies, screen-wrapping
504→- Speed: accelerating, decelerating
505→
506→**Pure hit behavior modifiers** change the contact mechanics themselves:
507→- Pierce, absorb, diminishing, accelerating bounce, priority targeting
508→- These modify HOW contact works, not what happens AFTER contact
509→
... [30 more lines]
Read (E:\a327ex\Orblike\orbs\ability_design_reference.md)
539→| Isaac Cricket's Body | — (modifier) | — | — | — | Consumed → Split | — |
540→| Isaac Spoon Bender | — (modifier) | — | Straight → Homing | — | — | — |
541→| Isaac Ludovico | — (modifier) | — | Straight → Controllable | — | — | — |
542→| RoR2 Ukulele | On-hit | Auto-target | Chain | Instant | Chain | Damage |
543→| RoR2 Will-o'-the-Wisp | On-kill | Self (at kill location) | Area | Instant | Explode | Damage |
544→| RoR2 Brilliant Behemoth | — (modifier) | — | — | — | Cast on Hit → Area | — |
545→| RoR2 Engineer Turret | Periodic | Auto-target | Deployable | Permanent | — | Damage (inherits all items) |
546→| RoR2 Frost Relic | On-kill | Self | Aura | Duration | Persistent contact | Damage |
547→| Chaining Projectile | Manual | Aimed direction | Projectile | Instant | Chain → Consumed | Damage |
548→
549→---
550→
551→## Design Checklist
552→
553→When designing a new ability, verify:
554→
555→1. **Carrier** — Which carrier type? Is it compositionally rich enough for the role this ability needs to play in builds?
556→2. **Trigger** — Is the activation condition clear? Does it create interesting timing decisions?
557→3. **Targeting** — Does the targeting create skill expression or interesting choices?
558→4. **Behavior** — Does the temporal pattern feel different from what's already in the game?
559→5. **Hit Behavior** — Does what happens on contact create interesting interactions?
560→6. **Effect** — Is the payload appropriate for the carrier and trigger?
561→7. **Modifier surface** — How many modifiers from the reference can meaningfully apply? If the ability is meant to be a build centerpiece, it should have high modifier surface. If it's utility/support, low surface is acceptable.
562→8. **Axis deviation** — How many axes deviate from the "standard" template (Projectile, Manual, Aimed direction, Instant, Consumed, Damage)? 1–2 deviations is the sweet spot for compositional richness. More deviations = more unique identity but fewer modifier attachment points.
563→9. **Bridge potential** — Can this ability participate in trigger bridge chains? Does it generate events (hits, kills, expires) that other abilities can hook into?
564→
Edit (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Now update the Design Checklist to use "Activation" instead of "Trigger."
Edit (E:\a327ex\Orblike\orbs\ability_design_reference.md)
The file E:\a327ex\Orblike\orbs\ability_design_reference.md has been updated successfully.
Let me open the updated system design for review.
Bash (~/bin/neovim.exe E:/a327ex/Orblike/orbs/system_design.md -- -c "MarkdownPreview")
Command running in background with ID: bbt3dovau. Output is being written to: C:\Users\adn\AppData\Local\Temp\claude\E--a327ex\tasks\bbt3dovau.output
Both documents are updated. Summary of changes:
system_design.md:
New "Orb Zero: The Player" section at the top. The player is a special orb whose carrier has events: Hit (outgoing/incoming), Crit, Kill, Death, Movement, Dodge, Low Health, CC'd. Links from Orb Zero use these as bridge types, identical to links from any other orb. The only intrinsic activation modes remaining on orbs are Manual, Passive, and Periodic.
Bridge types table expanded with player-specific bridge types (Cast on Dodge, Cast on Low Health, Cast on CC, Cast on Movement) separated into their own sub-table since they only apply to Orb Zero.
"Loop prevention" section replaced with "Chain throttling." Each link has an energy capacity — max fires per burst before recharge. Energy depletes per activation, recharges over time. Burst-friendly: a 5-hit pierce triggers the linked orb all 5 times, then the energy recharges. Self-referencing chains stop when either link's energy depletes.
Open questions updated — cooldown questions replaced with energy capacity/recharge rate questions, plus new question about Orb Zero link limits.
Examples updated — Orb 3 in Builds 1 and 6 now shows links from Orb Zero explicitly (Cast on Hit incoming) instead of "On-damage-taken" as a trigger type.
Mappings updated — CWDT is now "Link from Orb Zero with bridge type Cast on Hit (incoming)" instead of a trigger type. RoR2 Ukulele is "Link from Orb Zero with bridge type Cast on Hit."
ability_design_reference.md:
Trigger table renamed to "Activation" and restructured. Intrinsic activation modes (Manual, Passive, Periodic) in one table. Event-based activations in a separate reference table showing how each maps to an Orb Zero link with a specific bridge type.
"Trigger Modifiers" renamed to "Activation Modifiers" with entries updated to reflect bridge type swaps on links rather than trigger type changes.
Classification examples updated — Column renamed from "Trigger" to "Activation." RoR2 items (Ukulele, Will-o'-the-Wisp, Frost Relic) now show "Orb Zero → Cast on Hit/Kill." PoE CWDT + Fireball added as an example. Yasuo Q shown as "Orb Zero → Cast on Hit + Accumulation."