117,213 DPS
Berechnet wie deine Ergebnisse, gegen denselben Gegner mit wiederholter Rotation, mit dem Build aus der gcsim-Konfiguration der Community, aus der die Rotation stammt. Dein eigener Build erzielt eine andere Wertung.
Die Quelle gibt 119,561 DPS für eine Rotation unter ihren eigenen Bedingungen an.
Eigenen Build berechnen
Nur Charaktere aus der Charakterpräsentation deines Spielprofils können geladen werden. Aktiviere „Charakterdetails anzeigen“.
Quellen
Rotationsskript (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();