fix(combat): 플레이테스트 반영 — 상태전이 실행공간 에러 제거 + 슬롯 좌표 정렬

- ReviveMonsterEntity/KillMonster의 StateComponent:ChangeState 제거
  (client 실행공간에서 LEA-3022 InvalidExecSpace 발생) → SetVisible 기반 표시/숨김으로 대체
- monster-slots.json 좌표를 맵 우측 몬스터 무리 위로 조정
- 메이커 플레이테스트로 전체 전투 루프(등록·타겟·공격·적턴·처치·승리·보상) 무에러 확인

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-10 02:15:40 +09:00
parent 647516d0cd
commit f33a5507db
3 changed files with 9 additions and 16 deletions

View File

@@ -1173,10 +1173,7 @@ self.TargetIndex = 1`),
return
end
monster:SetEnable(true)
monster:SetVisible(true)
if monster.StateComponent ~= nil then
monster.StateComponent:ChangeState("IDLE")
end`, [{ Type: 'any', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'monster' }]),
monster:SetVisible(true)`, [{ Type: 'any', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'monster' }]),
method('Shuffle', `if list == nil then
\treturn
end
@@ -1414,11 +1411,7 @@ if m == nil then
end
m.alive = false
if m.entity ~= nil and isvalid(m.entity) then
if m.entity.StateComponent ~= nil then
m.entity.StateComponent:ChangeState("DEAD")
end
local ent = m.entity
_TimerService:SetTimerOnce(function() if isvalid(ent) then ent:SetVisible(false) end end, 0.6)
m.entity:SetVisible(false)
end
self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(slot), false)
for i = 1, #self.Monsters do