알하이탐 / 피슬 / 야에 미코 / 나히다

117,213 DPS

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

출처에서는 자체 조건의 로테이션 1회 기준 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();
계산 중입니다… 최대 1분 정도 걸릴 수 있습니다.