Fischl
Practical config
Use fischl in configs. Aliases: fish, amy
Code
fischl char lvl=90/90 cons=0 talent=9,9,9;
fischl add weapon="favoniussword" refine=5 lvl=90/90;
fischl add set="emblemofseveredfate" count=4;
fischl add stats hp=4780 atk=311 atk%=0.466 cr=0.311 cd=0.622 er=0.110;Combo recipes
Oz uptime guard
Refresh Oz only when he is missing or close to ending.
Code
if !.fischl.oz && .fischl.skill.ready {
fischl skill;
}
if .fischl.oz-duration < 120 && .fischl.burst.ready {
fischl 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 fischl_basic_loop() {
if .fischl.skill.ready {
fischl skill;
}
if .fischl.burst.ready {
fischl burst;
}
fischl attack:3;
}Wait while .fischl.oz is active
Whether Oz is active or not.
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 .fischl.oz > 0 && f() - start < 300 {
fischl attack;
}Wait while .fischl.oz-source is active
The source frame Oz is spawned on.
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 .fischl.oz-source > 0 && f() - start < 300 {
fischl attack;
}Wait while .fischl.oz-duration is active
Number of frames until Oz disappears if he is active, 0 otherwise.
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 .fischl.oz-duration > 0 && f() - start < 300 {
fischl attack;
}Start with oz_travel
Projectile travel time for Oz. Default 10 frames. Set via '+params=[oz_travel=...]' in Fischl's 'char' line.
+params=[...]
Character params go on the `char` line.
Code
fischl char lvl=90/90 cons=0 talent=9,9,9 +params=[oz_travel=10];Use attack[travel=...]
Projectile travel time. Default 10 frames.
attack[travel=...]
Action params go inside brackets on the exact action you are casting.
Code
fischl attack[travel=10];Actions you can write
attack usable directly
Code
fischl attack:3;aim usable directly
Code
fischl aim[weakspot=1,travel=10];skill usable directly
Code
fischl skill;burst usable directly
Code
fischl burst;dash usable directly
Code
fischl dash;jump usable directly
Code
fischl jump;walk Only aim followed by walk has proper frames.
Code
fischl walk;swap usable directly
Code
fischl swap;Special action params
-[oz_travel=...] - Projectile travel time for Oz. Default 10 frames. Set via '+params=[oz_travel=...]' in Fischl's 'char' line.
Code
fischl -[oz_travel=10];attack[travel=...] - Projectile travel time. Default 10 frames.
Code
fischl attack[travel=10];aim[hold=...] - 0 for Physical Aimed Shot, 1 for Fully-Charged Aimed Shot (default).
Code
fischl aim[hold=1];aim[travel=...] - Projectile travel time. Default 10 frames.
Code
fischl aim[travel=10];aim[weakspot=...] - Hit weakspot with aimed shot. Default 0 (false), 1 for true.
Code
fischl aim[weakspot=1];skill[recast=...] - 0 to use E (default), 1 to use Recast E. Recast E is only possible if Oz is active and Recast E is not on cooldown.
Code
fischl skill[recast=1];Fields for conditions
.fischl.oz - Whether Oz is active or not.
Code
if .fischl.oz > 0 {
# action here
}.fischl.oz-source - The source frame Oz is spawned on.
Code
if .fischl.oz-source > 0 {
# action here
}.fischl.oz-duration - Number of frames until Oz disappears if he is active, 0 otherwise.
Code
if .fischl.oz-duration > 0 {
# action here
}Frames
- Video #1
- Video #2
- Video #3
- Video #4
Hitlag Data
- Aimed Shot
| Ability | Halt Time | Scale | Defense Halt | Deployable |
|---|---|---|---|---|
| Aim-Head | 0.12 | 0.01 | false | true |
| FullAim-Head | 0.12 | 0.01 | false | true |
AoE Data
- Normal
- Aimed Shot
- Skill
- Burst
- Ascension
- Cons
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| N1 | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| N2 | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| N3 | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| N4 | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| N5 | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Aim | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| Aim-Head | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| FullAim | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| FullAim-Head | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| E-SummonOz | Circle | GlobalValue | - | - | 2 | - | - | - | - |
| E-SummonOz-C2 | Circle | GlobalValue | - | - | 3 | - | - | - | - |
| E-OzATK | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Q-FallingThunder | Circle | Player | - | - | 0.5 | - | - | - | - |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| E-A1 | Box | PrimaryTarget | - | - | - | - | 2.5 | 2.5 | not implemented yet |
| E-A4 | Circle | GlobalValue | - | - | 0.5 | - | - | - | Spawns on target that A4 proc'd on. |
| Ability | Shape | Center | Offset X | Offset Y | Radius | Fan Angle | Box X | Box Y | Notes |
|---|---|---|---|---|---|---|---|---|---|
| E-C1 | Box | PrimaryTarget | - | -0.5 | - | - | 0.1 | 1 | - |
| Q-C4 | Circle | Player | - | - | 5 | - | - | - | - |
| E-C6 | Box | PrimaryTarget | - | -1 | - | - | 0.1 | 1 | - |
Known issues
Names
- fischl
- fish
- amy
Legal Actions
| Ability | Legal | Notes |
|---|---|---|
attack | ✔ | - |
charge | ❌ | - |
aim | ✔ | - |
skill | ✔ | - |
burst | ✔ | - |
low_plunge | ❌ | - |
high_plunge | ❌ | - |
dash | ✔ | - |
jump | ✔ | - |
walk | ⚠ | Only aim followed by walk has proper frames. |
swap | ✔ | - |
Params
| Ability | Param | Description |
|---|---|---|
- | oz_travel | Projectile travel time for Oz. Default 10 frames. Set via '+params=[oz_travel=...]' in Fischl's 'char' line. |
attack | travel | Projectile travel time. Default 10 frames. |
aim | hold | 0 for Physical Aimed Shot, 1 for Fully-Charged Aimed Shot (default). |
aim | travel | Projectile travel time. Default 10 frames. |
aim | weakspot | Hit weakspot with aimed shot. Default 0 (false), 1 for true. |
skill | recast | 0 to use E (default), 1 to use Recast E. Recast E is only possible if Oz is active and Recast E is not on cooldown. |
Fields
| Field | Description |
|---|---|
.fischl.oz | Whether Oz is active or not. |
.fischl.oz-source | The source frame Oz is spawned on. |
.fischl.oz-duration | Number of frames until Oz disappears if he is active, 0 otherwise. |