Arts & Treasures/Dao Domains·術

Dao Domains

v0.11.1

A Dao Domain (道域) is the Dao made into a place. Once your cultivation reaches Nascent Soul the Heavens give you one rune, the Dao Domain Heart, and casting it unfolds a domain where you stand: an area that stays exactly where it was unfolded, slows every enemy inside it, lays one effect of your Dao element on them, and strengthens every ally inside it. A domain never deals damage itself, and it collapses the moment you step outside it, so it is a fight you choose to hold your ground in.

When two hostile domains overlap they clash: the higher realm wins, an element that overcomes the other's can bridge a realm, and the loser's domain shatters. That is Domain Clashes, and it replaces the older rule that a mightier domain simply muzzled yours.

v0.11.1 You are not the only one with a domain. Calamity Beasts, event bosses, the Void Rift Warden and high-realm Rogue Cultivators unfold domains of their own mid-fight, and a domain of yours can clash with one, shatter it and stagger the foe. Allied domains whose elements feed each other resonate where they overlap.

Domains are on by default (Dao-Domains-Enabled). They need a Hytale Update 7 server at 0.7.2 or newer: the Heart is a core rune, and the two core ability slots it is cast from came with Update 7. They are shared with Dao Seals, so a domain takes the place of a seal, and like every core rune a domain is cast with a weapon in hand. Domains follow the techniques switch: with Techniques-Enabled off, domains are off too.

The Domain Heart

The Dao Domain Heart is a core rune with no recipe. It has no recipe and is never crafted: it is granted, free, once you stand at the realm floor (Domain-Min-Realm, Nascent Soul by default), in any of three ways.

Nothing is stored per player. The whole rule is "you hold none", and it looks everywhere a rune can sit: the rune bag, your ability slots, storage, hotbar, utility, tool and backpack sections. A new Heart goes to the rune bag first, then storage, then the hotbar; it is never dropped on the ground. If there is no room you are told to make space and run /cultivation domain claim. A cultivator fleeing as a soul cannot be given one while they flee.

/cultivation domain claim answers on every path except when you are dead. Below the floor it names the realm you need, with a Heart already on you it says so, and a successful claim gives the same arrival line as the breakthrough grant. An admin with the bypass on may claim it at any realm.

The Heart stays with you: it is not dropped on death, and the Auction House refuses to list it, fixed price or timed, with a line saying a Domain Heart is a gift of the Heavens. A lost one is simply claimed again.

Casting it

Bind the Heart like a Dao Seal: at a Dao Seal Altar, or with /cultivation seals, into one of the two core slots. See Dao Seals for the bench itself. The two core slots are shared, so carrying a domain means carrying one seal fewer. Cast it with a weapon in hand.

A cast does these things, in order:

  1. Every gate in the table below is checked. A refusal plays the vanilla cast-fail feedback, tells you why (at most one line every second and a half, so a held button does not flood the chat), and costs nothing: no Qi, and no cooldown.
  2. An add-on may veto or re-tune the cast (see For add-on developers).
  3. The tier's Qi is charged. If you are short, you are told the price and your balance.
  4. The domain unfolds at your feet, with a burst and a sound, and a line giving its element, radius and seconds. The first pulse runs at once, so a domain unfolded inside a stronger hostile one clashes immediately.
  5. The rune's cooldown starts: 75 seconds, set on the rune itself. Since the longest a domain can last is 25 seconds, a domain is never up more than about a third of the time.

An admin with the bypass on, or a player in Creative mode, pays no Qi and skips the profile, realm and suppression rules. The death, soul, trial, busy, Sea of Consciousness and sanctuary refusals, and "already standing", still apply to them.

Why a cast is refused

In the order the game checks:

Refused whenNotes
Domains are offDao-Domains-Enabled false, or Techniques-Enabled false.
You are deadSilent.
You are fleeing as a soulSee Nascent Soul Escape.
You have no cultivation profileA bypassing admin with none tests the strongest tier.
Your realm is below the floorThe message names the realm you need.
A trial is runningA Dream Trial, an Inner Demon duel or a Marrow-Cleansing Rite.
You are busyMeditating, mid-breakthrough or advancement, or in a Closed-Door Retreat.
You are in a Sea of ConsciousnessSee Sea of Consciousness.
You are in the Heavenly Gate sanctuarySee Heavenly Realm.
One of your domains already standsWait for it to fade.
A mightier domain presses on this spotOnly while clashes are off. See the older suppression rule.
An add-on canceled it"Something forbids a Dao Domain from unfolding now."
Not enough QiChecked last, after any add-on has had its say.

/cultivation domain

There is no command that unfolds a domain; it is always cast from the rune. The bare command is the status screen, and it never changes anything. It prints:

What a domain is

A domain is a cylinder centered on your feet at the moment you cast it. Its horizontal reach is the tier's radius, and it extends half that radius above and below, so a 6-block domain reaches 3 blocks up and 3 down. It never moves: you cast it and you hold your ground.

Every half second the domain looks at everything inside it, decides whose side each creature is on (below), and refreshes a one-second effect on each. Because the effects last only a second, anything that leaves the cylinder is free within about a second, and a missed pulse costs nothing. The domain does no damage, places no block and spawns nothing.

What you see:

Tiers

A higher realm casts a wider, longer domain for more Qi. Tiers count up from the realm floor: the floor realm is tier 1, one realm up is tier 2, and two or more up is tier 3 (at the default floor that is Void Refinement, the top realm). (The config files count them 0, 1 and 2.)

TierRealm at the default floorRadiusDurationQiCooldown
1Nascent Soul6 blocks10 s12075 s
2Soul Formation8 blocks13 s15075 s
3Void Refinement10 blocks16 s18075 s

Each figure is a base plus a per-tier step: radius is Domain-Radius plus Domain-Radius-Per-Tier per tier above the first, duration is Domain-Duration-Seconds plus Domain-Duration-Per-Tier-Seconds, and Qi is Domain-Qi-Cost plus Domain-Qi-Cost-Per-Tier. Move Domain-Min-Realm and every tier moves with it.

Support runes. The Heart carries the Buff, Aoe and Duration keywords, so vanilla support runes bound beside it stretch it the way they stretch any core rune:

Hard ceilings. However the numbers are set, no domain lasts longer than 25 seconds, support runes included. That is the lifespan of the caster's aura effect, and a longer domain would outlive its own aura. No domain is wider than 32 blocks, and none is shorter than 1 second or narrower than 1 block. Config values are also clamped on their own; the ranges are in the table below.

Allies and enemies

A domain helps those who stand with you and hinders those who stand against you. Who is who is decided fresh on every pulse.

Who is insideWhat the domain does
YouCount as your own ally: you receive the ally effects, plus your aura.
Your partyAlly, when Domain-Ally-Scope is PARTY or wider. See Party.
Your sectAlly, when the scope is PARTY_SECT or wider. See Sects.
Allied sectsAlly, when the scope is PARTY_SECT_ALLIANCE (the default).
Your spirit beasts, and those of your alliesAlly. A beast follows its owner. Another player's beast is an enemy only where its owner would be.
Your sect's guardian postsAlly, when the scope includes sects (allied sects' posts too, at the widest scope). With a narrower scope your own sect's posts are left alone, never hit.
Any other sect's guardian posts (an allied sect's too, unless the scope reaches allied sects)Enemy.
Another playerEnemy only where Cultivation's PvP rules let you hit them (see below); otherwise untouched.
Any other creature, hostile or notEnemy.
Quest givers, the traveling merchant, the sword mountNever touched.
Anyone the world is shielding: spawn protection, an invulnerability effect, invulnerable or intangibleNever made an enemy. A hostile domain over a respawn point does not hobble the people the world is protecting.
The dead, creatures already at zero health, fleeing souls, anything that cannot carry an effectIgnored.
An enemy inside the Heavenly Gate sanctuaryIgnored. A domain pressing in from outside stops at the sanctuary's edge.
A creature carrying the engine's slow immunity (Immunity_Slow)The enemy effect is skipped on it entirely.

Other players. With Domain-Affects-Enemy-Players on (the default), a player who is not your ally is an enemy exactly where you could strike them: on a world with PvP on, your duel opponent, or a player of the opposite path (Righteous against Devil) while a Path War window is open. They get the full enemy effects, the same as a monster. Turn it off and a domain only ever hinders monsters.

Duels. While you duel, your domain touches only you and your opponent: everyone else, allies and monsters included, is left alone. A duelist is likewise never touched by a domain that belongs to anyone but their opponent, so a bystander's domain cannot tip someone else's duel.

Allies by scope. Domain-Ally-Scope is SELF_ONLY, PARTY, PARTY_SECT or PARTY_SECT_ALLIANCE, each including the ones before it. A system that is switched off (parties, sects, alliances, duels) contributes nothing.

How many. Domain-Max-Targets (32) caps the creatures affected per pulse, and you count as one of them. Players are looked at before other creatures, so a crowd of monsters cannot crowd players out of the budget. The domain also bounds how many candidates it will inspect per pulse, so an enormous mob simply goes unaffected past the cap.

The ten flavors

A domain's flavor is your chosen Dao element, read when you cast and fixed for that domain's life. Every flavor does the same base thing, and then adds one effect of its own.

The base. Every enemy is slowed to 80 percent of its speed. Every ally, you included, deals 10 percent more physical and elemental damage, arts and techniques included.

ElementRingOn every enemy, on top of the slowOn every ally, on top of the damage
Metal (金)ClassicTakes 12% more physical damage-
Wood (木)Classic-Regenerates 2 health per second
Water (水)ClassicSlowed harder, to 65% speed instead of 80%-
Fire (火)ClassicTakes 12% more elemental damage-
Earth (土)Classic-Takes 10% less physical (projectiles included) and elemental damage
Ice (冰)ShadowCannot sprint-
Wind (风)Shadow-Moves 15% faster
Poison (毒)ShadowDeals 12% less physical and elemental damage-
Lightning (雷)Shadow-Deals 20% more physical and elemental damage instead of the base 10%
Void (虚)ShadowDeals 25% less elemental damage-
Heavenly QiNone--

The "elemental damage" in the Fire and Earth rows includes this mod's own element damage, Dao Seal hits and seal reactions among it. The Wood regeneration is the effect's Health +2 on a one-second tick.

Sword Intent

If your Sword Dao is manifested and you are holding a sword, the domain gains a second layer, re-read every pulse: enemies inside take 10 percent more physical damage, their physical damage reduction dropping by 10 points (Sword Intent: Guard Broken), and you deal 10 percent more physical damage (Sword Intent: Edge Resonance), on top of the base. Put the sword away and the layer is gone within about a second. What counts as a sword is the Sword Dao's own item keyword list (Sword-Dao-Item-Keywords); see The Way. Domain-Sword-Intent-Enabled switches the layer off. It adds nothing to a clash.

No Dao, and the Rubber Duck

A cultivator who walks no Dao casts in Heavenly Qi (天地灵气): the base slow and the base damage bonus, and nothing else. So does anyone whose Dao stands outside both rings, such as the Rubber Duck's. Only the ten elements above have a flavor of their own, and there is no way for an add-on to register another. The consequence for clashes is that a Heavenly Qi domain has no element at all: it never overcomes another and is never overcome, and the Duck's usual edge over every element does not carry over.

Dao Seals

A Dao Seal reaction that you set off on a target standing inside your own domain bursts harder: Domain-Seal-Reaction-Bonus-Percent (20) more damage, so a reaction that would deal 100 deals 120. The domain must be yours, still standing, and the target inside its cylinder. It needs Dao Seals and seal reactions to be enabled, and 0 switches the bonus off.

Domain clashes

When two hostile domains overlap, they contest each other and the weaker one shatters. Casting inside a stronger domain used to be refused or muzzled; now it is allowed, and becomes a clash you can lose. Clashes are on by default (Domain-Clash-Enabled). They replace the older suppression rule while on; with them off, that rule applies instead.

Who clashes

Two domains clash only if their casters are hostile:

A creature's boss domain clashes with a player's domain by the same rules, and always counts as hostile to the players it presses on. Allies, as Domain-Ally-Scope defines them, never clash. Neutral domains overlap freely. A duelist's domain meets only its duel, and a siege never overrides one. Anyone the world is shielding (spawn protection, invulnerable) cannot be clashed with.

Two domains overlap when their anchors are closer horizontally than the two radii added together, and their vertical ranges meet. Every pulse, including the first one at unfold, looks for overlaps; whichever caster's pulse finds one settles it for both. A domain that only became hostile later, because a duel was accepted or a siege reached its contest phase, clashes within half a second of that becoming true. Each pair settles once, because the loser's domain is gone (both are, on a tie).

Power

A domain's power is its caster's realm number, counted up from Body Refinement at 0:

RealmPower
Body Refinement0
Qi Condensation1
Foundation Establishment2
Golden Core Formation3
Nascent Soul4
Soul Formation5
Void Refinement6

Add Domain-Clash-Counter-Bonus (1) if the domain's element overcomes the other's, so a counter bridges that many realms, and add Domain-Resonance-Clash-Bonus (1) for a caster who resonates with an ally. Only the realm and the counter count: tier, radius, Qi and Sword Intent make no difference. The cycles are the Wu Xing cycles from Spiritual Root, and the two rings stay separate:

RingEach element overcomes the next
ClassicWood, Earth, Water, Fire, Metal, and Metal overcomes Wood again
ShadowIce, Wind, Poison, Lightning, Void, and Void overcomes Ice again

A classic element against a shadow element is neutral either way, and Heavenly Qi never counters and is never countered. An admin or Creative caster with no profile counts as the highest realm. Two examples at the default bonus: a Nascent Soul Water domain (4, plus 1 for overcoming Fire) beats a Nascent Soul Fire one (4) and ties a Soul Formation Fire one (5).

The outcome

ResultThe winnerThe loser
One side has more powerIts domain stands.Its domain shatters, and it suffers a backlash.
Equal powerBoth domains shatter.There is no backlash.

The backlash is Domain Backlash, a slow to 60 percent speed with no sprinting, for Domain-Clash-Backlash-Seconds (4) seconds, plus the loss of Domain-Clash-Backlash-Qi-Percent (25) percent of the Qi that domain cost the loser, never more than the Qi they hold. A caster who cast for free (admin bypass, Creative) loses no Qi. A target with slow immunity shrugs off the slow.

The overlap is marked by a burst of both colors and a thunder crack, and Domain-Clash-Push-Strength (6 blocks per second, 0 for none) shoves the two casters horizontally apart, with a small hop. A caster whose domain survives is shoved less if the full shove would carry them out of their own domain, because stepping out ends it. Both casters get a chat line giving the two powers; when a counter changed the result, a line says which element overcame which. The first time you are in a clash in a session, you also get a short reminder of the rules.

Against a sect array

With Domain-Clash-Arrays-Enabled (on), a domain also clashes with a hostile sect's Array Domain (宗门大阵). It happens when your domain is anchored on a sect's claimed ground, that sect has its array standing, and you are one of its attackers (a member of the besieging sect, or the one admin who raised a test array). A Siege Banner that already mutes the array there means no clash.

The array's power is the higher of Sect-Array-Base-Realm (Nascent Soul by default) and the strongest defender standing in its territory, plus the counter bonus if the sect's element overcomes yours; your domain gets the same bonus the other way. Then:

A domain and an array settle once per array, even if the sect is renamed mid-siege.

Testing alone

An admin with cultivation.admin can stage a clash with nobody to fight:

/cultivation admin domain rival <element> <realm>

Both arguments are required. <element> is metal, wood, water, fire, earth, ice, wind, poison, lightning, void or heavenly. <realm> is a realm name or its position from 1 (so 5 is Nascent Soul). The bare /cultivation admin domain prints the usage.

This stands a Test Rival 3 blocks in front of you for 20 seconds. It is a domain with no caster: it has the radius a player of that realm would get, its power is that realm's number plus the counter bonus against an element it overcomes, and its ring is redrawn each second. It is hostile to you whatever the world's PvP rules say, and to nobody else. It applies no effect to anyone and has no body, so it takes no backlash and is not pushed; if it loses it vanishes with the burst. A new rival replaces your last one. Unfold your own domain, or stay inside the one you have, and the clash plays out exactly as it would against a player, events included. It needs domains and clashes switched on, and says so if not.

The older suppression rule

With Domain-Clash-Enabled off, the previous rule applies, behind Domain-Suppression-Enabled (on). Stand inside a hostile domain whose owner's realm is strictly higher than yours, and your own domain does nothing: no effects, no Sword Intent, only its ring still shows. You cannot unfold a new one there, either. Equal realms never suppress each other, and only a player standing inside the hostile domain can be suppressed by it. With clashes on, Domain-Suppression-Enabled does nothing.

When a domain ends

A standing domain is checked twice a second. It collapses, with a burst, a sound and (except as noted) a line to you, when:

ReasonWhenWhat you are told
ExpiredThe duration runs out."Your Dao Domain fades."
Left the areaYou step outside the cylinder, sideways or more than half a radius up or down."You stepped outside your Dao Domain, and it collapses."
Left the worldYou change world. No burst plays, since the anchor is in a world you are not in."You left the world your Dao Domain was anchored in, and it collapses."
DiedYou die or become a fleeing soul.Nothing.
GateA refusal gate trips mid-domain: a trial begins, you start meditating or a breakthrough, or you enter the Sea of Consciousness or the sanctuary."Your Dao Domain collapses as your focus is pulled elsewhere."
DisabledDomains or techniques are switched off."Dao Domains have been switched off; yours collapses."
ClashedIt lost a clash, or tied one."Your Dao Domain is shattered in a clash."

Your own aura comes off when it ends. Enemies and allies need no cleanup: their one-second effects simply run out. If you disconnect, the domain just disappears, and no collapse event fires.

Boss and NPC domains

v0.11.1 You are not the only one who can walk a Dao far enough to unfold a domain. Four kinds of foe do it too, in the middle of a fight, and a boss domain works exactly like yours turned around: it stays where it unfolds, it slows every player inside it and lays the element's enemy effect on them, and the foe and whoever fights beside it are strengthened. Boss domains are on by default (Npc-Domains-Enabled), they need Dao Domains and the server's technique switch to be on as well, and they belong to the same Hostile Domains Codex article that tells a player all of this in game.

Who unfolds one

FoeRealm it clashes atElement
A Calamity BeastSoul Formation (Npc-Domain-Calamity-Realm)Calamity Serpent: Poison. Calamity Tiger: Metal. Calamity Phoenix: Fire.
An event world boss, see Celestial EventsNascent Soul (Npc-Domain-Event-Boss-Realm)Tide Leviathan: Water. Meteorfall Colossus: Earth. Bloodmoon Howler: Wind. Starfall Devourer: Wood.
The Void Rift WardenSoul Formation (Npc-Domain-Warden-Realm)Void (Npc-Domain-Warden-Element). The Warden's own rift guardians share its domain's ally effect.
A Rogue Cultivator of Nascent Soul or aboveIts own realm, from Npc-Domain-Rogue-Min-Realm upIts own Dao element, in the size and length a player of that realm would get. A rogue below the floor never unfolds one.

The element of every boss role is the Npc-Domain-Boss-Elements list; a role missing from it, or listed as HEAVENLY, casts Heavenly Qi. A foe's clash power is its configured realm number (Soul Formation is 5), the same ladder a player's is read from. Only real foes qualify: a creature gets a domain through the tag it already carries (a boss of the live encounter, a Warden whose rift is open, a rogue at the floor), and a stale tag or an ordinary wave guardian never does. Each kind has its own switch (Npc-Domain-Calamity-Enabled, -Event-Bosses-Enabled, -Warden-Enabled, -Rogues-Enabled), and they are read live, so flipping one in the admin menu takes effect on foes already fighting.

When it unfolds

A boss unfolds its domain the first time its health falls below each of the marks in Npc-Domain-Boss-Health-Thresholds (75 and 40 percent by default), never more than once per mark, and not sooner than Npc-Domain-Cooldown-Seconds (30) after its previous one ended. A Calamity Beast and an event boss must be in the active part of their encounter, and the Warden must be in its Warden phase. A Rogue Cultivator unfolds one domain, once, when its health falls below Npc-Domain-Rogue-Health-Threshold-Percent (50; 0 for never).

A mark is only spent when it matters: if no enemy player stands within the domain's radius plus 4 blocks when the mark is crossed, it waits and tries again. A mark is also spent if an add-on vetoes the unfold, so the veto is not asked again every half second.

Then it winds up. For Npc-Domain-Windup-Seconds (1.5) the foe gathers its Dao: a ring of the element's color grows at its feet, a charge sound plays, and everyone within 48 blocks is told, in chat, that a domain is about to unfold. That is the moment to prepare, or to unfold your own. The domain then bursts out where the foe stands.

What it does

The domain is a cylinder like a player's (Npc-Domain-Boss-Radius, a radius of 10 blocks, lasting Npc-Domain-Boss-Duration-Seconds, 15 seconds; a rogue's size follows its realm's tier). It stays where it unfolded.

A foe's domain collapses when its duration runs out, when the foe stays outside it for more than Npc-Domain-Leave-Grace-Seconds (2) so luring a boss out of its own domain works, when the foe dies or its encounter ends (silently), when boss domains are switched off, or when a player's domain shatters it. Nothing about a boss domain is saved: no block changes, nothing spawns, and a restart ends it.

Clashing with one

Unfold your own domain so that the two overlap, or stand in yours as the foe unfolds, and they clash exactly as two players' domains do (Power): your realm number against the foe's, plus the counter bonus for whichever element overcomes the other's, plus resonance if you have it. The Domain Clash switches and numbers apply.

ResultThe playerThe foe
You winYour domain stands, and you are not shoved.Its domain shatters and it staggers for Npc-Domain-Stagger-Seconds (3).
You loseYour domain shatters, with the usual backlash, and you are shoved away from the foe.Nothing.
A tieYour domain shatters, with no backlash, and you are shoved away.Its domain shatters and it does not stagger.

A staggered foe cannot move (the Staggered effect roots it, shows the stun stars on its head, and makes it take 25 percent more damage from every kind of hit), and with Npc-Domain-Stagger-Freeze it also stops attacking. That freeze is applied only to a creature that is not saved with the world (the engine's NonSerialized marker); a creature that is saved is rooted and takes the extra damage but is never frozen. A staggered rogue's next art is pushed back until the stagger ends. The foe's next domain waits out the cooldown. With Domain-Clash-Enabled off there are no clashes at all: a foe's domain of a higher realm suppresses yours instead, as in the older rule and under the same Domain-Suppression-Enabled switch.

A party can break what one cannot

A caster who resonates with an ally clashes with one more power, so two cultivators standing in feeding elements can shatter a domain neither could alone. See Domain resonance.

Trying it alone

cultivation.admin staff have three test aids. They work on an ordinary creature within 24 blocks of you (spawn one first), the domain is hostile to you only, and none touches a real boss, a Rogue Cultivator at the floor or above, a live Warden, or a creature that already holds a domain. A spirit beast, a quest giver, the merchant, a sect guardian post and the flying-sword mount are never picked.

CommandDoes
/cultivation admin domain boss {element} {realm}Makes the nearest creature wind up and unfold a test boss domain now, at that realm's clash power. element is metal, wood, water, fire, earth, ice, wind, poison, lightning, void or heavenly; realm is a realm name or its 1-based position (6 is Soul Formation).
/cultivation admin domain arm {element} {realm}The same, but waits for the creature's health marks, and honors the "enemy near" rule and the cooldown, as a real boss would.
/cultivation admin domain calmEnds every test boss domain you started and thaws any creature it left staggered. It reports how many it ended.

Set Npc-Domain-Cooldown-Seconds low in the Boss Domains section of the admin menu to see the second mark without waiting.

In the Codex

Hostile Domains is a Codex article in The Self section, after Dao Domains. It lists the configured foes with their realms and elements, the health marks, and the clash numbers, and is rebuilt from the server's own configuration.

Domain resonance

v0.11.1 The Wu Xing elements do not only overcome one another, they feed one another (相生). Two standing domains resonate where they overlap when all of these hold:

The cycles. They run inside each ring, the same two rings as the overcoming cycles:

RingEach element feeds the next
ClassicWood feeds Fire, Fire feeds Earth, Earth feeds Metal, Metal feeds Water, and Water feeds Wood
ShadowIce feeds Lightning, Lightning feeds Wind, Wind feeds Void, Void feeds Poison, and Poison feeds Ice

A classic element never feeds a shadow one, and no element feeds the one it overcomes or is fed by the one that overcomes it. The off-ring Rubber Duck feeds nothing and is fed by nothing.

Heavenly Qi. With Domain-Resonance-Heavenly-Harmony (on), a Heavenly Qi domain (a caster with no Dao, or the Duck) harmonizes with any allied elemental domain at half strength. Two Heavenly domains never resonate.

What it gives. Every ally of either caster, and the casters themselves, who stands where the two domains overlap (inside both cylinders) deals 10 percent more damage and takes 10 percent less. A harmony gives 5 percent. The bonus is a short effect (Domain Resonance, or Heavenly Harmony) refreshed by both casters' pulses, it never stacks (three domains in a chain give it once), it does not count against Domain-Max-Targets, and enemies get nothing from it.

Clash power. While a caster resonates with a full-strength partner, their domain clashes with Domain-Resonance-Clash-Bonus (1, up to 2) more power, against a player's domain and against a boss's alike. A harmony never adds it, and it does not apply to a clash with a sect array. It needs Domain-Clash-Enabled on.

What you see. A line in chat names the pair and who feeds whom, and a chime plays. A bloom of light appears at the middle of the overlap, and motes of the feeder's color flow along the line between the two anchors. A quiet line tells you when it fades, and when a resonance first gives the clash bonus you are told once. /cultivation domain adds your cycle ("Resonance: your Wood feeds Fire and is fed by Water.") and, while a domain of yours stands, "Resonating now with: ...".

Domain-Resonance-Enabled switches the whole feature off, which ends every pair and hides the status lines. The Domain Resonance Codex article, also in The Self, tells the reader both cycles and their own element's place in them.

Trying it alone. /cultivation admin domain ally {element} {realm} stands an allied, casterless Test Echo of that element 3 blocks in front of you for 20 seconds, with the radius a cultivator of that realm would get; up to three at a time, the oldest fading to make room. The reply says whether its element feeds yours, is fed by it, harmonizes or does nothing. Unfold your own domain over it and the resonance, the bloom and the clash bonus play out as they would with a real ally. The echo applies nothing to anyone else and is never a clash opponent.

For server owners

Everything is in mods/Siren_Cultivation/Arts/DaoDomainConfig.json. Nothing about a domain is saved per player, so there is no data file. The file holds 46 settings and four Description-* notes. v0.11.1 The in-game editor (the Config tab of /cultivation admin) shows them in three sections: Dao Domains (the 21 settings through Domain-Clash-Arrays-Enabled), Boss Domains (22) and Domain Resonance (3). It clamps a number you type straight away.

KeyDefaultAllowedWhat it does
Dao-Domains-EnabledtrueMaster switch. Off removes the grant, the cast and every standing domain.
Domain-Min-RealmNASCENT_SOULany realmThe realm that is granted the Heart and may cast. Also tier 1. A name the game does not know resets to Nascent Soul.
Domain-Qi-Cost1200 to 100000Qi per cast at tier 1, before a Cost rune.
Domain-Qi-Cost-Per-Tier300 to 100000Added per tier above the first.
Domain-Radius63 to 16Radius in blocks at tier 1.
Domain-Radius-Per-Tier20 to 8Added per tier above the first.
Domain-Duration-Seconds103 to 25Seconds at tier 1.
Domain-Duration-Per-Tier-Seconds30 to 11Added per tier above the first.
Domain-Max-Targets321 to 128Creatures affected per half-second pulse, players first.
Domain-Affects-Enemy-PlayerstrueWhether PvP-eligible players suffer the enemy effects. Off: monsters only, and players' domains no longer clash through PvP rules.
Domain-Ally-ScopePARTY_SECT_ALLIANCESELF_ONLY, PARTY, PARTY_SECT, PARTY_SECT_ALLIANCEWho counts as an ally. A bad value resets to the default.
Domain-Suppression-EnabledtrueThe older suppression rule. Applies only while Domain-Clash-Enabled is false.
Domain-Seal-Reaction-Bonus-Percent200 to 200Extra burst damage of a Dao Seal reaction on a target inside your own domain.
Domain-Sword-Intent-EnabledtrueThe Sword Intent layer.
Domain-Grant-On-JointrueGrant the Heart on login to anyone at or above the floor who holds none. The breakthrough grant and claim are unaffected.
Domain-Clash-EnabledtrueClashes between hostile domains.
Domain-Clash-Counter-Bonus10 to 3Extra power when your element overcomes the opponent's.
Domain-Clash-Backlash-Seconds40 to 15How long the loser is slowed.
Domain-Clash-Backlash-Qi-Percent250 to 100Share of the Qi the loser paid that it loses.
Domain-Clash-Push-Strength60 to 15Blocks per second of the shove that parts the casters. 0 for none.
Domain-Clash-Arrays-EnabledtrueWhether a domain also clashes with a hostile sect array.
Npc-Domains-EnabledtrueMaster switch for boss domains. Also needs Dao-Domains-Enabled and the technique switch. Off collapses every standing boss domain.
Npc-Domain-Calamity-EnabledtrueWhether Calamity Beasts unfold domains.
Npc-Domain-Event-Bosses-EnabledtrueWhether event world bosses unfold domains.
Npc-Domain-Warden-EnabledtrueWhether the Void Rift Warden unfolds one.
Npc-Domain-Rogues-EnabledtrueWhether Rogue Cultivators of the floor realm or above unfold one.
Npc-Domain-Calamity-RealmSOUL_FORMATIONany realmThe realm a Calamity Beast's domain clashes at. A realm name, or its 1-based position (6 is Soul Formation). A name the game does not know resets to the default.
Npc-Domain-Event-Boss-RealmNASCENT_SOULany realmThe same for an event boss.
Npc-Domain-Warden-RealmSOUL_FORMATIONany realmThe same for the Warden.
Npc-Domain-Rogue-Min-RealmNASCENT_SOULany realmA Rogue Cultivator below this realm never unfolds a domain; at or above it, it clashes at its own realm.
Npc-Domain-Boss-ElementsCalamity Serpent POISON, Calamity Tiger METAL, Calamity Phoenix FIRE, Tide Leviathan WATER, Meteorfall Colossus EARTH, Bloodmoon Howler WIND, Starfall Devourer WOODRoleId:ELEMENT, comma-separatedEach boss role's element, as the role ids Cultivation_WorldBoss_*. A role not listed, a pair that cannot be read, or HEAVENLY casts Heavenly Qi. File-only.
Npc-Domain-Warden-ElementVOIDan element or HEAVENLYThe Warden's element.
Npc-Domain-Boss-Radius104 to 16A boss domain's radius in blocks.
Npc-Domain-Boss-Duration-Seconds153 to 25How long a boss domain stands, at most the same 25 seconds as a player's.
Npc-Domain-Boss-Health-Thresholds75,401 to 4 percentages from 1 to 99The health marks, highest first, at which a boss unfolds. Values that cannot be read are dropped; none left means the default. File-only.
Npc-Domain-Rogue-Health-Threshold-Percent500 to 99The health a Rogue Cultivator unfolds at, once. 0 for never.
Npc-Domain-Cooldown-Seconds305 to 300The wait after a foe's domain ends before its next.
Npc-Domain-Windup-Seconds1.50 to 4How long the foe gathers its Dao before the domain bursts out. 0 for none.
Npc-Domain-Leave-Grace-Seconds20 to 6How long a foe may stand outside its own domain before it collapses.
Npc-Domain-Stagger-Seconds30 to 8How long a foe staggers when a player's domain shatters its own. 0 for no stagger.
Npc-Domain-Stagger-FreezetrueA staggered foe that the world does not save also stops moving and attacking.
Npc-Domain-Pressure-EnabledtrueDomain Pressure: players inside deal 10 percent less damage.
Npc-Domain-Title-EnabledtrueA screen title when a boss or the Warden unfolds.
Domain-Resonance-EnabledtrueMaster switch for resonance. Also needs Dao-Domains-Enabled.
Domain-Resonance-Clash-Bonus10 to 2Extra clash power while a caster resonates with a full-strength partner.
Domain-Resonance-Heavenly-HarmonytrueHeavenly Qi harmonizes with any allied elemental domain at half strength.

The boss and resonance keys are v0.11.1 additions to this file, below the clash keys. The cooldown (75 seconds) is on the rune item, not in this file. The per-element effect numbers, which are fixed, live in the Cultivation_Domain_* effect assets rather than here.

Version and upgrades. The file's ConfigVersion is 2. Dao Domains are new in 0.11.1, so no 0.11.0 install has this file and nothing needs migrating. The version only gates a rewrite: a file reporting a lower version has it raised to 2, and any key it lacks (the clash, boss and resonance keys, for instance) takes its default, so no value you set is touched. On every start, a value outside its allowed range is pulled back into it and the file is rewritten, and the four Description-* notes (Description-Dao-Domains, -Domain-Clashes, -Npc-Domains and -Domain-Resonance) are restored to the shipped text.

In the game. Three Codex articles sit in The Self section of the Codex: Dao Domains, right after Dao Seals, and, since the boss and resonance features, Hostile Domains and Domain Resonance. It is rebuilt from your server's own config, so its tier numbers, ally reach, PvP line and clash numbers are always true for the server, and it adds a line naming the element the reader would cast in. Domains are also a Progressive Reveal system (cultivation:daoDomains): all three articles stay out of the menus until a player's highest-ever realm reaches Domain-Min-Realm. See Progression Compass and the Reveal Config. A few fixed lines, such as the item description, still say Nascent Soul if you move the floor.

For add-on developers

plugin.siren.API.DaoDomainEvents carries eight events: four for a player's domain and, since the boss and resonance features, four more. Nothing in the public API unfolds or ends a domain; a domain is a cast, and a cast belongs to the player. Listeners register the same way as for every other event class; see Events for the conventions.

EventFiresPayloadCan change it
PreDomainUnfoldEventEvery gate has passed; no Qi spent yet.caster (UUID), element (null for Heavenly Qi), tier (0 to 2), radius, durationSeconds, qiCostCanceling fails the cast like a refusal: no Qi, no cooldown. setRadius, setDurationSeconds and setQiCost re-tune it; radius is clamped to 1 to 32, duration to 1 to 25, Qi to 0 or more, and a non-finite number is ignored. A caster who pays nothing pays nothing whatever is set.
DomainUnfoldEventThe domain stands, before its first pulse.caster, element, tier, radius, durationSeconds, qiSpentRead-only.
DomainCollapseEventA domain ends.caster, element, reason (EXPIRED, LEFT_AREA, DIED, LEFT_WORLD, GATE, DISABLED, CLASHED), secondsActiveRead-only. Not fired for a disconnect.
DomainClashEventA clash is settled, just before the collapses it causes.first (the caster whose pulse settled it), second (null against an array; a synthetic id for an admin's test rival), arraySect, firstPower, secondPower, outcome (FIRST_WON, SECOND_WON, TIE), counterDecidedRead-only.
PreNpcDomainUnfoldEvent v0.11.1A creature is about to wind up a domain: a health mark was crossed (or an admin test fired). Before the wind-up.npc (the creature's entity UUID), roleId, kind (CALAMITY, EVENT_BOSS, WARDEN, ROGUE, TEST), element (null for Heavenly Qi), realmOrdinal, radius, durationSecondsCanceling means it does not unfold, and the mark is spent. setRealmOrdinal, setRadius and setDurationSeconds re-tune it, clamped to the engine's sane range.
NpcDomainUnfoldEvent v0.11.1The creature's domain bursts out, after its wind-up.npc, roleId, kind, element, realmOrdinal, radius, durationSeconds, worldName, x, y, zRead-only.
NpcDomainCollapseEvent v0.11.1A creature's domain ends. After the DomainClashEvent that caused it when the reason is CLASHED.npc, roleId, kind, element, reason (EXPIRED, LEFT_AREA, DIED, ENCOUNTER_ENDED, DISABLED, CLASHED), secondsActive, shatteredBy (the player whose domain won, else null), staggerSecondsRead-only.
DomainResonanceEvent v0.11.1Two allied domains begin or stop resonating. Fires once per caster, from that caster's side: a pair of real players fires twice per change.caster, partner (a synthetic id for an admin's test echo, which fires only the admin's side), casterElement, partnerElement (null for Heavenly Qi), mode (FULL or LESSER), casterFeeds, startedRead-only. A caster's collapse ends each of its pairs with started false.

All eight fire on the world thread of the caster or the creature, so never write to the store directly from a listener. Players and creatures are identified by UUID, because a domain can end after its entity is gone. In a DomainClashEvent, second is the creature's entity UUID when the opponent was a boss domain. NpcCollapseReason is its own enum on purpose, so the player CollapseReason and its exhaustive switches did not change.