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 #1
- Video #2
- Video #3
- Video #4
Count: Sheet (credit: Kolibri#7675)
Count: Sheet (credit: Kolibri#7675)
Count: Sheet (credit: Kolibri#7675)
Count: Sheet (credit: charliex3000)
Hitlag Data
- Normal
| Ability | Halt Time | Scale | Defense Halt | Deployable |
|---|---|---|---|---|
| N1 | 0.03 | 0.01 | true | false |
| N2 | 0.03 | 0.01 | true | false |
| N3 | 0.06 | 0.01 | true | false |
| N4 | 0.09 | 0.01 | true | false |
| N5 | 0.12 | 0.01 | true | false |
AoE Data
- Normal
- Charge Attack
- Plunge
- Skill
- Burst
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| N1 | Circle | Player | - | 0.8 | 1.6 | - | - | - | - |
| N2 | Circle | Player | - | 0.1 | 2 | 180 | - | - | - |
| N3 | Box | Player | - | -0.2 | - | - | 3 | 2.6 | - |
| N4 | Box | Player | - | 0.1 | - | - | 1.5 | 3.7 | - |
| N5 | Circle | Player | - | 0.8 | 2 | - | - | - | - |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| CA-1 | Circle | Player | - | 0.3 | 2.2 | 270 | - | - | - |
| CA-2 | Circle | Player | - | 0.3 | 2.2 | 270 | - | - | - |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Plunge | Circle | Player | - | 1 | 1 | - | - | - | - |
| Low_Plunge | Circle | Player | - | 1 | 3 | - | - | - | - |
| High_Plunge | Circle | Player | - | 1 | 5 | - | - | - | - |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| E-Skill | Circle | Player | - | 3 | 5 | - | - | - | E/C4/C6 has a detection area of 10m around the position of this hitbox. |
| E-TransientBlossom | Circle | GlobalValue | - | - | 3.4 | - | - | - | Spawns on target that the E proc'd on. |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Q-FatalBlossom | Circle | GlobalValue | - | - | 3 | - | - | - | Each blossom targets a separate enemy within the E detection area if possible, otherwise it randomly spawns in the E detection area. |
| Q-Start | Circle | Player | - | - | 3 | - | - | - | not implemented yet |
| Q-ElementalBurst | Circle | Player | - | - | 8 | 120 | - | - | - |
Known issues
- Burst ticks missing precise frame count
Names
- albedo
Legal Actions
| Ability | Legal | Notes |
|---|---|---|
attack | ✔ | - |
charge | ⚠ | Need to use attack right before charge. |
aim | ❌ | - |
skill | ✔ | - |
burst | ✔ | - |
low_plunge | ⚠ | Previous action must be a jump buffed via Xianyun's burst for example. |
high_plunge | ⚠ | Previous action must be a jump buffed via Xianyun's burst for example. |
dash | ✔ | - |
jump | ✔ | - |
walk | ⚠ | No action followed by walk (except low_plunge and high_plunge) has proper frames. |
swap | ✔ | - |
Params
| Ability | Param | Description |
|---|---|---|
low_plunge | collision | 0 for no collision dmg (default), 1 for collision dmg. |
high_plunge | collision | 0 for no collision dmg (default), 1 for collision dmg. |
Fields
| Field | Description |
|---|---|
.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 |