GIVE 연타에 행성이 흔들리고 우하단에 [+1] · 10회 이상이면 [+10]과 자전 1.5배, 전송 중 연타는 다음 묶음으로 쌓임
This commit is contained in:
@@ -18,8 +18,12 @@ class LivePlanet25D extends StatelessWidget {
|
||||
this.glow = AppColors.neonViolet,
|
||||
this.animate = true,
|
||||
this.lowEffects = false,
|
||||
this.spinBoost = false,
|
||||
});
|
||||
final VoidCallback? onOpenHistory;
|
||||
|
||||
/// [Planet25D.spinBoost].
|
||||
final bool spinBoost;
|
||||
final String fandomId;
|
||||
final PlanetWatch watch;
|
||||
final String image;
|
||||
@@ -54,6 +58,7 @@ class LivePlanet25D extends StatelessWidget {
|
||||
heroEventIds: state?.heroEventIds,
|
||||
animate: animate,
|
||||
lowEffects: lowEffects,
|
||||
spinBoost: spinBoost,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -145,8 +145,13 @@ class Planet25D extends StatefulWidget {
|
||||
this.onOpenHistory,
|
||||
this.lowEffects = false,
|
||||
this.animate = true,
|
||||
this.spinBoost = false,
|
||||
});
|
||||
|
||||
/// GIVE 10회 이상 연타 중 — Figma `2033:15818` 「자전속도 1.5 배」. 본체는 자전하지 않으므로(C-185)
|
||||
/// 구름 · 궤도 · 링 먼지 · 펄스가 도는 주기를 1.5배 빠르게 한다.
|
||||
final bool spinBoost;
|
||||
|
||||
/// 다음 Stage 진화 5% 전 — 표면 아우라([PlanetVisualState.evolutionImminent]).
|
||||
final bool evolutionImminent;
|
||||
|
||||
@@ -218,9 +223,12 @@ class _Planet25DState extends State<Planet25D>
|
||||
// 실패의 감소 폭은 원문에 수치가 없어 이클립스 진행 중과 같은 값을 쓴다(해석 확인 항목).
|
||||
? eclipseLight
|
||||
: 1;
|
||||
Duration get _cycle =>
|
||||
Duration(milliseconds: (_period * 1000 / (widget.spinBoost ? 1.5 : 1)).round());
|
||||
|
||||
late final AnimationController _c = AnimationController(
|
||||
vsync: this,
|
||||
duration: Duration(seconds: _period),
|
||||
duration: _cycle,
|
||||
);
|
||||
|
||||
bool get _motionEnabled =>
|
||||
@@ -245,8 +253,9 @@ class _Planet25DState extends State<Planet25D>
|
||||
super.didUpdateWidget(old);
|
||||
if (old.isHibernating != widget.isHibernating ||
|
||||
old.isEclipsed != widget.isEclipsed ||
|
||||
old.isHeroTime != widget.isHeroTime) {
|
||||
_c.duration = Duration(seconds: _period);
|
||||
old.isHeroTime != widget.isHeroTime ||
|
||||
old.spinBoost != widget.spinBoost) {
|
||||
_c.duration = _cycle;
|
||||
if (_motionEnabled) _c.repeat();
|
||||
}
|
||||
_syncMotion();
|
||||
|
||||
Reference in New Issue
Block a user