docs(harness): RULES/CLAUDE/settings를 현재 저장소 상태와 동기화 #63
File diff suppressed because one or more lines are too long
@@ -95,6 +95,9 @@ for (const t of ['combat', 'elite', 'boss', 'shop', 'rest', 'treasure']) {
|
|||||||
}
|
}
|
||||||
if (!/^[0-9a-f]{32}$/.test(NODEICONS.background || '')) throw new Error('[gen-slaydeck] nodeicons.json background RUID 누락/형식오류');
|
if (!/^[0-9a-f]{32}$/.test(NODEICONS.background || '')) throw new Error('[gen-slaydeck] nodeicons.json background RUID 누락/형식오류');
|
||||||
|
|
||||||
|
// 전투 카메라 고정값(StS2: 플레이어 좌·몬스터 우). KickCombatCamera가 StartCombat에서 재confine에 사용.
|
||||||
|
const CAM = JSON.parse(readFileSync('data/camera.json', 'utf8'));
|
||||||
|
|
||||||
const RELICS = JSON.parse(readFileSync('data/relics.json', 'utf8'));
|
const RELICS = JSON.parse(readFileSync('data/relics.json', 'utf8'));
|
||||||
if (!RELICS.relics[RELICS.startingRelic]) throw new Error(`[gen-slaydeck] startingRelic 없음: ${RELICS.startingRelic}`);
|
if (!RELICS.relics[RELICS.startingRelic]) throw new Error(`[gen-slaydeck] startingRelic 없음: ${RELICS.startingRelic}`);
|
||||||
for (const id of RELICS.relicPool) {
|
for (const id of RELICS.relicPool) {
|
||||||
@@ -3437,7 +3440,25 @@ self:ApplySoulUnlocks()
|
|||||||
self:RenderPotions()
|
self:RenderPotions()
|
||||||
self:TeleportToActMap()
|
self:TeleportToActMap()
|
||||||
self:ShowMap()`),
|
self:ShowMap()`),
|
||||||
|
method('KickCombatCamera', `local cam = nil
|
||||||
|
local lp = _UserService.LocalPlayer
|
||||||
|
if lp ~= nil then cam = lp.CameraComponent end
|
||||||
|
if cam == nil then cam = _CameraService:GetCurrentCameraComponent() end
|
||||||
|
if cam ~= nil then cam.ConfineCameraArea = false end
|
||||||
|
_TimerService:SetTimerOnce(function()
|
||||||
|
local cc = nil
|
||||||
|
local lp2 = _UserService.LocalPlayer
|
||||||
|
if lp2 ~= nil then cc = lp2.CameraComponent end
|
||||||
|
if cc == nil then cc = _CameraService:GetCurrentCameraComponent() end
|
||||||
|
if cc ~= nil then
|
||||||
|
cc.ZoomRatio = ${CAM.zoomRatio}
|
||||||
|
cc.CameraOffset = Vector2(${CAM.cameraOffsetX}, ${CAM.cameraOffsetY})
|
||||||
|
cc.ScreenOffset = Vector2(${CAM.screenOffsetX}, ${CAM.screenOffsetY})
|
||||||
|
cc.ConfineCameraArea = true
|
||||||
|
end
|
||||||
|
end, 0.2)`),
|
||||||
method('StartCombat', `self:ShowState("combat")
|
method('StartCombat', `self:ShowState("combat")
|
||||||
|
self:KickCombatCamera()
|
||||||
self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/Result", false)
|
self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/Result", false)
|
||||||
self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/PotionMenu", false)
|
self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/PotionMenu", false)
|
||||||
self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/TooltipBox", false)
|
self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/TooltipBox", false)
|
||||||
|
|||||||
Reference in New Issue
Block a user