From 47bd2d4aaf49e5609240795655fdc7b7297da1d6 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Wed, 31 Dec 2025 15:18:52 +0900 Subject: [PATCH] =?UTF-8?q?refactor(data):=20=EC=A2=85=EC=A1=B1=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=B0=8F=20=EC=BA=90=EB=A6=AD?= =?UTF-8?q?=ED=84=B0=20=ED=94=84=EB=A0=88=EC=9E=84=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - race_data: 종족 정보 구조 개선 - race_character_frames: 애니메이션 프레임 매핑 업데이트 --- lib/data/race_data.dart | 80 +++++++++---------- .../core/animation/race_character_frames.dart | 40 +++++----- 2 files changed, 60 insertions(+), 60 deletions(-) diff --git a/lib/data/race_data.dart b/lib/data/race_data.dart index 4664cd4..7d8c5ac 100644 --- a/lib/data/race_data.dart +++ b/lib/data/race_data.dart @@ -71,11 +71,11 @@ class RaceData { ], ); - /// Recursive Sage: 순수 마법형 (스탯 합계: 0) + /// Recursive Sylvan: 순수 마법형 (스탯 합계: 0) /// WIS/INT +2, STR -2, DEX -1, CHA +1 - static const recursiveSage = RaceTraits( - raceId: 'recursive_sage', - name: 'Recursive Sage', + static const recursiveSylvan = RaceTraits( + raceId: 'recursive_sylvan', + name: 'Recursive Sylvan', statModifiers: { StatType.wis: 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 - static const callbackPriest = RaceTraits( - raceId: 'callback_priest', - name: 'Callback Priest', + static const callbackSeraph = RaceTraits( + raceId: 'callback_seraph', + name: 'Callback Seraph', statModifiers: { StatType.wis: 2, 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 - static const iteratorRogue = RaceTraits( - raceId: 'iterator_rogue', - name: 'Iterator Rogue', + static const iteratorShade = RaceTraits( + raceId: 'iterator_shade', + name: 'Iterator Shade', statModifiers: { StatType.dex: 3, StatType.str: 1, @@ -247,11 +247,11 @@ class RaceData { ], ); - /// Flag Knight: 전사형 (스탯 합계: 0) + /// Flag Golem: 전사형 (스탯 합계: 0) /// STR +2, CHA +1, INT -2, WIS -1 - static const flagKnight = RaceTraits( - raceId: 'flag_knight', - name: 'Flag Knight', + static const flagGolem = RaceTraits( + raceId: 'flag_golem', + name: 'Flag Golem', statModifiers: { StatType.str: 2, 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 - static const protocolPaladin = RaceTraits( - raceId: 'protocol_paladin', - name: 'Protocol Paladin', + static const protocolValkyrie = RaceTraits( + raceId: 'protocol_valkyrie', + name: 'Protocol Valkyrie', statModifiers: { StatType.str: 2, StatType.con: 1, @@ -332,11 +332,11 @@ class RaceData { ], ); - /// Index Ranger: 정찰형 (스탯 합계: 0) + /// Index Feline: 정찰형 (스탯 합계: 0) /// DEX +2, CON +1, INT -1, CHA -2 - static const indexRanger = RaceTraits( - raceId: 'index_ranger', - name: 'Index Ranger', + static const indexFeline = RaceTraits( + raceId: 'index_feline', + name: 'Index Feline', statModifiers: { StatType.dex: 2, 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 - static const loopWizard = RaceTraits( - raceId: 'loop_wizard', - name: 'Loop Wizard', + static const loopDjinn = RaceTraits( + raceId: 'loop_djinn', + name: 'Loop Djinn', statModifiers: { StatType.intelligence: 2, StatType.wis: 1, @@ -441,11 +441,11 @@ class RaceData { ], ); - /// Lambda Druid: 자연 마법형 (스탯 합계: 0) + /// Lambda Dryad: 자연 마법형 (스탯 합계: 0) /// INT +2, WIS +2, STR -2, CON -2 - static const lambdaDruid = RaceTraits( - raceId: 'lambda_druid', - name: 'Lambda Druid', + static const lambdaDryad = RaceTraits( + raceId: 'lambda_dryad', + name: 'Lambda Dryad', statModifiers: { StatType.intelligence: 2, StatType.wis: 2, @@ -473,29 +473,29 @@ class RaceData { kernelGiant, // 지혜형 nullElf, - recursiveSage, - callbackPriest, + recursiveSylvan, + callbackSeraph, // 체력형 bufferDwarf, coredumpUndead, // 민첩형 bitHalfling, cacheImp, - iteratorRogue, + iteratorShade, // 힘형 arrayOrc, - flagKnight, - protocolPaladin, + flagGolem, + protocolValkyrie, // 복합형 stackGoblin, heapTroll, - indexRanger, + indexFeline, // 마법형 pointerFairy, registerGnome, threadSpirit, - loopWizard, - lambdaDruid, + loopDjinn, + lambdaDryad, ]; /// ID로 종족 찾기 diff --git a/lib/src/core/animation/race_character_frames.dart b/lib/src/core/animation/race_character_frames.dart index 46068b3..6fa2d18 100644 --- a/lib/src/core/animation/race_character_frames.dart +++ b/lib/src/core/animation/race_character_frames.dart @@ -188,10 +188,10 @@ const _raceFrames = { ), // -------------------------------------------------------------------------- - // 전사형 (Protocol Paladin, Flag Knight, Array Orc) + // 전사형 (Protocol Valkyrie, Flag Golem, Array Orc) // -------------------------------------------------------------------------- - 'protocol_paladin': RaceFrameData( - raceId: 'protocol_paladin', + 'protocol_valkyrie': RaceFrameData( + raceId: 'protocol_valkyrie', idle: [ CharacterFrame([r' o ', r' /|+ ', r' / \ ']), CharacterFrame([r' o ', r' /|+ ', r' | | ']), @@ -222,8 +222,8 @@ const _raceFrames = { ], ), - 'flag_knight': RaceFrameData( - raceId: 'flag_knight', + 'flag_golem': RaceFrameData( + raceId: 'flag_golem', idle: [ CharacterFrame([r' ♦ ', r' /|] ', r' / \ ']), CharacterFrame([r' ♦ ', r' /|] ', r' | | ']), @@ -287,10 +287,10 @@ const _raceFrames = { ), // -------------------------------------------------------------------------- - // 마법형 (Loop Wizard, Lambda Druid, Recursive Sage) + // 마법형 (Loop Djinn, Lambda Dryad, Recursive Sylvan) // -------------------------------------------------------------------------- - 'loop_wizard': RaceFrameData( - raceId: 'loop_wizard', + 'loop_djinn': RaceFrameData( + raceId: 'loop_djinn', idle: [ CharacterFrame([r' o~ ', r' /|) ', r' / \ ']), CharacterFrame([r' o~ ', r' /|) ', r' | | ']), @@ -321,8 +321,8 @@ const _raceFrames = { ], ), - 'lambda_druid': RaceFrameData( - raceId: 'lambda_druid', + 'lambda_dryad': RaceFrameData( + raceId: 'lambda_dryad', idle: [ CharacterFrame([r' o♣ ', r' /|) ', r' / \ ']), CharacterFrame([r' o♣ ', r' /|) ', r' | | ']), @@ -353,8 +353,8 @@ const _raceFrames = { ], ), - 'recursive_sage': RaceFrameData( - raceId: 'recursive_sage', + 'recursive_sylvan': RaceFrameData( + raceId: 'recursive_sylvan', idle: [ CharacterFrame([r' o∞ ', r' /|) ', r' / \ ']), CharacterFrame([r' o∞ ', r' /|) ', r' | | ']), @@ -386,7 +386,7 @@ const _raceFrames = { ), // -------------------------------------------------------------------------- - // 언데드/엘프 (Coredump Undead, Null Elf, Callback Priest) + // 언데드/엘프 (Coredump Undead, Null Elf, Callback Seraph) // -------------------------------------------------------------------------- 'coredump_undead': RaceFrameData( raceId: 'coredump_undead', @@ -452,8 +452,8 @@ const _raceFrames = { ], ), - 'callback_priest': RaceFrameData( - raceId: 'callback_priest', + 'callback_seraph': RaceFrameData( + raceId: 'callback_seraph', idle: [ CharacterFrame([r' ô ', r' /|\ ', r' / \ ']), CharacterFrame([r' ô ', r' /|\ ', r' | | ']), @@ -651,10 +651,10 @@ const _raceFrames = { ), // -------------------------------------------------------------------------- - // 레인저형 (Index Ranger, Iterator Rogue) + // 민첩형 (Index Feline, Iterator Shade) // -------------------------------------------------------------------------- - 'index_ranger': RaceFrameData( - raceId: 'index_ranger', + 'index_feline': RaceFrameData( + raceId: 'index_feline', idle: [ CharacterFrame([r' o ', r' /|\ ', r' λ \ ']), CharacterFrame([r' o ', r' /|\ ', r' | | ']), @@ -685,8 +685,8 @@ const _raceFrames = { ], ), - 'iterator_rogue': RaceFrameData( - raceId: 'iterator_rogue', + 'iterator_shade': RaceFrameData( + raceId: 'iterator_shade', idle: [ CharacterFrame([r' o ', r' /|\ ', r' λ \ ']), CharacterFrame([r' o ', r' /|\ ', r' | | ']),