Files
asciinevrdie/lib/src/core/model/item_stats.freezed.dart
JiWoong Sul e77c3c4a05 refactor(model): freezed 패키지 도입으로 보일러플레이트 제거
- ItemStats, CombatStats, EquipmentItem을 freezed로 마이그레이션
- copyWith, toJson/fromJson 자동 생성
- 세이브 파일 호환성 유지
2026-01-15 17:05:26 +09:00

652 lines
18 KiB
Dart

// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
part of 'item_stats.dart';
// **************************************************************************
// FreezedGenerator
// **************************************************************************
T _$identity<T>(T value) => value;
final _privateConstructorUsedError = UnsupportedError(
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models',
);
ItemStats _$ItemStatsFromJson(Map<String, dynamic> json) {
return _ItemStats.fromJson(json);
}
/// @nodoc
mixin _$ItemStats {
/// 물리 공격력 보정
int get atk => throw _privateConstructorUsedError;
/// 물리 방어력 보정
int get def => throw _privateConstructorUsedError;
/// 마법 공격력 보정
int get magAtk => throw _privateConstructorUsedError;
/// 마법 방어력 보정
int get magDef => throw _privateConstructorUsedError;
/// 크리티컬 확률 보정 (0.0 ~ 1.0)
double get criRate => throw _privateConstructorUsedError;
/// 회피율 보정 (0.0 ~ 1.0)
double get evasion => throw _privateConstructorUsedError;
/// 방패 방어율 (방패 전용, 0.0 ~ 1.0)
double get blockRate => throw _privateConstructorUsedError;
/// 무기 쳐내기 확률 (무기 전용, 0.0 ~ 1.0)
double get parryRate => throw _privateConstructorUsedError;
/// HP 보너스
int get hpBonus => throw _privateConstructorUsedError;
/// MP 보너스
int get mpBonus => throw _privateConstructorUsedError;
/// STR 보너스
int get strBonus => throw _privateConstructorUsedError;
/// CON 보너스
int get conBonus => throw _privateConstructorUsedError;
/// DEX 보너스
int get dexBonus => throw _privateConstructorUsedError;
/// INT 보너스
int get intBonus => throw _privateConstructorUsedError;
/// WIS 보너스
int get wisBonus => throw _privateConstructorUsedError;
/// CHA 보너스
int get chaBonus => throw _privateConstructorUsedError;
/// 무기 공격속도 (밀리초, 무기 전용)
///
/// 0이면 기본값(1000ms) 사용, 값이 클수록 느린 공격.
/// 느린 무기는 높은 기본 데미지를 가짐.
int get attackSpeed => throw _privateConstructorUsedError;
/// Serializes this ItemStats to a JSON map.
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
/// Create a copy of ItemStats
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
$ItemStatsCopyWith<ItemStats> get copyWith =>
throw _privateConstructorUsedError;
}
/// @nodoc
abstract class $ItemStatsCopyWith<$Res> {
factory $ItemStatsCopyWith(ItemStats value, $Res Function(ItemStats) then) =
_$ItemStatsCopyWithImpl<$Res, ItemStats>;
@useResult
$Res call({
int atk,
int def,
int magAtk,
int magDef,
double criRate,
double evasion,
double blockRate,
double parryRate,
int hpBonus,
int mpBonus,
int strBonus,
int conBonus,
int dexBonus,
int intBonus,
int wisBonus,
int chaBonus,
int attackSpeed,
});
}
/// @nodoc
class _$ItemStatsCopyWithImpl<$Res, $Val extends ItemStats>
implements $ItemStatsCopyWith<$Res> {
_$ItemStatsCopyWithImpl(this._value, this._then);
// ignore: unused_field
final $Val _value;
// ignore: unused_field
final $Res Function($Val) _then;
/// Create a copy of ItemStats
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? atk = null,
Object? def = null,
Object? magAtk = null,
Object? magDef = null,
Object? criRate = null,
Object? evasion = null,
Object? blockRate = null,
Object? parryRate = null,
Object? hpBonus = null,
Object? mpBonus = null,
Object? strBonus = null,
Object? conBonus = null,
Object? dexBonus = null,
Object? intBonus = null,
Object? wisBonus = null,
Object? chaBonus = null,
Object? attackSpeed = null,
}) {
return _then(
_value.copyWith(
atk: null == atk
? _value.atk
: atk // ignore: cast_nullable_to_non_nullable
as int,
def: null == def
? _value.def
: def // ignore: cast_nullable_to_non_nullable
as int,
magAtk: null == magAtk
? _value.magAtk
: magAtk // ignore: cast_nullable_to_non_nullable
as int,
magDef: null == magDef
? _value.magDef
: magDef // ignore: cast_nullable_to_non_nullable
as int,
criRate: null == criRate
? _value.criRate
: criRate // ignore: cast_nullable_to_non_nullable
as double,
evasion: null == evasion
? _value.evasion
: evasion // ignore: cast_nullable_to_non_nullable
as double,
blockRate: null == blockRate
? _value.blockRate
: blockRate // ignore: cast_nullable_to_non_nullable
as double,
parryRate: null == parryRate
? _value.parryRate
: parryRate // ignore: cast_nullable_to_non_nullable
as double,
hpBonus: null == hpBonus
? _value.hpBonus
: hpBonus // ignore: cast_nullable_to_non_nullable
as int,
mpBonus: null == mpBonus
? _value.mpBonus
: mpBonus // ignore: cast_nullable_to_non_nullable
as int,
strBonus: null == strBonus
? _value.strBonus
: strBonus // ignore: cast_nullable_to_non_nullable
as int,
conBonus: null == conBonus
? _value.conBonus
: conBonus // ignore: cast_nullable_to_non_nullable
as int,
dexBonus: null == dexBonus
? _value.dexBonus
: dexBonus // ignore: cast_nullable_to_non_nullable
as int,
intBonus: null == intBonus
? _value.intBonus
: intBonus // ignore: cast_nullable_to_non_nullable
as int,
wisBonus: null == wisBonus
? _value.wisBonus
: wisBonus // ignore: cast_nullable_to_non_nullable
as int,
chaBonus: null == chaBonus
? _value.chaBonus
: chaBonus // ignore: cast_nullable_to_non_nullable
as int,
attackSpeed: null == attackSpeed
? _value.attackSpeed
: attackSpeed // ignore: cast_nullable_to_non_nullable
as int,
)
as $Val,
);
}
}
/// @nodoc
abstract class _$$ItemStatsImplCopyWith<$Res>
implements $ItemStatsCopyWith<$Res> {
factory _$$ItemStatsImplCopyWith(
_$ItemStatsImpl value,
$Res Function(_$ItemStatsImpl) then,
) = __$$ItemStatsImplCopyWithImpl<$Res>;
@override
@useResult
$Res call({
int atk,
int def,
int magAtk,
int magDef,
double criRate,
double evasion,
double blockRate,
double parryRate,
int hpBonus,
int mpBonus,
int strBonus,
int conBonus,
int dexBonus,
int intBonus,
int wisBonus,
int chaBonus,
int attackSpeed,
});
}
/// @nodoc
class __$$ItemStatsImplCopyWithImpl<$Res>
extends _$ItemStatsCopyWithImpl<$Res, _$ItemStatsImpl>
implements _$$ItemStatsImplCopyWith<$Res> {
__$$ItemStatsImplCopyWithImpl(
_$ItemStatsImpl _value,
$Res Function(_$ItemStatsImpl) _then,
) : super(_value, _then);
/// Create a copy of ItemStats
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? atk = null,
Object? def = null,
Object? magAtk = null,
Object? magDef = null,
Object? criRate = null,
Object? evasion = null,
Object? blockRate = null,
Object? parryRate = null,
Object? hpBonus = null,
Object? mpBonus = null,
Object? strBonus = null,
Object? conBonus = null,
Object? dexBonus = null,
Object? intBonus = null,
Object? wisBonus = null,
Object? chaBonus = null,
Object? attackSpeed = null,
}) {
return _then(
_$ItemStatsImpl(
atk: null == atk
? _value.atk
: atk // ignore: cast_nullable_to_non_nullable
as int,
def: null == def
? _value.def
: def // ignore: cast_nullable_to_non_nullable
as int,
magAtk: null == magAtk
? _value.magAtk
: magAtk // ignore: cast_nullable_to_non_nullable
as int,
magDef: null == magDef
? _value.magDef
: magDef // ignore: cast_nullable_to_non_nullable
as int,
criRate: null == criRate
? _value.criRate
: criRate // ignore: cast_nullable_to_non_nullable
as double,
evasion: null == evasion
? _value.evasion
: evasion // ignore: cast_nullable_to_non_nullable
as double,
blockRate: null == blockRate
? _value.blockRate
: blockRate // ignore: cast_nullable_to_non_nullable
as double,
parryRate: null == parryRate
? _value.parryRate
: parryRate // ignore: cast_nullable_to_non_nullable
as double,
hpBonus: null == hpBonus
? _value.hpBonus
: hpBonus // ignore: cast_nullable_to_non_nullable
as int,
mpBonus: null == mpBonus
? _value.mpBonus
: mpBonus // ignore: cast_nullable_to_non_nullable
as int,
strBonus: null == strBonus
? _value.strBonus
: strBonus // ignore: cast_nullable_to_non_nullable
as int,
conBonus: null == conBonus
? _value.conBonus
: conBonus // ignore: cast_nullable_to_non_nullable
as int,
dexBonus: null == dexBonus
? _value.dexBonus
: dexBonus // ignore: cast_nullable_to_non_nullable
as int,
intBonus: null == intBonus
? _value.intBonus
: intBonus // ignore: cast_nullable_to_non_nullable
as int,
wisBonus: null == wisBonus
? _value.wisBonus
: wisBonus // ignore: cast_nullable_to_non_nullable
as int,
chaBonus: null == chaBonus
? _value.chaBonus
: chaBonus // ignore: cast_nullable_to_non_nullable
as int,
attackSpeed: null == attackSpeed
? _value.attackSpeed
: attackSpeed // ignore: cast_nullable_to_non_nullable
as int,
),
);
}
}
/// @nodoc
@JsonSerializable()
class _$ItemStatsImpl extends _ItemStats {
const _$ItemStatsImpl({
this.atk = 0,
this.def = 0,
this.magAtk = 0,
this.magDef = 0,
this.criRate = 0.0,
this.evasion = 0.0,
this.blockRate = 0.0,
this.parryRate = 0.0,
this.hpBonus = 0,
this.mpBonus = 0,
this.strBonus = 0,
this.conBonus = 0,
this.dexBonus = 0,
this.intBonus = 0,
this.wisBonus = 0,
this.chaBonus = 0,
this.attackSpeed = 0,
}) : super._();
factory _$ItemStatsImpl.fromJson(Map<String, dynamic> json) =>
_$$ItemStatsImplFromJson(json);
/// 물리 공격력 보정
@override
@JsonKey()
final int atk;
/// 물리 방어력 보정
@override
@JsonKey()
final int def;
/// 마법 공격력 보정
@override
@JsonKey()
final int magAtk;
/// 마법 방어력 보정
@override
@JsonKey()
final int magDef;
/// 크리티컬 확률 보정 (0.0 ~ 1.0)
@override
@JsonKey()
final double criRate;
/// 회피율 보정 (0.0 ~ 1.0)
@override
@JsonKey()
final double evasion;
/// 방패 방어율 (방패 전용, 0.0 ~ 1.0)
@override
@JsonKey()
final double blockRate;
/// 무기 쳐내기 확률 (무기 전용, 0.0 ~ 1.0)
@override
@JsonKey()
final double parryRate;
/// HP 보너스
@override
@JsonKey()
final int hpBonus;
/// MP 보너스
@override
@JsonKey()
final int mpBonus;
/// STR 보너스
@override
@JsonKey()
final int strBonus;
/// CON 보너스
@override
@JsonKey()
final int conBonus;
/// DEX 보너스
@override
@JsonKey()
final int dexBonus;
/// INT 보너스
@override
@JsonKey()
final int intBonus;
/// WIS 보너스
@override
@JsonKey()
final int wisBonus;
/// CHA 보너스
@override
@JsonKey()
final int chaBonus;
/// 무기 공격속도 (밀리초, 무기 전용)
///
/// 0이면 기본값(1000ms) 사용, 값이 클수록 느린 공격.
/// 느린 무기는 높은 기본 데미지를 가짐.
@override
@JsonKey()
final int attackSpeed;
@override
String toString() {
return 'ItemStats(atk: $atk, def: $def, magAtk: $magAtk, magDef: $magDef, criRate: $criRate, evasion: $evasion, blockRate: $blockRate, parryRate: $parryRate, hpBonus: $hpBonus, mpBonus: $mpBonus, strBonus: $strBonus, conBonus: $conBonus, dexBonus: $dexBonus, intBonus: $intBonus, wisBonus: $wisBonus, chaBonus: $chaBonus, attackSpeed: $attackSpeed)';
}
@override
bool operator ==(Object other) {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$ItemStatsImpl &&
(identical(other.atk, atk) || other.atk == atk) &&
(identical(other.def, def) || other.def == def) &&
(identical(other.magAtk, magAtk) || other.magAtk == magAtk) &&
(identical(other.magDef, magDef) || other.magDef == magDef) &&
(identical(other.criRate, criRate) || other.criRate == criRate) &&
(identical(other.evasion, evasion) || other.evasion == evasion) &&
(identical(other.blockRate, blockRate) ||
other.blockRate == blockRate) &&
(identical(other.parryRate, parryRate) ||
other.parryRate == parryRate) &&
(identical(other.hpBonus, hpBonus) || other.hpBonus == hpBonus) &&
(identical(other.mpBonus, mpBonus) || other.mpBonus == mpBonus) &&
(identical(other.strBonus, strBonus) ||
other.strBonus == strBonus) &&
(identical(other.conBonus, conBonus) ||
other.conBonus == conBonus) &&
(identical(other.dexBonus, dexBonus) ||
other.dexBonus == dexBonus) &&
(identical(other.intBonus, intBonus) ||
other.intBonus == intBonus) &&
(identical(other.wisBonus, wisBonus) ||
other.wisBonus == wisBonus) &&
(identical(other.chaBonus, chaBonus) ||
other.chaBonus == chaBonus) &&
(identical(other.attackSpeed, attackSpeed) ||
other.attackSpeed == attackSpeed));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(
runtimeType,
atk,
def,
magAtk,
magDef,
criRate,
evasion,
blockRate,
parryRate,
hpBonus,
mpBonus,
strBonus,
conBonus,
dexBonus,
intBonus,
wisBonus,
chaBonus,
attackSpeed,
);
/// Create a copy of ItemStats
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@override
@pragma('vm:prefer-inline')
_$$ItemStatsImplCopyWith<_$ItemStatsImpl> get copyWith =>
__$$ItemStatsImplCopyWithImpl<_$ItemStatsImpl>(this, _$identity);
@override
Map<String, dynamic> toJson() {
return _$$ItemStatsImplToJson(this);
}
}
abstract class _ItemStats extends ItemStats {
const factory _ItemStats({
final int atk,
final int def,
final int magAtk,
final int magDef,
final double criRate,
final double evasion,
final double blockRate,
final double parryRate,
final int hpBonus,
final int mpBonus,
final int strBonus,
final int conBonus,
final int dexBonus,
final int intBonus,
final int wisBonus,
final int chaBonus,
final int attackSpeed,
}) = _$ItemStatsImpl;
const _ItemStats._() : super._();
factory _ItemStats.fromJson(Map<String, dynamic> json) =
_$ItemStatsImpl.fromJson;
/// 물리 공격력 보정
@override
int get atk;
/// 물리 방어력 보정
@override
int get def;
/// 마법 공격력 보정
@override
int get magAtk;
/// 마법 방어력 보정
@override
int get magDef;
/// 크리티컬 확률 보정 (0.0 ~ 1.0)
@override
double get criRate;
/// 회피율 보정 (0.0 ~ 1.0)
@override
double get evasion;
/// 방패 방어율 (방패 전용, 0.0 ~ 1.0)
@override
double get blockRate;
/// 무기 쳐내기 확률 (무기 전용, 0.0 ~ 1.0)
@override
double get parryRate;
/// HP 보너스
@override
int get hpBonus;
/// MP 보너스
@override
int get mpBonus;
/// STR 보너스
@override
int get strBonus;
/// CON 보너스
@override
int get conBonus;
/// DEX 보너스
@override
int get dexBonus;
/// INT 보너스
@override
int get intBonus;
/// WIS 보너스
@override
int get wisBonus;
/// CHA 보너스
@override
int get chaBonus;
/// 무기 공격속도 (밀리초, 무기 전용)
///
/// 0이면 기본값(1000ms) 사용, 값이 클수록 느린 공격.
/// 느린 무기는 높은 기본 데미지를 가짐.
@override
int get attackSpeed;
/// Create a copy of ItemStats
/// with the given fields replaced by the non-null parameter values.
@override
@JsonKey(includeFromJson: false, includeToJson: false)
_$$ItemStatsImplCopyWith<_$ItemStatsImpl> get copyWith =>
throw _privateConstructorUsedError;
}