Аль-Хайтам / Фишль / Яэ Мико / Нахида
117,213 DPS
Рассчитано так же, как ваши результаты: тот же противник, ротация повторяется, а билд взят из конфигурации gcsim сообщества, откуда взята ротация. У вашего билда результат будет другим.
Источник указывает 119,561 DPS за одну ротацию в своих условиях.
Рассчитать свой билд
Загрузить можно только персонажей из витрины персонажей в профиле игры. Включите «Показывать подробности персонажей».
Источники
Скрипт ротации (gcsim)
active yae;
fn doActionList() {
for let i=0; i<3; i=i+1 {
yae skill:3;
nahida skill[hold=12], burst;
fischl attack, skill;
alhaitham skill[hold=1]; alhaithamLowPlunge();
alhaitham attack:2, charge, dash,
attack:3, charge;
yae burst;
yae skill:3;
fischl attack:2, burst;
alhaitham burst,
attack:3, dash,
attack:4, charge, dash,
attack:3, charge, dash,
attack:3;
}
}
fn alhaithamLowPlunge() {
if rand() < 1/3 {
alhaitham low_plunge[short=1];
} else {
alhaitham low_plunge;
}
}
fn randy(mean, standardDeviation, min, max, display) {
let value = randnorm() * standardDeviation + mean;
if display {
print("initial roll: ", value);
}
if value > max {
value = max;
} else if value < min {
value = min;
}
if display {
print("final value: ", value);
}
return value;
}
let prev_char_id = -1;
switch {
case .alhaitham.onfield:
prev_char_id = .keys.char.alhaitham;
case .fischl.onfield:
prev_char_id = .keys.char.fischl;
case .yae.onfield:
prev_char_id = .keys.char.yae;
default:
prev_char_id = .keys.char.nahida;
}
let prev_action_id = -1;
let _execute_action = execute_action;
fn execute_action(char_id number, action_id number, p map) {
if prev_char_id != char_id && action_id != .action.swap {
execute_action(char_id, .action.swap, []);
}
if action_id == .action.burst {
while .alhaitham.onfield && !.alhaitham.burst.ready {
alhaitham attack;
}
while .fischl.onfield && !.fischl.burst.ready {
fischl attack;
}
while .yae.onfield && !.yae.burst.ready {
yae attack;
}
while .nahida.onfield && !.nahida.burst.ready {
nahida attack;
}
}
if action_id == .action.swap {
delay(randy(9.5, 1.5, 8, 17, 0));
} else if prev_action_id == .action.attack && action_id != .action.attack && action_id != .action.charge {
delay(randy(3, 1, 0, 6, 0));
} else if prev_action_id != .action.attack {
delay(randy(3, 1, 0, 6, 0));
}
prev_char_id = char_id;
prev_action_id = action_id;
return _execute_action(char_id, action_id, p);
}
doActionList();