117,213 DPS
Senin sonuçların gibi hesaplandı (aynı düşman, rotasyon tekrarlanarak); rotasyonun alındığı topluluk gcsim yapılandırmasındaki build kullanıldı. Kendi build'inin puanı farklı olacaktır.
Kaynak, kendi koşullarında bir rotasyon için 119,561 DPS bildiriyor.
Kendi build'ini hesapla
Yalnızca oyun içi profilindeki Karakter Galerisi'nde bulunan karakterler yüklenebilir. "Karakter Ayrıntılarını Göster" seçeneğini aç.
Kaynaklar
Rotasyon betiği (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();