59,248 DPS
내 결과와 같은 방식(같은 적, 로테이션 반복)으로, 이 로테이션을 가져온 커뮤니티 gcsim 설정의 빌드를 써서 계산한 점수입니다. 내 빌드의 점수는 다릅니다.
출처에서는 자체 조건의 로테이션 1회 기준 64,103 DPS로 보고합니다.
이 파티의 로테이션은 아직 검증 전입니다. 점수가 바뀔 수 있습니다.
내 빌드로 계산하기
게임 프로필의 캐릭터 쇼케이스에 넣어 둔 캐릭터만 불러올 수 있습니다. "캐릭터 상세 정보 표시"를 켜 주세요.
출처
로테이션 스크립트 (gcsim)
active kuki;
fn doActionList() {
for let r=0; r<3; r=r+1 {
kuki skill;
furina skill, dash, burst;
albedo skill, burst;
kuki burst;
alhaitham skill[hold=1]; alhaithamLowPlunge();
alhaitham attack:5, dash,
attack:1, charge, dash,
attack:3;
kuki skill;
alhaitham burst;
albedo skill, attack;
alhaitham attack:5, dash,
attack:3, charge, dash,
attack:4, charge, dash,
attack:3, charge;
}
}
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 .furina.onfield:
prev_char_id = .keys.char.furina;
case .albedo.onfield:
prev_char_id = .keys.char.albedo;
default:
prev_char_id = .keys.char.kuki;
}
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.dash {
pick_up_crystallize("any");
}
if action_id == .action.burst {
while .alhaitham.onfield && !.alhaitham.burst.ready {
alhaitham attack;
}
while .furina.onfield && !.furina.burst.ready {
furina attack;
}
while .albedo.onfield && !.albedo.burst.ready {
albedo attack;
}
while .kuki.onfield && !.kuki.burst.ready {
kuki 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();