This page is about the first boss fight. For the rematch, see Elena (second duel); for the playable hero, see Elena.
Elena (first duel) is the first of two sword duels against the same nun-duellist in Chapter 6 (Blessedland). She is an ordinary enemy model (hero 20039) and a different data row from the playable Elena. The first duel is a story set piece: it ends with a cutscene rather than a normal kill, and it uses only half of her moveset. It is one of the Bosses of the main story. The rematch is Elena (second duel).
Overview#
| Story monster id | 6077 (ES_StoryMonster, story 6, area 1, scene Arena10009) |
| Model | Hero 20039, a duellist with dodge, parry and counters |
| Attribute points | 20 / 10 / 10 / 10 / 8 / 10 at base level, plus (level - 1) |
| Poise / Resilience | 10 (regen 20 per mille per second) / 90 (regen 20) |
| Weak-point multipliers | 1 / 1 / 1 in ES_HeroData (damage / Poise / Resilience), which means x2 each on a weak collider because the game adds 1 to each multiplier (animalbase_value.lua:2340-2341, 2646); whether her model has a weak collider was not checked. 30% bonus Resilience loss when her armour is broken |
| Sanity cost | SanDamage 55 |
| Drops | No item drops and no story items. When you are not at Normal sanity a sanity drop (SanDropId 60021) rolls: 40% for 2 to 3 Anthozoan Bones |
| Final blow | FinalHit = 1, so the killing blow is handed to a scripted scene |
Phases#
There is no second phase: Elena's script returns a grade threshold of 0 (hero20039.lua:45), so the Lunatic test of Bosses#Boss mode and the phase change can never pass. What changes during the fight is her stance: the heavy attack H1 ends in the two-sword stance and LP2 returns to one sword (hero20039.lua:78-88).
Hidden: this duel stays in one-sword style (inferred). The four decision branches that start the stance-switching attack H1 all begin with the check IsbossFinal() == true (attack20039.lua:572, 621, 642, 676). That flag is set from the monster row as FinalHit <= 0 (hero20039.lua:27-28). This duel has FinalHit = 1, so the flag is false, and the branches should never fire. The second duel has FinalHit = 0 and does use both stances. Expect only the moves ending in 1.
Stats#
How the numbers scale#
Stats come from the model's attribute points plus the placement level and the grade rows of ES_StoryMonsterProperty (New Game Plus enemy scaling#What a level does to a stat). Journey 1 is the first playthrough; journeys 2 to 4 are New Game Plus, and later journeys reuse journey 4 (BattleData.GameLoopMax = 4). The values below were calculated with the game's own formula and rounded down.
| Journey | Level | Stage | Health | Physical attack | Elemental attack | Defence | Elemental resist. | Pierce resist. |
|---|---|---|---|---|---|---|---|---|
| 1 | 15 | Whole fight | 5,366 | 428 | 462 | 140 | 97 | 570 |
| 2 | 45 | Whole fight | 11,152 | 796 | 882 | 226 | 174 | 972 |
| 3 | 65 | Whole fight | 14,743 | 997 | 1,162 | 249 | 184 | 1,025 |
| 4 | 89 | Whole fight | 17,137 | 1,149 | 1,372 | 258 | 188 | 1,045 |
Elemental attack is shown once because Fire, Arcane and Dark attack are identical for this model, as are her four elemental resistances. Her Pierce resistance is more than four times her Defence, so thrown knives are weak against her.
Moves#
Moves ending in 1 are the one-sword stance, the only set this duel uses. The two-sword moves (ending in 2) and her dodge are listed in Elena (second duel)#Moves. The AI file (attack20039.lua) lists a cooldown for every move, but several share the same 1 s base cooldown and are chosen by range and chance only.
| Move | What it does | Phase | Flat power and effects | AI (range, cone, chance, cooldown) |
|---|---|---|---|---|
LLLL1 | One sword: 4 light hits | 90 phys | 4–5.5 m · 45° · cd 1s | |
H1 | One sword: attack that switches to two swords (disabled in this duel) | 120 phys | ≤4.5 m · 45° · 30% · cd 16s | |
HPHHH1 | One sword: hold-heavy 4-hit | 90 phys | 4.5–6 m · 45° · cd 1s | |
LPLLL1 | One sword: hold-light 4-hit | 90 phys | 4.5–6 m · 45° · cd 1s | |
O1 | One sword: rushing attack | 120 phys | 6–17 m · 45° · 65%/55% · cd 4s | |
OP1 | One sword: six-hit combo | 60 phys | 4.5–6.5 m · 45° · 65% · cd 1s | |
DP | Back jump | 30%/25% · cd 7s | ||
S1 | Counter (guard → riposte), right; one-sword stance only (SkillCondition 1) | cd 4s | ||
NS1 | Counter, left | cd 4s | ||
skill105 | Parry / riposte | 200 phys, unblockable |
Raw strength of two typical hits#
A move's raw strength is attack stat x the move's attack multiplier + the move's flat power, using the stat that matches its damage type; your defence or resistance then reduces it (see Damage formula and Damage types and resistances). The table shows that raw number before your defence is applied.
| Move (flat power, type) | Journey 1 | Journey 2 | Journey 3 | Journey 4 |
|---|---|---|---|---|
| Rushing attack O1 (120, physical) | 548 | 916 | 1117 | 1269 |
| Light combo LLLL1 (strongest hit) (90, physical) | 518 | 886 | 1087 | 1239 |
Hidden mechanics#
- She counters on a timer and on your attacks. Her counter (
S1, mirrored byNS1) is a guard that turns into a riposte. The AI starts it when either (a) she has been stuck in a hit reaction for more than 2 seconds in a row (HitMaxTime = 2), or (b) you are inside the opening of one of your own attacks while within 4.5 m, or at 6 to 15 m if your attack is a ranged one (attack20039.lua:404-466). Cooldown 4 s. The riposte part (move 105) is a 200-power physical hit that cannot be blocked. - In this duel she cannot dodge. Her dodge branch only runs while her skill condition is 2, the two-sword stance (
attack20039.lua:394, and the dodge rowES_SkillDataHeroId 20039 skill 102 has SkillCondition 2).Hero20039:Startsets every skill to condition 1 (hero20039.lua:10), and the only move that switches to condition 2 isH1, which is disabled in this duel. So the 100% dodge chance (SkillProb.Dodge = 1,Dodge_Min = 5,Dodge_Max = 10) is never rolled here. It is rolled in the Elena (second duel). (Derived from the code; not tested in play.) - She retreats with a random back or side jump.
DPhas a 30% chance (25% in the second stance) and a 7 s cooldown, and moves her about 3.6 to 3.7 m sideways or backwards. - No sanity phase, but your sanity still drops. Each point of her health you remove costs you
55 / max healthsanity, so dealing 100% of her health costs 55 sanity. At full sanity you reach the Lunatic line of 50 only at about 91% damage dealt, and nothing changes there because she has no second phase (see Lunatic state). - The duel ends in a cutscene. Because
FinalHitis set,IsHaveFinalHitreturns true for this boss (controllerstorymode.lua:1817-1835). The quests that fire on completion are 61002 and 61003; both only carry theExitGameNotSaveflag inES_StoryQuest(no achievement or reward).
Strategy#
- Her Poise is only 10 and she regains it slowly (20 per mille of the maximum per second), so outside the armour windows of her own moves almost any hit interrupts her. Time your light hits for the gaps between attacks.
- Her Resilience is 90. The extra Resilience comes from breaking her armour mid-move, which removes a further 30% of her maximum Resilience and always crits (see Poise and stagger).
- Her counter only exists in the one-sword stance, which is the only stance in this duel, so expect it all fight. Block or dodge her counter instead of continuing a combo into it: the riposte is unblockable and hits for 200 flat power.
- Her longest chains are the held-heavy
HPHHH1andLPLLL1(4 hits, 90 power each, with 4.5 and 5.9 m lunges). Back away at 6 m or more and she tends to open with the rushO1(6 to 17 m, 65% or 55% chance).
Sources#
- Tables:
ES_StoryMonsterrow 6077 (kit_id449; Level_1 to Level_4, SanDamage 55, FinalHit 1, SanDropId 60021);ES_HeroData20039 (weak multipliers 1 / 1 / 1;WeakDamageMultiplieretc. are added to 1 atanimalbase_value.lua:2340-2341, 2646);ES_HeroPropertyData,ES_EnemyAttributeData(stat formula);ES_StoryMonsterProperty(one grade-1 row, no values);ES_SkillDataHeroId 20039 (BaseRate 1000 on all 36 rows);ES_StoryQuest61002, 61003. - Code:
luascript/logic/player/hero20039.lua:20-50, 78-88;luascript/logic/ai/behaviour/attack/attack20039.lua:1-170 (cooldowns, chances, ranges), 404-466 (counter), 565-690 (IsbossFinal branches);ai/behaviour/dodge.lua;luascript/structdata/fs_herodata.lua:556-608;logic/playervalue/animalbase_value.lua:172-235;logic/player/animalbase.lua:16700-16735;controller/controllerstorymode.lua:1817-1835, 2978-3035. - Move list and animation clips:
reports/bosses_and_enemies.mdsection 10 andreports/data/boss_moves.json.