원시 프롬프트
다음 스킬 구현 프롬프트를 짜줘. 목표: 모든 공격력을 N% 강화하는 스킬 강화 효과
* 기본 투사체를 포함한 추후에 추가될 별개의 스킬 (아직 추가된것은 없으나 확장성 있게 개발)에 적용되는 공격력 스테이터스가 N% 강화됨
* CardItem 테이블의 Effect 컬럼에 ATKUP을 작성한 카드를 선택 시 이 효과를 받음
* ATKUP을 작성한 행의 Value 컬럼에는 강화할 수치 N을 작성, 백분율로 작성 (예: 125 = 1.25배 강화, 150 = 1.5배 강화, 200 = 2배 강화)
프롬프트
플레이어의 ‘공격력(Attack)’ 스테이터스를 N%만큼 강화하는 스킬 효과를 추가해줘.
이 강화는 기본 투사체를 포함해 추후 추가될 모든 별개 스킬의 대미지 계산에 공통으로 반영되도록 만들어라.
데이터 연동
- CardItem 테이블의 Effect 값이 "ATKUP"인 카드를 선택하면 본 효과가 활성화된다.
- 배율 N은 CardItem.Value(정수, %)에서 가져온다. 해석: 125 → 1.25배, 150 → 1.5배, 200 → 2.0배.
- 동일 효과를 여러 장 획득하면 ‘곱연산(멀티플)’으로 누적된다. (예: 1.25배 × 1.50배 = 1.875배)
* 필요 시 손쉽게 ‘합연산(가산 %)’로 전환할 수 있도록 내부 구현은 모드 전환이 가능하게 설계.
동작 정의
- 최종 대미지 계산 파이프라인에 “공격력 계수(AttackMultiplier)”를 전역으로 포함시켜라.
- 모든 스킬은 대미지 산출 시 PlayerStats.AttackMultiplier(기본 1.0)를 곱하도록 표준화한다.
- 순서는 다음을 권장: (기본 대미지 또는 스킬 계수) × AttackMultiplier × 기타 버프/속성/크리티컬 등.
- HEAL(가한 대미지 N%) 같은 후속 효과가 있다면, ATKUP 반영으로 증가된 ‘실제 가한 대미지’가 이벤트로 전달되도록 하라.
설계/구현 요구사항
1) 스탯 집계
- PlayerStats 또는 PlayerEffects에 attackMultiplier(float)를 추가(기본 1.0).
- 카드 선택 시 Effect=="ATKUP"이면 factor = Value / 100f를 계산해 attackMultiplier *= factor.
- 잘못된 값(Value ≤ 0, NaN)은 무시. 내부에서 안전하게 Clamp(최솟값 0.1 등) 옵션 제공.
2) 표준 대미지 인터페이스
- 앞으로 추가될 모든 스킬이 공통 대미지 경로를 타도록 IDamageDealer/IDamageContext 혹은 DamageCalculator 유틸을 도입.
- 스킬은 기본계수/속성만 정의하고, 실제 대미지 산출은 DamageCalculator.CalculateFinalDamage(context)에서 수행.
- CalculateFinalDamage는 PlayerStats.AttackMultiplier를 항상 반영.
3) 이벤트 연동
- 대미지 적용 시 OnDamageDealt(float dealtDamage, Target target, DamageContext ctx) 이벤트를 단일 지점에서 발생.
- HEAL 등 다른 효과가 이 이벤트를 구독할 때, ATKUP 결과가 반영된 dealtDamage가 전달되도록 순서 보장.
4) 테스트/디버그
- attackMultiplier, 누적 카드 목록, 현재 최종 배율을 디버그 UI/콘솔에서 확인 가능하게.
- 모드 전환(곱연산/합연산)을 스위치 한 번으로 바꿔 A/B 테스트 가능하게.
테스트 시나리오
- 기본(1.0)에서 150% 카드 1장 → 멀티플 1.5x 반영 확인.
- 125% + 150% 두 장 → 1.25 × 1.50 = 1.875x 최종 대미지 확인.
- ATKUP 적용 후 투사체가 몬스터에 가한 실제 대미지가 증가하고, 그 값이 OnDamageDealt로 전달되는지 확인.
- Value ≤ 0, NaN 등 비정상 입력 무시 동작 확인.

좀더 체력이 높은 몬스터를 만들어서 실험해봤는데 잘 되는듯
'AI 게임 제작 > AI 코딩' 카테고리의 다른 글
| 투사체 방향 전환 반응성 개선 및 구현 현황 점검 (0) | 2025.09.27 |
|---|---|
| 필요 경험치 테이블 구현 (0) | 2025.09.27 |
| 스킬 강화 - 아이템 획득 범위 증가 효과 구현 (0) | 2025.09.27 |
| 스킬 강화 - 투사체 증가 효과 구현 (0) | 2025.09.27 |
| 스킬 강화 랜덤풀 데이터 테이블 구현 (0) | 2025.09.27 |