Skip to main content

Favonius Lance

Practical config

Use favoniuslance in a weapon line. Aliases: favlance, favspear

Code

character add weapon="favoniuslance" refine=1 lvl=90/90;

Special notes

Proc rule

The proc only happens if the hit deals damage, crits, is from the holder, and the holder is active.

Code

xiangling add weapon="favoniuslance" refine=5 lvl=90/90;

Combo recipes

Force real proc chances through CR

Favonius does not proc by command. Give the holder enough Crit Rate, then keep the holder active for the hit.

skill hit

Use a real damaging hit from the holder to test the proc.

not guaranteed

Even high Crit Rate still follows crit/proc logic unless you force stats extremely high.

Code

xiangling add weapon="favoniuslance" refine=5 lvl=90/90;
xiangling add stats cr=0.80 er=0.518 atk=311;
xiangling skill;

Equip and test with one real hit

Weapons usually trigger from the holder's own hits, stacks, swaps, reactions, or starting params. Put the weapon on the real holder and test one simple action first.

Holder

The equipped character is the one whose hits and passive checks matter.

Do not assume

If the passive needs crit, reaction, swap, or field time, a random teammate action will not prove it works.

Code

character add weapon="favoniuslance" refine=1 lvl=90/90;
character skill;

Favonius: keep attacking until particles arrive

Use this when the holder should stay on field until Favonius actually procs. The energy check proves that particles arrived, and the timeout avoids a frozen rotation.

.energy.xiangling

Reads the holder's current energy. Start below max energy so the increase is visible.

start_energy=20

Keeps the character from starting full; otherwise the energy field may not move.

while ... < 240

Keeps attacking only for a limited time. Raise it if the holder has slow attacks.

Favonius RNG

Favonius still needs a crit from the holder and follows its cooldown. This only retries safely.

Code

xiangling char lvl=90/90 cons=0 talent=9,9,9 +params=[start_energy=20];
xiangling add weapon="favoniuslance" refine=5 lvl=90/90;
xiangling add stats cr=0.80 er=0.518 atk=311;

fn xiangling_fav_until_proc() {
  let start_energy = .energy.xiangling;
  let start_frame = f();

  while .energy.xiangling <= start_energy && f() - start_frame < 240 {
    xiangling attack;
  }
}

xiangling_fav_until_proc();

Skill first, then basics until particles arrive

This is the practical version: use the best Favonius trigger first, then keep using basic attacks only if energy did not move yet.

xiangling skill;

First real hit that can crit and trigger Favonius.

.energy check

If particles already arrived, the loop ends. If not, it keeps using basic attacks.

Particle travel

Energy can arrive a little after the hit, so the loop checks the result, not only the cast.

Code

xiangling char lvl=90/90 cons=0 talent=9,9,9 +params=[start_energy=20];
xiangling add weapon="favoniuslance" refine=5 lvl=90/90;
xiangling add stats cr=0.80 er=0.518 atk=311;

fn xiangling_fav_skill_then_retry() {
  let start_energy = .energy.xiangling;
  let start_frame = f();

  xiangling skill;

  while .energy.xiangling <= start_energy && f() - start_frame < 300 {
    xiangling attack;
  }
}

xiangling_fav_skill_then_retry();

Check Favonius cooldown before wasting attacks

Use this around optional filler hits. If Favonius is already on cooldown, the holder does not need to stay on field trying again.

.xiangling.mods.favonius-cd

This mod exists while the Favonius cooldown is active.

.xiangling.weapon == .keys.weapon.favlance

This protects shared helper code so it only runs when the holder really has that Favonius weapon equipped.

Optional filler

Put this around extra attacks, not around required setup actions like skill or burst.

Code

if .xiangling.weapon == .keys.weapon.favlance && !.xiangling.mods.favonius-cd {
  xiangling attack;
}

xiangling skill;

if !.xiangling.mods.favonius-cd {
  xiangling attack;
}

Retry later after Favonius cooldown

Use this when the first window can miss and you want a second attempt later in the rotation.

wait(360)

About 6 seconds at 60 fps. Adjust it for lower refinement or a different timing window.

Cooldown exists

If you hit during cooldown, a crit still will not create another Favonius proc.

Code

xiangling add weapon="favoniuslance" refine=5 lvl=90/90;
xiangling add stats cr=0.80 er=0.518 atk=311;

xiangling skill;
wait(360);
xiangling skill;

Special params

No special entries documented.

Fields for conditions

No special entries documented.

AoE Data

No AoE data for weapon

Known issues

Does not have any known issues

Names

  • favoniuslance
  • favlance
  • favspear

Params

Does not have any ability params

Fields

Does not have any fields