피슬 / 푸리나 / 키라라 / 베넷

55,049 DPS

내 결과와 같은 방식(같은 적, 로테이션 반복)으로, 이 로테이션을 가져온 커뮤니티 gcsim 설정의 빌드를 써서 계산한 점수입니다. 내 빌드의 점수는 다릅니다.

출처에서는 자체 조건의 로테이션 1회 기준 59,376 DPS로 보고합니다.

내 빌드로 계산하기

게임 프로필의 캐릭터 쇼케이스에 넣어 둔 캐릭터만 불러올 수 있습니다. "캐릭터 상세 정보 표시"를 켜 주세요.

출처

로테이션 스크립트 (gcsim)
active kirara;
fn doActionList() {
  kirara skill;
  for let r=0; r<4; r=r+1 {
    furina skill, dash, burst;
    bennett burst, skill;
    fischl attack, skill;
    kirara skill, burst;
    fischl attack:2, dash, attack:2, dash, attack:2;
    bennett skill;
    fischl attack:2, dash, attack:2, burst;
    kirara skill[hold=180];
    bennett skill;
    fischl attack:2, dash, attack:2;
  }
}
fn printActiveHPRatio() {
  if .fischl.onfield {
    print("Fischl HP: ", .fischl.hpratio * 100, "%");
  } else if .furina.onfield {
    print("Furina HP: ", .furina.hpratio * 100, "%");
  } else if .kirara.onfield {
    print("Kirara HP: ", .kirara.hpratio * 100, "%");
  } else {
    print("Bennett HP: ", .bennett.hpratio * 100, "%");
  }
}
set_on_tick(printActiveHPRatio);
fn randy(mean, standardDeviation, min, max) {
  let value = randnorm() * standardDeviation + mean;
  if value < min {
    value = min;
  } else if value > max {
    value = max;
  }
  return value;
}
let prev_char_id = -1;
switch {
  case .fischl.onfield:
    prev_char_id = .keys.char.fischl;
  case .furina.onfield:
    prev_char_id = .keys.char.furina;
  case .kirara.onfield:
    prev_char_id = .keys.char.kirara;
  default:
    prev_char_id = .keys.char.bennett;
} 
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 .fischl.onfield && !.fischl.burst.ready {
      fischl attack;
    }
    while .furina.onfield && !.furina.burst.ready {
      furina attack;
    }
    while .kirara.onfield && !.kirara.burst.ready {
      kirara attack;
    }
    while .bennett.onfield && !.bennett.burst.ready {
      bennett attack;
    }
  }
  if action_id == .action.swap {
    delay(randy(9.5, 1.5, 8, 17)); 

  } else if prev_action_id == .action.attack && action_id != .action.attack && action_id != .action.charge {
    delay(randy(3, 1, 0, 6)); 
    
  } else if prev_action_id != .action.attack {
    delay(randy(3, 1, 0, 6)); 
  }
  prev_char_id = char_id;
  prev_action_id = action_id;
  return _execute_action(char_id, action_id, p);
}
doActionList();
계산 중입니다… 최대 1분 정도 걸릴 수 있습니다.