Skip to main content

Albedo

Practical config

Use albedo in configs. Aliases: None listed.

Code

albedo char lvl=90/90 cons=0 talent=9,9,9;
albedo add weapon="favoniussword" refine=5 lvl=90/90;
albedo add set="emblemofseveredfate" count=4;
albedo add stats hp=4780 atk=311 atk%=0.466 cr=0.311 cd=0.622 er=0.110;

Combo recipes

Use skill only when elevator is gone

Prevents wasting time recasting when the field object is already active.

Code

if !.albedo.elevator {
  albedo skill;
}
albedo burst;

Safe basic loop

This is the safest starter pattern. It checks if skill/burst are ready before pressing them, then uses attacks as filler. Use it when you do not know a character combo yet.

if .character.skill.ready

This reads the cooldown. If it says ready, the action can be used now. If it is false, the sim skips that action.

attack:3

`attack:3` means three normal attacks in a row. Change the number while you test.

No infinite loop here

This helper runs once when you call it. Put the repeated rotation outside, in your main `for` loop.

Code

fn albedo_basic_loop() {
  if .albedo.skill.ready {
    albedo skill;
  }
  if .albedo.burst.ready {
    albedo burst;
  }
  albedo attack:3;
}

Wait while .albedo.elevator is active

Evaluates to 1 if skill is currently active

Live state

This is not a setup value. It is the current simulator state at that frame.

Timeout

The frame limit stops the config from freezing if the state never changes.

Code

let start = f();
while .albedo.elevator > 0 && f() - start < 300 {
  albedo attack;
}

Wait while .albedo.c2stacks is active

Current number of C2 stacks

Live state

This is not a setup value. It is the current simulator state at that frame.

Timeout

The frame limit stops the config from freezing if the state never changes.

Code

let start = f();
while .albedo.c2stacks > 0 && f() - start < 300 {
  albedo attack;
}

Wait while .<character>.mods.albedo-a4 is active

Whether or not Albedo A4 buff is active on the specified character

Live state

This is not a setup value. It is the current simulator state at that frame.

Timeout

The frame limit stops the config from freezing if the state never changes.

Code

let start = f();
while .<character>.mods.albedo-a4 > 0 && f() - start < 300 {
  albedo attack;
}

Use low_plunge[collision=...]

0 for no collision dmg (default), 1 for collision dmg.

low_plunge[collision=...]

Action params go inside brackets on the exact action you are casting.

Code

albedo low_plunge[collision=0];

Use high_plunge[collision=...]

0 for no collision dmg (default), 1 for collision dmg.

high_plunge[collision=...]

Action params go inside brackets on the exact action you are casting.

Code

albedo high_plunge[collision=0];

Actions you can write

attack usable directly

Code

albedo attack:3;

charge Need to use attack right before charge.

Code

albedo attack, charge;

skill usable directly

Code

albedo skill;

burst usable directly

Code

albedo burst;

low_plunge Previous action must be a jump buffed via Xianyun's burst for example.

Code

albedo low_plunge[collision=0];

high_plunge Previous action must be a jump buffed via Xianyun's burst for example.

Code

albedo high_plunge[collision=0];

dash usable directly

Code

albedo dash;

jump usable directly

Code

albedo jump;

walk No action followed by walk (except low_plunge and high_plunge) has proper frames.

Code

albedo walk;

swap usable directly

Code

albedo swap;

Special action params

low_plunge[collision=...] - 0 for no collision dmg (default), 1 for collision dmg.

Code

albedo low_plunge[collision=0];

high_plunge[collision=...] - 0 for no collision dmg (default), 1 for collision dmg.

Code

albedo high_plunge[collision=0];

Fields for conditions

.albedo.elevator - Evaluates to 1 if skill is currently active

Code

if .albedo.elevator > 0 {
  # action here
}

.albedo.c2stacks - Current number of C2 stacks

Code

if .albedo.c2stacks > 0 {
  # action here
}

.<character>.mods.albedo-a4 - Whether or not Albedo A4 buff is active on the specified character

Code

if .<character>.mods.albedo-a4 > 0 {
  # action here
}

Frames

Video credit: Kolibri#7675 (special thanks to Xreejan#1180)
Count: Sheet (credit: Kolibri#7675)

Hitlag Data

AbilityHalt TimeScaleDefense HaltDeployable
N10.030.01truefalse
N20.030.01truefalse
N30.060.01truefalse
N40.090.01truefalse
N50.120.01truefalse

AoE Data

AbilityShapeCenterOffset XOffset YRadiusFan AngleBox XBox YNotes
N1CirclePlayer-0.81.6----
N2CirclePlayer-0.12180---
N3BoxPlayer--0.2--32.6-
N4BoxPlayer-0.1--1.53.7-
N5CirclePlayer-0.82----

Known issues

  • Burst ticks missing precise frame count

Names

  • albedo

Legal Actions

AbilityLegalNotes
attack-
chargeNeed to use attack right before charge.
aim-
skill-
burst-
low_plungePrevious action must be a jump buffed via Xianyun's burst for example.
high_plungePrevious action must be a jump buffed via Xianyun's burst for example.
dash-
jump-
walkNo action followed by walk (except low_plunge and high_plunge) has proper frames.
swap-

Params

AbilityParamDescription
low_plungecollision0 for no collision dmg (default), 1 for collision dmg.
high_plungecollision0 for no collision dmg (default), 1 for collision dmg.

Fields

FieldDescription
.albedo.elevator
Evaluates to 1 if skill is currently active
.albedo.c2stacks
Current number of C2 stacks
.<character>.mods.albedo-a4
Whether or not Albedo A4 buff is active on the specified character
If more than one field is available, then either field will work.