refactor(data): 종족 데이터 및 캐릭터 프레임 정리

- race_data: 종족 정보 구조 개선
- race_character_frames: 애니메이션 프레임 매핑 업데이트
This commit is contained in:
JiWoong Sul
2025-12-31 15:18:52 +09:00
parent 83796f805e
commit 47bd2d4aaf
2 changed files with 60 additions and 60 deletions

View File

@@ -71,11 +71,11 @@ class RaceData {
], ],
); );
/// Recursive Sage: 순수 마법형 (스탯 합계: 0) /// Recursive Sylvan: 순수 마법형 (스탯 합계: 0)
/// WIS/INT +2, STR -2, DEX -1, CHA +1 /// WIS/INT +2, STR -2, DEX -1, CHA +1
static const recursiveSage = RaceTraits( static const recursiveSylvan = RaceTraits(
raceId: 'recursive_sage', raceId: 'recursive_sylvan',
name: 'Recursive Sage', name: 'Recursive Sylvan',
statModifiers: { statModifiers: {
StatType.wis: 2, StatType.wis: 2,
StatType.intelligence: 2, StatType.intelligence: 2,
@@ -92,11 +92,11 @@ class RaceData {
], ],
); );
/// Callback Priest: 지원형 (스탯 합계: 0) /// Callback Seraph: 지원형 (스탯 합계: 0)
/// WIS +2, CHA +1, STR -1, DEX -1, CON -1 /// WIS +2, CHA +1, STR -1, DEX -1, CON -1
static const callbackPriest = RaceTraits( static const callbackSeraph = RaceTraits(
raceId: 'callback_priest', raceId: 'callback_seraph',
name: 'Callback Priest', name: 'Callback Seraph',
statModifiers: { statModifiers: {
StatType.wis: 2, StatType.wis: 2,
StatType.cha: 1, StatType.cha: 1,
@@ -202,11 +202,11 @@ class RaceData {
], ],
); );
/// Iterator Rogue: 암살형 (스탯 합계: 0) /// Iterator Shade: 암살형 (스탯 합계: 0)
/// DEX +3, STR +1, CON -2, WIS -1, CHA -1 /// DEX +3, STR +1, CON -2, WIS -1, CHA -1
static const iteratorRogue = RaceTraits( static const iteratorShade = RaceTraits(
raceId: 'iterator_rogue', raceId: 'iterator_shade',
name: 'Iterator Rogue', name: 'Iterator Shade',
statModifiers: { statModifiers: {
StatType.dex: 3, StatType.dex: 3,
StatType.str: 1, StatType.str: 1,
@@ -247,11 +247,11 @@ class RaceData {
], ],
); );
/// Flag Knight: 전사형 (스탯 합계: 0) /// Flag Golem: 전사형 (스탯 합계: 0)
/// STR +2, CHA +1, INT -2, WIS -1 /// STR +2, CHA +1, INT -2, WIS -1
static const flagKnight = RaceTraits( static const flagGolem = RaceTraits(
raceId: 'flag_knight', raceId: 'flag_golem',
name: 'Flag Knight', name: 'Flag Golem',
statModifiers: { statModifiers: {
StatType.str: 2, StatType.str: 2,
StatType.cha: 1, StatType.cha: 1,
@@ -267,11 +267,11 @@ class RaceData {
], ],
); );
/// Protocol Paladin: 수호자형 (스탯 합계: 0) /// Protocol Valkyrie: 수호자형 (스탯 합계: 0)
/// STR +2, CON +1, CHA +1, DEX -2, INT -2 /// STR +2, CON +1, CHA +1, DEX -2, INT -2
static const protocolPaladin = RaceTraits( static const protocolValkyrie = RaceTraits(
raceId: 'protocol_paladin', raceId: 'protocol_valkyrie',
name: 'Protocol Paladin', name: 'Protocol Valkyrie',
statModifiers: { statModifiers: {
StatType.str: 2, StatType.str: 2,
StatType.con: 1, StatType.con: 1,
@@ -332,11 +332,11 @@ class RaceData {
], ],
); );
/// Index Ranger: 정찰형 (스탯 합계: 0) /// Index Feline: 정찰형 (스탯 합계: 0)
/// DEX +2, CON +1, INT -1, CHA -2 /// DEX +2, CON +1, INT -1, CHA -2
static const indexRanger = RaceTraits( static const indexFeline = RaceTraits(
raceId: 'index_ranger', raceId: 'index_feline',
name: 'Index Ranger', name: 'Index Feline',
statModifiers: { statModifiers: {
StatType.dex: 2, StatType.dex: 2,
StatType.con: 1, StatType.con: 1,
@@ -415,11 +415,11 @@ class RaceData {
], ],
); );
/// Loop Wizard: 순환 마법형 (스탯 합계: 0) /// Loop Djinn: 순환 마법형 (스탯 합계: 0)
/// INT +2, WIS +1, STR -1, CON -1, DEX -1 /// INT +2, WIS +1, STR -1, CON -1, DEX -1
static const loopWizard = RaceTraits( static const loopDjinn = RaceTraits(
raceId: 'loop_wizard', raceId: 'loop_djinn',
name: 'Loop Wizard', name: 'Loop Djinn',
statModifiers: { statModifiers: {
StatType.intelligence: 2, StatType.intelligence: 2,
StatType.wis: 1, StatType.wis: 1,
@@ -441,11 +441,11 @@ class RaceData {
], ],
); );
/// Lambda Druid: 자연 마법형 (스탯 합계: 0) /// Lambda Dryad: 자연 마법형 (스탯 합계: 0)
/// INT +2, WIS +2, STR -2, CON -2 /// INT +2, WIS +2, STR -2, CON -2
static const lambdaDruid = RaceTraits( static const lambdaDryad = RaceTraits(
raceId: 'lambda_druid', raceId: 'lambda_dryad',
name: 'Lambda Druid', name: 'Lambda Dryad',
statModifiers: { statModifiers: {
StatType.intelligence: 2, StatType.intelligence: 2,
StatType.wis: 2, StatType.wis: 2,
@@ -473,29 +473,29 @@ class RaceData {
kernelGiant, kernelGiant,
// 지혜형 // 지혜형
nullElf, nullElf,
recursiveSage, recursiveSylvan,
callbackPriest, callbackSeraph,
// 체력형 // 체력형
bufferDwarf, bufferDwarf,
coredumpUndead, coredumpUndead,
// 민첩형 // 민첩형
bitHalfling, bitHalfling,
cacheImp, cacheImp,
iteratorRogue, iteratorShade,
// 힘형 // 힘형
arrayOrc, arrayOrc,
flagKnight, flagGolem,
protocolPaladin, protocolValkyrie,
// 복합형 // 복합형
stackGoblin, stackGoblin,
heapTroll, heapTroll,
indexRanger, indexFeline,
// 마법형 // 마법형
pointerFairy, pointerFairy,
registerGnome, registerGnome,
threadSpirit, threadSpirit,
loopWizard, loopDjinn,
lambdaDruid, lambdaDryad,
]; ];
/// ID로 종족 찾기 /// ID로 종족 찾기

View File

@@ -188,10 +188,10 @@ const _raceFrames = <String, RaceFrameData>{
), ),
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// 전사형 (Protocol Paladin, Flag Knight, Array Orc) // 전사형 (Protocol Valkyrie, Flag Golem, Array Orc)
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
'protocol_paladin': RaceFrameData( 'protocol_valkyrie': RaceFrameData(
raceId: 'protocol_paladin', raceId: 'protocol_valkyrie',
idle: [ idle: [
CharacterFrame([r' o ', r' /|+ ', r' / \ ']), CharacterFrame([r' o ', r' /|+ ', r' / \ ']),
CharacterFrame([r' o ', r' /|+ ', r' | | ']), CharacterFrame([r' o ', r' /|+ ', r' | | ']),
@@ -222,8 +222,8 @@ const _raceFrames = <String, RaceFrameData>{
], ],
), ),
'flag_knight': RaceFrameData( 'flag_golem': RaceFrameData(
raceId: 'flag_knight', raceId: 'flag_golem',
idle: [ idle: [
CharacterFrame([r' ♦ ', r' /|] ', r' / \ ']), CharacterFrame([r' ♦ ', r' /|] ', r' / \ ']),
CharacterFrame([r' ♦ ', r' /|] ', r' | | ']), CharacterFrame([r' ♦ ', r' /|] ', r' | | ']),
@@ -287,10 +287,10 @@ const _raceFrames = <String, RaceFrameData>{
), ),
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// 마법형 (Loop Wizard, Lambda Druid, Recursive Sage) // 마법형 (Loop Djinn, Lambda Dryad, Recursive Sylvan)
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
'loop_wizard': RaceFrameData( 'loop_djinn': RaceFrameData(
raceId: 'loop_wizard', raceId: 'loop_djinn',
idle: [ idle: [
CharacterFrame([r' o~ ', r' /|) ', r' / \ ']), CharacterFrame([r' o~ ', r' /|) ', r' / \ ']),
CharacterFrame([r' o~ ', r' /|) ', r' | | ']), CharacterFrame([r' o~ ', r' /|) ', r' | | ']),
@@ -321,8 +321,8 @@ const _raceFrames = <String, RaceFrameData>{
], ],
), ),
'lambda_druid': RaceFrameData( 'lambda_dryad': RaceFrameData(
raceId: 'lambda_druid', raceId: 'lambda_dryad',
idle: [ idle: [
CharacterFrame([r' o♣ ', r' /|) ', r' / \ ']), CharacterFrame([r' o♣ ', r' /|) ', r' / \ ']),
CharacterFrame([r' o♣ ', r' /|) ', r' | | ']), CharacterFrame([r' o♣ ', r' /|) ', r' | | ']),
@@ -353,8 +353,8 @@ const _raceFrames = <String, RaceFrameData>{
], ],
), ),
'recursive_sage': RaceFrameData( 'recursive_sylvan': RaceFrameData(
raceId: 'recursive_sage', raceId: 'recursive_sylvan',
idle: [ idle: [
CharacterFrame([r' o∞ ', r' /|) ', r' / \ ']), CharacterFrame([r' o∞ ', r' /|) ', r' / \ ']),
CharacterFrame([r' o∞ ', r' /|) ', r' | | ']), CharacterFrame([r' o∞ ', r' /|) ', r' | | ']),
@@ -386,7 +386,7 @@ const _raceFrames = <String, RaceFrameData>{
), ),
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// 언데드/엘프 (Coredump Undead, Null Elf, Callback Priest) // 언데드/엘프 (Coredump Undead, Null Elf, Callback Seraph)
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
'coredump_undead': RaceFrameData( 'coredump_undead': RaceFrameData(
raceId: 'coredump_undead', raceId: 'coredump_undead',
@@ -452,8 +452,8 @@ const _raceFrames = <String, RaceFrameData>{
], ],
), ),
'callback_priest': RaceFrameData( 'callback_seraph': RaceFrameData(
raceId: 'callback_priest', raceId: 'callback_seraph',
idle: [ idle: [
CharacterFrame([r' ô ', r' /|\ ', r' / \ ']), CharacterFrame([r' ô ', r' /|\ ', r' / \ ']),
CharacterFrame([r' ô ', r' /|\ ', r' | | ']), CharacterFrame([r' ô ', r' /|\ ', r' | | ']),
@@ -651,10 +651,10 @@ const _raceFrames = <String, RaceFrameData>{
), ),
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
// 레인저형 (Index Ranger, Iterator Rogue) // 민첩형 (Index Feline, Iterator Shade)
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
'index_ranger': RaceFrameData( 'index_feline': RaceFrameData(
raceId: 'index_ranger', raceId: 'index_feline',
idle: [ idle: [
CharacterFrame([r' o ', r' /|\ ', r' λ \ ']), CharacterFrame([r' o ', r' /|\ ', r' λ \ ']),
CharacterFrame([r' o ', r' /|\ ', r' | | ']), CharacterFrame([r' o ', r' /|\ ', r' | | ']),
@@ -685,8 +685,8 @@ const _raceFrames = <String, RaceFrameData>{
], ],
), ),
'iterator_rogue': RaceFrameData( 'iterator_shade': RaceFrameData(
raceId: 'iterator_rogue', raceId: 'iterator_shade',
idle: [ idle: [
CharacterFrame([r' o ', r' /|\ ', r' λ \ ']), CharacterFrame([r' o ', r' /|\ ', r' λ \ ']),
CharacterFrame([r' o ', r' /|\ ', r' | | ']), CharacterFrame([r' o ', r' /|\ ', r' | | ']),