From da5dd03183775b0fb916b16b95be96ccbe3efa33 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 00:35:49 +0900 Subject: [PATCH 01/15] =?UTF-8?q?docs(map-monster-combat):=20=EB=A7=B5=20?= =?UTF-8?q?=EB=AA=AC=EC=8A=A4=ED=84=B0=20=EC=B9=B4=EB=93=9C=20=EC=A0=84?= =?UTF-8?q?=ED=88=AC=20=EC=84=A4=EA=B3=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 추상 단일 적 → 맵 실제 몬스터 멀티 전투(클릭 타겟·각자 HP/의도·전체 처치 시 승리). 컨트롤러 단일 소유 + script.CombatMonster(EnemyId) 매핑 + 월드 HP바 슬롯. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../2026-06-10-map-monster-combat-design.md | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-10-map-monster-combat-design.md diff --git a/docs/superpowers/specs/2026-06-10-map-monster-combat-design.md b/docs/superpowers/specs/2026-06-10-map-monster-combat-design.md new file mode 100644 index 0000000..c17d5a0 --- /dev/null +++ b/docs/superpowers/specs/2026-06-10-map-monster-combat-design.md @@ -0,0 +1,118 @@ +# 맵 몬스터 카드 전투 — 설계 + +- 날짜: 2026-06-10 +- 대상: `tools/deck/gen-slaydeck.mjs`(SlayDeckController + UI), `data/enemies.json`, 신규 `tools/monster/gen-combat-monster.mjs`(+`CombatMonster.codeblock`), 맵 몬스터 엔티티, `tools/balance/sim-balance.mjs` +- 상태: 승인됨 (브레인스토밍 → 본 스펙) + +## 1. 배경 + +현재 카드 전투는 `SlayDeckController` 내부의 **추상 단일 적**으로 동작한다. + +- 상태: `EnemyHp`/`EnemyMaxHp`/`EnemyBlock`/`EnemyName`/`EnemyIntents`/`EnemyIntentIndex` (단일 적 1체). +- 공격 카드 → `DealDamageToEnemy(damage)` → `EnemyHp` 차감. +- `CheckCombatEnd`: `EnemyHp<=0` → 승리(골드·보상·노드/막 진행), `PlayerHp<=0` → 패배. +- 적 데이터는 `data/enemies.json`(slime/elite/boss), 노드의 `CurrentEnemyId`가 어떤 적인지 결정, `Floor` 배율 적용. +- CombatHud는 단일 적 패널(EnemyName/EnemyHp/EnemyBlock/EnemyIntent)을 텍스트로 표시. + +맵에는 실제 몬스터 엔티티(`script.Monster` + `script.MonsterAttack`, 예: map01의 주황버섯)가 있으나, 이는 물리 액션 전투용이라 **카드 전투와 완전히 분리**되어 있다. + +## 2. 목표 + +카드 공격이 추상 슬라임이 아니라 **맵의 실제 몬스터**에 적용되고, **맵의 모든 몬스터가 쓰러지면 전투 승리**가 되도록 한다. 승리 이후 흐름(보상·노드·상점·휴식·막/보스)은 기존 런 시스템을 그대로 재사용한다. + +## 3. 확정 요구사항 (브레인스토밍 결과) + +1. **타겟팅**: 몬스터를 클릭하면 그 몬스터가 "현재 타겟"이 되고, 이후 공격 카드가 그 타겟에 적용된다. +2. **전투원 모델**: 각 몬스터가 개별 HP와 의도(공격/방어)를 가지며, 적 턴에 생존 몬스터가 각자 플레이어를 공격한다(멀티 적). +3. **런 연동**: 전투 노드 = 현재 물리 맵의 몬스터들. 전부 처치 시 노드 클리어 → 기존 보상/맵/상점/막 흐름 유지. +4. **스탯 소스**: 각 맵 몬스터가 적 타입 id를 보유하고 HP/의도를 `data/enemies.json`에서 읽는다. 배율은 **막 배율(필수, 기존 `1+(Floor-1)*0.6` 재사용)** + **노드 타입 배율(선택, 기본 1; 엘리트/보스만 가산)**. +5. **상태 표시**: 각 몬스터 머리 위에 월드(화면) HP바 + 의도 표시. +6. **아키텍처**: 컨트롤러 중심. 전투 상태는 `SlayDeckController`가 단일 소유, 몬스터 엔티티는 타겟·시각(애니메이션) 역할만. 사망 연출은 기존 `script.Monster` 자산 재사용. +7. **몬스터↔적ID**: 전용 경량 스크립트 `script.CombatMonster`의 `EnemyId`(string) 속성으로 명시. + +## 4. 데이터 모델 + +### 4.1 `data/enemies.json` +맵 몬스터용 적 타입을 추가한다(기존 slime/elite/boss는 유지). 예: + +```json +"orange_mushroom": { + "name": "주황버섯", + "maxHp": 16, + "intents": [ { "kind": "Attack", "value": 5 }, { "kind": "Defend", "value": 4 } ] +} +``` + +스탯 수치는 placeholder이며 `sim-balance.mjs`로 추후 튜닝한다. + +### 4.2 `script.CombatMonster` (신규 코드블록) +맵 몬스터 엔티티에 부착하는 경량 마커. 속성 `EnemyId`(string) 1개. 런타임 로직 없음(컨트롤러가 읽기만). `script.Monster`를 보유한 엔티티에 함께 부착한다. + +### 4.3 런타임 전투 상태 (SlayDeckController) +단일 `Enemy*` 속성군을 제거하고 리스트로 교체한다. + +- `Monsters`(any 리스트). 원소: `{ path, enemyId, name, hp, maxHp, block, intents, intentIndex, alive }`. +- `TargetIndex`(number). 현재 선택된 타겟의 `Monsters` 인덱스. +- 상수 `MAX_MONSTERS`(예: 4). UI 슬롯 수 = 이 값. 맵 몬스터가 더 많으면 앞에서 `MAX_MONSTERS`마리만 전투에 참여(초과분은 미지원, 로그 경고). + +## 5. 전투 흐름 (SlayDeckController 메서드 변경) + +- **StartCombat**: + 1. 현재 맵에서 `script.CombatMonster`를 가진 몬스터 엔티티를 스캔(맵 루트 하위, 최대 `MAX_MONSTERS`). + 2. 각 몬스터의 `EnemyId`로 `enemies.json` 스탯을 읽어 배율(막 배율 필수 + 노드 타입 배율 선택, §3-4)을 적용해 `Monsters` 리스트 구성. + 3. 몬스터 부활: 가시성 on, `StateComponent` IDLE, HP 리셋. + 4. 각 몬스터 화면 위치에 UI 슬롯(HP바·의도·타겟버튼) 배치·활성화. + 5. `TargetIndex` = 첫 생존자. 손패/턴 시작. +- **SetTarget(i)**: `TargetIndex` 갱신 + 타겟 하이라이트 갱신. +- **PlayCard(Attack)**: `Monsters[TargetIndex]`에 방어도→HP 차감. HP≤0 → 해당 몬스터 사망 처리(§6), UI 슬롯 숨김, 자동으로 다음 생존 타겟 선택. 이후 `CheckCombatEnd`. +- **PlayCard(Skill)**: 기존대로 플레이어 방어도 증가(변경 없음). +- **EnemyTurn**: 생존 몬스터 각자 `intentIndex` 진행 — Attack→`DealDamageToPlayer`, Defend→자기 `block` 증가. (각 몬스터는 독립 의도 사이클) +- **CheckCombatEnd**: 생존 몬스터 0 → 승리(기존 보상/노드/막 분기 재사용). `PlayerHp<=0` → 패배. +- **RenderCombat**: 각 생존 몬스터 UI 슬롯의 HP바·의도 갱신, 플레이어 패널 갱신. 기존 단일 적 패널(EnemyName/EnemyHp/EnemyIntent)은 제거 또는 숨김. + +## 6. 사망 / 부활 연출 + +컨트롤러가 직접 관리하여 **노드 간 몬스터 영속**(엔티티 Destroy 안 함): + +- 사망: 타겟 몬스터의 `StateComponent`를 DEAD로 전환(die 애니메이션) 후 짧은 지연 뒤 가시성 off. `alive=false`. +- 부활: `StartCombat`에서 가시성 on, IDLE 상태, HP 리셋. + +기존 `Monster.codeblock`의 hit/die 애니메이션 자산을 활용하되, Destroy/Respawn 타이머에 의존하지 않고 컨트롤러가 생사 시점을 통제한다. + +## 7. UI — 몬스터 슬롯 (DefaultGroup.ui) + +카메라가 고정(MapCamera)이라 몬스터의 화면상 위치가 불변 → UI 슬롯을 전투 시작 시 한 번 배치하면 된다. + +- `gen-slaydeck.mjs`가 `CombatHud` 아래 **MonsterSlot ×MAX_MONSTERS**를 사전 생성(평소 비활성): + - HP바 스프라이트(배경+채움), 의도 텍스트, 투명 타겟 버튼(클릭→`SetTarget`). +- **위치 결정**: 런타임 world→screen 변환을 우선 시도(카메라 고정이므로 전투 시작 시 1회 계산). 변환 API가 여의치 않으면 **`data`에 슬롯 화면좌표를 명시**(현재 map01 몬스터 배치 기준)하는 폴백을 사용한다. → 구현 단계에서 변환 가용성 검증. + +## 8. 변경 파일 요약 + +| 파일 | 변경 | +|------|------| +| `data/enemies.json` | 맵 몬스터 적 타입 추가(orange_mushroom 등) | +| 신규 `tools/monster/gen-combat-monster.mjs` | `CombatMonster.codeblock` 생성 + 11개 맵 몬스터 엔티티에 `script.CombatMonster`(EnemyId) 부착(idempotent) | +| `RootDesk/MyDesk/CombatMonster.codeblock` | 신규 생성물 | +| `tools/deck/gen-slaydeck.mjs` | 전투 멀티 몬스터화(상태·PlayCard·EnemyTurn·CheckCombatEnd·RenderCombat·StartCombat·타겟 바인딩) + UI 몬스터 슬롯 생성 | +| `tools/balance/sim-balance.mjs` | 멀티 몬스터 규칙으로 동기화 | +| `map/map01.map`~`map11.map` | 몬스터 엔티티에 `script.CombatMonster` 부착(생성기 재실행 산출) | +| `ui/DefaultGroup.ui` | 몬스터 슬롯 추가(생성기 산출) | + +## 9. 알려진 한계 (MVP) + +- 모든 전투 노드가 같은 물리 맵 몬스터를 재사용한다(막 배율로 난이도 차등). 노드별 다른 적 구성/맵 이동은 후속 과제. +- `MAX_MONSTERS` 초과 몬스터는 전투에 미참여. +- 보스 노드도 동일 맵 몬스터를 사용(테마 불일치)는 후속 콘텐츠 확장에서 해결. + +## 10. 리스크 + +- **world→screen 변환 가용성**: 미지원 시 슬롯 좌표 데이터 폴백으로 대응(§7). +- **외부 엔티티 스크립트 메서드/상태 접근**: 컨트롤러가 몬스터 엔티티의 `StateComponent`·가시성을 제어할 수 있어야 함(구현 단계 검증). +- **생성물 단일 소스 유지**: 전투/HUD 산출물은 `gen-slaydeck.mjs`에서만 생성(직접 편집 금지) 규칙 유지. + +## 11. 검증 + +- `node tools/balance/sim-balance.test.mjs` 통과 + 멀티 몬스터 규칙 반영. +- 생성기 2회 실행 결과 동일(결정적). +- 메이커 플레이: 카드로 특정 몬스터 타겟 공격 → HP 감소·사망 애니 → 전체 처치 시 승리 → 기존 보상/노드 흐름 진입. 적 턴에 생존 몬스터가 플레이어 공격. From 0cbcf4c70ddce25e176cf539c1b36ae6af067504 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 00:45:40 +0900 Subject: [PATCH 02/15] =?UTF-8?q?docs(map-monster-combat):=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20=EA=B3=84=ED=9A=8D=20(9=EA=B0=9C=20=ED=83=9C?= =?UTF-8?q?=EC=8A=A4=ED=81=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 데이터→sim(TDD)→CombatMonster 마커→컨트롤러 멀티 전투(상태/PlayCard/EnemyTurn/승리/렌더)→슬롯 UI→재생성·플레이테스트. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../plans/2026-06-10-map-monster-combat.md | 1064 +++++++++++++++++ 1 file changed, 1064 insertions(+) create mode 100644 docs/superpowers/plans/2026-06-10-map-monster-combat.md diff --git a/docs/superpowers/plans/2026-06-10-map-monster-combat.md b/docs/superpowers/plans/2026-06-10-map-monster-combat.md new file mode 100644 index 0000000..71c59ed --- /dev/null +++ b/docs/superpowers/plans/2026-06-10-map-monster-combat.md @@ -0,0 +1,1064 @@ +# 맵 몬스터 카드 전투 구현 계획 + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 카드 공격이 추상 슬라임 대신 맵의 실제 몬스터(클릭 타겟)에 적용되고, 맵의 모든 몬스터를 처치하면 전투 승리가 되도록 한다. + +**Architecture:** 전투 상태는 `SlayDeckController`(Lua)가 단일 소유한다. 맵 몬스터는 `script.CombatMonster`(EnemyId 보유)를 달고 BeginPlay 시 컨트롤러에 자기등록한다. 전투 규칙은 `tools/balance/sim-balance.mjs`(JS)로 TDD하고, 동일 규칙을 `tools/deck/gen-slaydeck.mjs`가 생성하는 Lua로 미러링한다. HP바/의도/타겟버튼은 카메라 고정을 활용해 `data/monster-slots.json` 화면좌표로 배치한다. + +**Tech Stack:** Node.js ESM 생성기(.mjs), node:test, MSW Lua codeblock, JSON(.map/.ui/.gamelogic/data). + +--- + +## 배경 / 현재 규칙 (구현자용) + +- 생성물(`ui/DefaultGroup.ui`, `RootDesk/MyDesk/SlayDeckController.codeblock`, `Global/common.gamelogic`)은 **`tools/deck/gen-slaydeck.mjs` 단일 소스**에서만 생성한다(직접 편집 금지). 바꿀 땐 생성기를 고치고 `node tools/deck/gen-slaydeck.mjs` 재실행. +- 모든 생성기는 **저장소 루트에서** 실행한다: `node tools/<폴더>/<파일>.mjs`. +- 현재 전투(단일 적): `SlayDeckController`가 `EnemyHp/EnemyMaxHp/EnemyBlock/EnemyName/EnemyIntents/EnemyIntentIndex`를 갖고, `PlayCard`(Attack)→`DealDamageToEnemy`→`CheckCombatEnd`(EnemyHp<=0 승리). 적 데이터는 `data/enemies.json`, `Floor` 배율 `1+(Floor-1)*0.6`. +- 밸런스 sim(`tools/balance/sim-balance.mjs`)은 이 규칙을 JS로 재현하며 `sim-balance.test.mjs`로 검증한다. **전투 규칙 변경 시 sim과 Lua를 함께 바꾼다.** + +## 파일 구조 + +| 파일 | 책임 | 변경 | +|------|------|------| +| `data/enemies.json` | 적 타입 데이터 | 맵 몬스터 타입 + `simEncounter` 추가 | +| `data/monster-slots.json` | 몬스터 UI 슬롯 화면좌표 | **신규** | +| `tools/balance/sim-balance.mjs` | 전투 규칙 JS 재현 | 멀티 몬스터화 | +| `tools/balance/sim-balance.test.mjs` | 규칙 테스트 | 멀티 몬스터 테스트로 교체 | +| `tools/monster/gen-combat-monster.mjs` | CombatMonster 코드블록 생성 + 맵 몬스터 패치 | **신규** | +| `RootDesk/MyDesk/CombatMonster.codeblock` | 몬스터 적ID 마커+자기등록 | **신규 생성물** | +| `tools/deck/gen-slaydeck.mjs` | 컨트롤러+UI 생성 | 멀티 몬스터 전투 + 몬스터 슬롯 UI | +| `map/map01.map`~`map11.map` | 맵 | 몬스터에 `script.CombatMonster` 부착(생성기 산출) | +| `ui/DefaultGroup.ui` | UI | 몬스터 슬롯 추가(생성기 산출) | +| `RootDesk/MyDesk/SlayDeckController.codeblock`, `Global/common.gamelogic` | 생성물 | gen-slaydeck 산출 | + +--- + +## Task 1: enemies.json — 맵 몬스터 타입 + simEncounter + +**Files:** +- Modify: `data/enemies.json` + +- [ ] **Step 1: 적 타입과 simEncounter 추가** + +`enemies` 객체 안에 두 타입을 추가하고, 최상위에 `simEncounter`를 추가한다(기존 slime/elite/boss, activeEnemy는 유지): + +```json +{ + "enemies": { + "slime": { "name": "슬라임", "maxHp": 45, "intents": [ { "kind": "Attack", "value": 10 }, { "kind": "Attack", "value": 6 }, { "kind": "Defend", "value": 8 } ] }, + "slime_elite": { "name": "정예 슬라임", "maxHp": 70, "intents": [ { "kind": "Attack", "value": 14 }, { "kind": "Attack", "value": 8 }, { "kind": "Defend", "value": 10 } ] }, + "slime_boss": { "name": "슬라임 킹", "maxHp": 120, "intents": [ { "kind": "Attack", "value": 18 }, { "kind": "Defend", "value": 12 }, { "kind": "Attack", "value": 10 }, { "kind": "Attack", "value": 22 } ] }, + "orange_mushroom": { "name": "주황버섯", "maxHp": 16, "intents": [ { "kind": "Attack", "value": 5 }, { "kind": "Defend", "value": 4 }, { "kind": "Attack", "value": 7 } ] }, + "blue_mushroom": { "name": "파란버섯", "maxHp": 22, "intents": [ { "kind": "Attack", "value": 8 }, { "kind": "Attack", "value": 4 } ] } + }, + "activeEnemy": "slime", + "simEncounter": ["orange_mushroom", "orange_mushroom", "blue_mushroom"] +} +``` + +- [ ] **Step 2: JSON 유효성 확인** + +Run: `node -e "JSON.parse(require('fs').readFileSync('data/enemies.json','utf8')); console.log('ok')"` +Expected: `ok` + +- [ ] **Step 3: Commit** + +```bash +git add data/enemies.json +git commit -m "feat(combat-data): 맵 몬스터 적 타입(주황/파란버섯) + simEncounter 추가" +``` + +--- + +## Task 2: sim-balance.mjs — 멀티 몬스터 규칙 (TDD) + +전투 규칙을 멀티 몬스터로 바꾸고, 이 sim을 Lua 미러링의 정답지로 삼는다. **테스트 먼저.** + +**Files:** +- Modify: `tools/balance/sim-balance.mjs` +- Test: `tools/balance/sim-balance.test.mjs` (전면 교체) + +- [ ] **Step 1: 실패하는 테스트 작성** + +`tools/balance/sim-balance.test.mjs` 전체를 아래로 교체: + +```js +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { + mulberry32, applyDamage, chooseAction, chooseTarget, simulateCombat, runBatch, +} from './sim-balance.mjs'; + +test('applyDamage: 방어 우선 차감 후 hp', () => { + assert.deepEqual(applyDamage(80, 0, 10), { hp: 70, block: 0 }); + assert.deepEqual(applyDamage(80, 5, 10), { hp: 75, block: 0 }); + assert.deepEqual(applyDamage(80, 12, 10), { hp: 80, block: 2 }); + assert.deepEqual(applyDamage(3, 0, 10), { hp: 0, block: 0 }); +}); + +test('mulberry32: 동일 시드 동일 수열', () => { + const a = mulberry32(1), b = mulberry32(1); + assert.equal(a(), b()); + assert.equal(a(), b()); +}); + +const CARDS = { + Strike: { name: '타격', cost: 1, kind: 'Attack', damage: 6 }, + Defend: { name: '방어', cost: 1, kind: 'Skill', block: 5 }, + Bash: { name: '강타', cost: 2, kind: 'Attack', damage: 10 }, +}; + +test('chooseAction: 공격을 스킬보다 먼저 선택', () => { + const idx = chooseAction(['Defend', 'Strike'], CARDS, 3); + assert.equal(idx, 1); // Strike +}); + +test('chooseAction: 공격 없으면 스킬 선택', () => { + const idx = chooseAction(['Defend'], CARDS, 3); + assert.equal(idx, 0); +}); + +test('chooseAction: 사용 가능 카드 없으면 -1', () => { + const idx = chooseAction(['Bash'], CARDS, 1); + assert.equal(idx, -1); +}); + +test('chooseTarget: 이번 타격으로 처치 가능한 최소 체력 우선', () => { + const mob = [ + { hp: 20, block: 0, alive: true }, + { hp: 5, block: 0, alive: true }, + { hp: 8, block: 0, alive: true }, + ]; + assert.equal(chooseTarget(mob, 6), mob[1]); // 5<=6 처치 가능, 최소 +}); + +test('chooseTarget: 처치 불가면 유효체력 최소 선택', () => { + const mob = [ + { hp: 20, block: 0, alive: true }, + { hp: 12, block: 5, alive: true }, + { hp: 14, block: 0, alive: true }, + ]; + assert.equal(chooseTarget(mob, 6), mob[2]); // 유효 14 < 17 < 20 +}); + +const DATA = { + cards: CARDS, + starterDeck: ['Strike', 'Strike', 'Strike', 'Strike', 'Strike', 'Defend', 'Defend', 'Defend', 'Defend', 'Bash'], + monsters: [ + { name: '주황버섯', maxHp: 16, intents: [{ kind: 'Attack', value: 5 }, { kind: 'Defend', value: 4 }] }, + { name: '파란버섯', maxHp: 12, intents: [{ kind: 'Attack', value: 8 }] }, + ], +}; + +test('simulateCombat: 결정적 결과(동일 시드)', () => { + const r1 = simulateCombat(DATA, mulberry32(1)); + const r2 = simulateCombat(DATA, mulberry32(1)); + assert.deepEqual(r1, r2); + assert.equal(typeof r1.win, 'boolean'); + assert.ok(r1.turns >= 1); +}); + +test('simulateCombat: 모든 몬스터 처치 시 승리', () => { + let wins = 0; + for (let i = 0; i < 50; i++) if (simulateCombat(DATA, mulberry32(i + 1)).win) wins++; + assert.ok(wins >= 40, `예상 승리 다수, 실제 ${wins}/50`); +}); + +test('simulateCombat: 강한 다수 적이면 패배 가능', () => { + const hard = { + cards: CARDS, + starterDeck: DATA.starterDeck, + monsters: Array.from({ length: 4 }, () => ({ name: '슬라임', maxHp: 60, intents: [{ kind: 'Attack', value: 12 }] })), + }; + let losses = 0; + for (let i = 0; i < 30; i++) if (!simulateCombat(hard, mulberry32(i + 1)).win) losses++; + assert.ok(losses >= 1, `강한 적엔 패배가 나와야 함, 실제 패 ${losses}/30`); +}); + +test('runBatch: 집계 필드·승률 범위', () => { + const r = runBatch(100, 1); + assert.equal(r.N, 100); + assert.ok(r.winRate >= 0 && r.winRate <= 1); + assert.ok(r.avgTurns > 0); + assert.ok(r.cardStats.Strike.plays > 0); +}); + +test('runBatch: 동일 시드 동일 결과', () => { + assert.deepEqual(runBatch(100, 7), runBatch(100, 7)); +}); +``` + +- [ ] **Step 2: 테스트 실패 확인** + +Run: `node --test tools/balance/sim-balance.test.mjs` +Expected: FAIL — `chooseTarget` export 없음 / `chooseAction` 시그니처 불일치 / `simulateCombat` monsters 미사용 등. + +- [ ] **Step 3: sim 멀티 몬스터로 구현** + +`tools/balance/sim-balance.mjs`에서 `loadData`, `chooseAction`, `simulateCombat`, `runBatch`를 아래로 교체하고 `chooseTarget`를 추가한다. `mulberry32`/`shuffle`/`applyDamage`/`bump`/`mean`/`median`/`formatReport`의 시그니처 의존 부분만 맞춘다. + +`chooseAction` 교체(타겟 분리, 공격 우선): + +```js +// 손패에서 낼 카드 인덱스(-1=종료). 공격 우선, 없으면 스킬. +export function chooseAction(hand, cards, energy) { + const entries = hand.map((id, i) => ({ id, i })).filter((x) => cards[x.id].cost <= energy); + const attacks = entries.filter((x) => cards[x.id].kind === 'Attack'); + const skills = entries.filter((x) => cards[x.id].kind === 'Skill'); + const dmgEff = (x) => (cards[x.id].damage || 0) / cards[x.id].cost; + const blkEff = (x) => (cards[x.id].block || 0) / cards[x.id].cost; + const bestBy = (list, fn) => list.slice().sort((a, b) => fn(b) - fn(a))[0]; + if (attacks.length) return bestBy(attacks, dmgEff).i; + if (skills.length) return bestBy(skills, blkEff).i; + return -1; +} + +// 공격 타겟 선택: 이번 타격으로 처치 가능한 최소 유효체력, 없으면 유효체력 최소. +export function chooseTarget(aliveMonsters, plannedDamage) { + const eff = (m) => m.hp + m.block; + const killable = aliveMonsters.filter((m) => eff(m) <= plannedDamage); + const pool = killable.length ? killable : aliveMonsters; + return pool.slice().sort((a, b) => eff(a) - eff(b))[0]; +} +``` + +`loadData` 교체(simEncounter → monsters 배열): + +```js +export function loadData() { + const cardsData = JSON.parse(readFileSync('data/cards.json', 'utf8')); + const enemiesData = JSON.parse(readFileSync('data/enemies.json', 'utf8')); + const ids = enemiesData.simEncounter || [enemiesData.activeEnemy]; + const monsters = ids.map((id) => { + const e = enemiesData.enemies[id]; + if (!e) throw new Error(`simEncounter 적 없음: ${id}`); + return { name: e.name, maxHp: e.maxHp, intents: e.intents }; + }); + return { cards: cardsData.cards, starterDeck: cardsData.starterDeck, monsters }; +} +``` + +`simulateCombat` 교체(멀티 몬스터): + +```js +export function simulateCombat(data, rng, stats) { + const { cards, starterDeck, monsters } = data; + let drawPile = shuffle(starterDeck, rng); + let discard = []; + let hand = []; + let pHp = PLAYER_HP, pBlock = 0; + const mob = monsters.map((m) => ({ + name: m.name, hp: m.maxHp, maxHp: m.maxHp, block: 0, + intents: m.intents, intentIdx: 0, alive: true, + })); + let turns = 0; + + function draw(n) { + for (let k = 0; k < n; k++) { + if (drawPile.length === 0) { drawPile = shuffle(discard, rng); discard = []; } + if (drawPile.length === 0) break; + hand.push(drawPile.pop()); + } + } + const aliveList = () => mob.filter((m) => m.alive); + + while (turns < MAX_TURNS) { + turns++; + let energy = ENERGY; pBlock = 0; hand = []; draw(HAND_SIZE); + while (true) { + const alive = aliveList(); + if (alive.length === 0) break; + const idx = chooseAction(hand, cards, energy); + if (idx < 0) break; + const id = hand[idx], c = cards[id]; + energy -= c.cost; + if (c.kind === 'Attack') { + const target = chooseTarget(alive, c.damage || 0); + const r = applyDamage(target.hp, target.block, c.damage || 0); + target.hp = r.hp; target.block = r.block; + if (target.hp <= 0) target.alive = false; + if (stats) stats[id] = bump(stats[id], c.cost, c.damage || 0, 0); + } else { + pBlock += c.block || 0; + if (stats) stats[id] = bump(stats[id], c.cost, 0, c.block || 0); + } + hand.splice(idx, 1); discard.push(id); + if (aliveList().length === 0) return { win: true, turns, playerHpRemaining: pHp }; + } + discard.push(...hand); hand = []; + for (const m of mob) { + if (!m.alive) continue; + m.block = 0; + const it = m.intents[m.intentIdx]; + if (it) { + if (it.kind === 'Attack') { const r = applyDamage(pHp, pBlock, it.value); pHp = r.hp; pBlock = r.block; } + else if (it.kind === 'Defend') { m.block += it.value; } + } + m.intentIdx = (m.intentIdx + 1) % m.intents.length; + if (pHp <= 0) return { win: false, turns, playerHpRemaining: 0 }; + } + } + return { win: false, turns, playerHpRemaining: pHp, draw: true }; +} +``` + +`runBatch`에서 `data.enemy` 참조를 제거하고 `data.monsters` 기반으로 바꾼다. `formatReport`의 적 이름 표기는 인카운터 요약으로 교체: + +```js +export function runBatch(N, seed) { + const data = loadData(); + const rng = mulberry32(seed); + const cardStats = {}; + let wins = 0, draws = 0; + const turnsArr = [], hpArr = []; + for (let i = 0; i < N; i++) { + const r = simulateCombat(data, rng, cardStats); + if (r.draw) draws++; + if (r.win) { wins++; hpArr.push(r.playerHpRemaining); } + turnsArr.push(r.turns); + } + return { + N, wins, draws, losses: N - wins - draws, + winRate: wins / N, + avgTurns: mean(turnsArr), medianTurns: median(turnsArr), + avgHpOnWin: mean(hpArr), + cardStats, cards: data.cards, monsters: data.monsters, seed, + }; +} +``` + +`formatReport` 첫 줄을 인카운터 요약으로 교체(나머지 카드 통계 로직은 유지): + +```js + L.push(`=== 밸런스 시뮬레이션 (인카운터: ${r.monsters.map((m) => `${m.name}(${m.maxHp})`).join(', ')}) ===`); +``` + +- [ ] **Step 4: 테스트 통과 확인** + +Run: `node --test tools/balance/sim-balance.test.mjs` +Expected: PASS (전체 통과, `tests N / pass N / fail 0`). + +- [ ] **Step 5: CLI 동작 확인** + +Run: `node tools/balance/sim-balance.mjs 500` +Expected: 인카운터 요약 + 승률/턴/카드 통계 출력, 에러 없음. + +- [ ] **Step 6: Commit** + +```bash +git add tools/balance/sim-balance.mjs tools/balance/sim-balance.test.mjs +git commit -m "feat(sim): 전투 규칙을 멀티 몬스터로 (타겟 선택·각자 의도·전체 처치 승리)" +``` + +--- + +## Task 3: CombatMonster 코드블록 + gen-combat-monster.mjs + +맵 몬스터에 `EnemyId`를 부여하고, BeginPlay 시 컨트롤러에 자기등록하는 경량 스크립트를 만든다. + +**Files:** +- Create: `tools/monster/gen-combat-monster.mjs` +- Create(생성물): `RootDesk/MyDesk/CombatMonster.codeblock` +- Modify(산출): `map/map01.map`~`map11.map` + +- [ ] **Step 1: gen-combat-monster.mjs 작성** + +`tools/camera/gen-camera.mjs`의 prop/method/writeCodeblock/patchMap 구조를 따른다. EnemyId 매핑은 이름 기반 + 기본값. + +```js +import { readFileSync, writeFileSync } from 'node:fs'; + +// 맵 몬스터에 적 타입(EnemyId)을 부여하고, BeginPlay 시 /common 컨트롤러에 자기등록하는 마커. +// 카드 전투 시 컨트롤러가 등록 목록으로 인카운터를 구성한다. +const MAP_NUMBERS = Array.from({ length: 11 }, (_, i) => i + 1); // map01~11 +const NAME_TO_ENEMY = { '주황버섯': 'orange_mushroom', '파란버섯': 'blue_mushroom' }; +const DEFAULT_ENEMY = 'orange_mushroom'; + +function prop(Type, Name, DefaultValue = 'nil') { + return { Type, DefaultValue, SyncDirection: 0, Attributes: [], Name }; +} +function method(Name, Code, Arguments = [], ExecSpace = 6) { + return { + Return: { Type: 'void', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: null }, + Arguments, Code, Scope: 2, ExecSpace, Attributes: [], Name, + }; +} + +function writeCodeblock() { + const cb = { + Id: '', GameId: '', EntryKey: 'codeblock://combatmonster', ContentType: 'x-mod/codeblock', + Content: '', Usage: 0, UsePublish: 1, UseService: 0, CoreVersion: '26.5.0.0', StudioVersion: '', DynamicLoading: 0, + ContentProto: { Use: 'Json', Json: { + CoreVersion: { Major: 0, Minor: 2 }, ScriptVersion: { Major: 1, Minor: 0 }, + Description: '', Id: 'CombatMonster', Language: 1, Name: 'CombatMonster', Type: 1, Source: 0, Target: null, + Properties: [prop('string', 'EnemyId', '""'), prop('number', 'RegTries', '0')], + Methods: [ + method('OnBeginPlay', `self.RegTries = 0 +local eventId = 0 +local function reg() + self.RegTries = self.RegTries + 1 + local c = _EntityService:GetEntityByPath("/common") + if c ~= nil and c.SlayDeckController ~= nil then + c.SlayDeckController:RegisterMonster(self.Entity, self.EnemyId) + _TimerService:ClearTimer(eventId) + elseif self.RegTries > 50 then + _TimerService:ClearTimer(eventId) + end +end +eventId = _TimerService:SetTimerRepeat(reg, 0.1)`), + ], + EntityEventHandlers: [], + } }, + }; + writeFileSync('RootDesk/MyDesk/CombatMonster.codeblock', JSON.stringify(cb, null, 2), 'utf8'); +} + +const isMonster = (e) => (e.componentNames || '').includes('script.Monster'); + +function patchMap(nn) { + const tag = String(nn).padStart(2, '0'); + const file = `map/map${tag}.map`; + const map = JSON.parse(readFileSync(file, 'utf8')); + let count = 0; + for (const e of map.ContentProto.Entities.filter(isMonster)) { + const name = (e.jsonString && e.jsonString.name) || ''; + const enemyId = NAME_TO_ENEMY[name] || DEFAULT_ENEMY; + const comps = e.jsonString['@components']; + e.jsonString['@components'] = comps.filter((c) => c['@type'] !== 'script.CombatMonster'); + e.jsonString['@components'].push({ '@type': 'script.CombatMonster', Enable: true, EnemyId: enemyId }); + const names = (e.componentNames || '').split(',').filter((s) => s && s !== 'script.CombatMonster'); + names.push('script.CombatMonster'); + e.componentNames = names.join(','); + count++; + } + writeFileSync(file, JSON.stringify(map, null, 2), 'utf8'); + return `map${tag}(${count})`; +} + +writeCodeblock(); +const patched = MAP_NUMBERS.map(patchMap); +console.log('CombatMonster codeblock written; patched maps:', patched.join(', ')); +``` + +- [ ] **Step 2: 실행** + +Run: `node tools/monster/gen-combat-monster.mjs` +Expected: `CombatMonster codeblock written; patched maps: map01(N), ...` (map01은 주황버섯 포함 마릿수). + +- [ ] **Step 3: 산출 검증** + +Run: `node -e "const m=JSON.parse(require('fs').readFileSync('map/map01.map','utf8'));const ms=m.ContentProto.Entities.filter(e=>(e.componentNames||'').includes('script.CombatMonster'));console.log(ms.map(e=>e.jsonString.name+':'+e.jsonString['@components'].find(c=>c['@type']==='script.CombatMonster').EnemyId).join(', '))"` +Expected: 각 몬스터 `이름:enemyId` 출력(주황버섯:orange_mushroom 등). JSON.parse 성공. + +- [ ] **Step 4: 멱등성 확인** + +Run: `node tools/monster/gen-combat-monster.mjs` (재실행) 후 `git diff --stat map/` 변화 없음(2회차 = 1회차 동일). +Expected: 재실행 후 추가 변경 없음. + +- [ ] **Step 5: Commit** + +```bash +git add tools/monster/gen-combat-monster.mjs RootDesk/MyDesk/CombatMonster.codeblock map/ +git commit -m "feat(monster): CombatMonster 마커(EnemyId·자기등록) + 11맵 몬스터 패치" +``` + +--- + +## Task 4: gen-slaydeck — 멀티 몬스터 상태 + 등록/StartCombat + +여기서부터 `tools/deck/gen-slaydeck.mjs`의 `writeCodeblocks()` 안 `SlayDeckController` 정의를 수정한다. **상수 추가**: 파일 상단 근처(다른 const와 함께)에 `const MAX_MONSTERS = 4;`. + +**Files:** +- Modify: `tools/deck/gen-slaydeck.mjs` + +- [ ] **Step 1: 속성(prop) 교체** + +`SlayDeckController`의 prop 목록에서 단일 적 속성을 멀티로 교체한다. + +제거: `prop('number','EnemyHp','0')`, `prop('number','EnemyMaxHp',...)`, `prop('number','EnemyBlock','0')`, `prop('number','EnemyIntentIndex','1')`, `prop('any','EnemyIntents')`, `prop('any','EnemyName')`. + +추가(같은 위치에): + +```js + prop('any', 'Monsters'), + prop('any', 'Registered'), + prop('number', 'TargetIndex', '1'), + prop('any', 'SlotPos'), +``` + +- [ ] **Step 2: 슬롯 좌표 로드 + 컨트롤러에 주입** + +파일 상단 데이터 로드부(다른 `JSON.parse(readFileSync(...))` 옆)에 추가: + +```js +const SLOTS = JSON.parse(readFileSync('data/monster-slots.json', 'utf8')); +``` + +`StartRun` 메서드 본문(현재 `self.CurrentNodeId = ""` 위쪽 적절한 위치)에 SlotPos 주입을 추가: + +```js +self.SlotPos = { ${SLOTS.map((s) => `{ x = ${s.x}, y = ${s.y} }`).join(', ')} } +``` + +> data/monster-slots.json은 Task 8에서 생성한다. 이 Task를 먼저 구현하더라도 생성기 실행은 Task 8 이후에 한다(실행 순서는 Task 9). + +- [ ] **Step 3: RegisterMonster + StartCombat 작성** + +`StartCombat` 메서드를 아래로 교체한다(단일 적 셋업 → 등록 몬스터 기반 인카운터 구성). 그리고 `RegisterMonster` 메서드를 새로 추가한다. + +`RegisterMonster`: + +```js + method('RegisterMonster', `if self.Registered == nil then + self.Registered = {} +end +table.insert(self.Registered, { entity = monster, enemyId = enemyId })`, [ + { Type: 'any', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'monster' }, + { Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'enemyId' }, + ]), +``` + +`StartCombat` 교체: + +```js + method('StartCombat', `self.MaxEnergy = 3 +self.Turn = 0 +self.PlayerBlock = 0 +self.CombatOver = false +self.DiscardPile = {} +self.Hand = {} +${luaCardsTable(CARDS.cards)} +self.DrawPile = {} +for i = 1, #self.RunDeck do + self.DrawPile[i] = self.RunDeck[i] +end +self:Shuffle(self.DrawPile) +self:BuildMonsters() +self:RenderCombat() +self:StartPlayerTurn() +self:ApplyRelics("combatStart") +self:RenderCombat()`), +``` + +`BuildMonsters` 추가(등록 몬스터 → 좌→우 정렬 → 최대 MAX → enemies.json 스탯·막 배율 → 부활·슬롯 배치): + +```js + method('BuildMonsters', `self.Monsters = {} +local reg = self.Registered or {} +-- 살아있는(유효) 등록 엔티티만, 월드 x 기준 좌->우 정렬 +local list = {} +for i = 1, #reg do + local r = reg[i] + if r.entity ~= nil and isvalid(r.entity) then + local x = 0 + if r.entity.TransformComponent ~= nil then + x = r.entity.TransformComponent.WorldPosition.x + end + table.insert(list, { entity = r.entity, enemyId = r.enemyId, x = x }) + end +end +table.sort(list, function(a, b) return a.x < b.x end) +local mult = 1 + (self.Floor - 1) * 0.6 +local n = #list +if n > ${'${'}MAX_MONSTERS} then n = ${'${'}MAX_MONSTERS} end +for i = 1, n do + local item = list[i] + local e = self.Enemies[item.enemyId] + if e == nil then e = { name = item.enemyId, maxHp = 10, intents = { { kind = "Attack", value = 5 } } } end + local intents = {} + for k = 1, #e.intents do + intents[k] = { kind = e.intents[k].kind, value = math.floor(e.intents[k].value * mult) } + end + local maxHp = math.floor(e.maxHp * mult) + self.Monsters[i] = { entity = item.entity, enemyId = item.enemyId, name = e.name, + hp = maxHp, maxHp = maxHp, block = 0, intents = intents, intentIdx = 1, alive = true, slot = i } + self:ReviveMonsterEntity(item.entity) + self:PositionMonsterSlot(i) +end +self.TargetIndex = 1`), +``` + +> 위 `${'${'}MAX_MONSTERS}`는 JS 템플릿에서 상수 `MAX_MONSTERS` 값을 박아넣기 위한 것이다. 실제 작성 시 `${MAX_MONSTERS}`로 쓴다(이 문서의 escape 표기 주의). + +`ReviveMonsterEntity` 추가: + +```js + method('ReviveMonsterEntity', `if monster == nil or not isvalid(monster) then + 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' }]), +``` + +- [ ] **Step 4: 구문 점검(생성기 실행은 Task 9에서)** + +Run: `node -e "require('fs').readFileSync('tools/deck/gen-slaydeck.mjs','utf8'); console.log('file ok')"` +(이 Task에서는 JS 문법만 깨지지 않았는지 확인. 전체 실행/산출 검증은 Task 8·9에서.) +Expected: `file ok` + +- [ ] **Step 5: Commit** + +```bash +git add tools/deck/gen-slaydeck.mjs +git commit -m "feat(combat): 컨트롤러 멀티 몬스터 상태 + 등록/BuildMonsters/부활" +``` + +--- + +## Task 5: gen-slaydeck — PlayCard 타겟 공격 + 사망 + +**Files:** +- Modify: `tools/deck/gen-slaydeck.mjs` + +- [ ] **Step 1: PlayCard 공격 분기 교체** + +`PlayCard`에서 Attack 분기의 `self:DealDamageToEnemy(c.damage)`를 타겟 몬스터 공격으로 교체: + +```js +if c.kind == "Attack" then + if c.damage ~= nil then + self:DealDamageToTarget(c.damage) + end + self:ApplyRelics("cardPlayed") +elseif c.kind == "Skill" then + if c.block ~= nil then + self.PlayerBlock = self.PlayerBlock + c.block + end +end +``` + +- [ ] **Step 2: DealDamageToTarget / KillMonster 추가, DealDamageToEnemy 제거** + +`DealDamageToEnemy` 메서드를 삭제하고 아래 두 메서드를 추가: + +```js + method('DealDamageToTarget', `local m = self.Monsters[self.TargetIndex] +if m == nil or m.alive ~= true then + m = nil + for i = 1, #self.Monsters do + if self.Monsters[i].alive == true then m = self.Monsters[i]; self.TargetIndex = i; break end + end +end +if m == nil then + return +end +local dmg = amount +if m.block > 0 then + local absorbed = math.min(m.block, dmg) + m.block = m.block - absorbed + dmg = dmg - absorbed +end +m.hp = m.hp - dmg +if m.hp <= 0 then + m.hp = 0 + self:KillMonster(m.slot) +end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'amount' }]), + method('KillMonster', `local m = self.Monsters[slot] +if m == nil then + return +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) +end +self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(slot), false) +-- 다음 생존 타겟 자동 선택 +for i = 1, #self.Monsters do + if self.Monsters[i].alive == true then self.TargetIndex = i; break end +end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'slot' }]), +``` + +- [ ] **Step 3: 구문 점검** + +Run: `node -e "require('fs').readFileSync('tools/deck/gen-slaydeck.mjs','utf8'); console.log('file ok')"` +Expected: `file ok` + +- [ ] **Step 4: Commit** + +```bash +git add tools/deck/gen-slaydeck.mjs +git commit -m "feat(combat): PlayCard 타겟 몬스터 공격 + 사망 처리/연출" +``` + +--- + +## Task 6: gen-slaydeck — EnemyTurn 멀티 몬스터 + +**Files:** +- Modify: `tools/deck/gen-slaydeck.mjs` + +- [ ] **Step 1: EnemyTurn 교체** + +기존 단일 적 `EnemyTurn`을 생존 몬스터 각자 행동으로 교체: + +```js + method('EnemyTurn', `for i = 1, #self.Monsters do + local m = self.Monsters[i] + if m.alive == true then + m.block = 0 + local intent = m.intents[m.intentIdx] + if intent ~= nil then + if intent.kind == "Attack" then + self:DealDamageToPlayer(intent.value) + elseif intent.kind == "Defend" then + m.block = m.block + intent.value + end + end + m.intentIdx = m.intentIdx + 1 + if m.intentIdx > #m.intents then + m.intentIdx = 1 + end + end +end +self:RenderCombat()`), +``` + +- [ ] **Step 2: 구문 점검** + +Run: `node -e "require('fs').readFileSync('tools/deck/gen-slaydeck.mjs','utf8'); console.log('file ok')"` +Expected: `file ok` + +- [ ] **Step 3: Commit** + +```bash +git add tools/deck/gen-slaydeck.mjs +git commit -m "feat(combat): EnemyTurn 생존 몬스터 각자 행동" +``` + +--- + +## Task 7: gen-slaydeck — CheckCombatEnd · RenderCombat · SetTarget · 바인딩 + +**Files:** +- Modify: `tools/deck/gen-slaydeck.mjs` + +- [ ] **Step 1: CheckCombatEnd 승리 조건 교체** + +`if self.EnemyHp <= 0 then` 을 "생존 몬스터 0"으로 교체(이후 보상/노드/막 분기는 그대로 유지): + +```js + method('CheckCombatEnd', `local anyAlive = false +for i = 1, #self.Monsters do + if self.Monsters[i].alive == true then anyAlive = true; break end +end +if anyAlive == false then + self.CombatOver = true + self.Gold = self.Gold + ${GOLD_PER_WIN} + self:ApplyRelics("combatReward") + self:RenderRun() + local node = self.MapNodes[self.CurrentNodeId] + if node ~= nil and node.type == "elite" then + self:AddRelic(self.RelicPool[math.random(1, #self.RelicPool)]) + end + if node ~= nil and node.type == "boss" then + if self.Floor < self.RunLength then + self.Floor = self.Floor + 1 + self.CurrentNodeId = "" + self.CurrentEnemyId = "" + self:RenderRun() + self:ShowMap() + else + self:ShowResult("런 클리어!") + self.RunActive = false + end + else + self:OfferReward() + end +elseif self.PlayerHp <= 0 then + self.CombatOver = true + self:ShowResult("패배...") + self.RunActive = false +end`), +``` + +- [ ] **Step 2: RenderCombat 교체(몬스터 슬롯 렌더)** + +단일 적 패널 갱신 부분을 몬스터 슬롯 렌더로 교체. 플레이어 패널/런 갱신은 유지: + +```js + method('RenderCombat', `for i = 1, ${MAX_MONSTERS} do + local base = "/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(i) + local m = self.Monsters[i] + if m ~= nil and m.alive == true then + self:SetEntityEnabled(base, true) + self:SetText(base .. "/Name", m.name) + self:SetText(base .. "/Hp", string.format("%d", m.hp) .. "/" .. string.format("%d", m.maxHp)) + local intent = m.intents[m.intentIdx] + local t = "" + if intent ~= nil then + if intent.kind == "Attack" then t = "공격 " .. tostring(intent.value) + elseif intent.kind == "Defend" then t = "방어 " .. tostring(intent.value) end + end + if i == self.TargetIndex then t = "[타겟] " .. t end + self:SetText(base .. "/Intent", t) + self:SetHpBar(base .. "/HpBarFill", m.hp, m.maxHp) + else + self:SetEntityEnabled(base, false) + end +end +self:SetText("/ui/DefaultGroup/CombatHud/PlayerHp", "HP " .. string.format("%d", self.PlayerHp) .. "/" .. string.format("%d", self.PlayerMaxHp)) +self:SetText("/ui/DefaultGroup/CombatHud/PlayerBlock", "방어 " .. string.format("%d", self.PlayerBlock)) +self:RenderRun()`), +``` + +`SetHpBar` 추가(채움 너비 = 비율 × 기준폭 120): + +```js + method('SetHpBar', `local e = _EntityService:GetEntityByPath(path) +if e == nil or e.UITransformComponent == nil then + return +end +local ratio = 0 +if maxHp > 0 then ratio = hp / maxHp end +if ratio < 0 then ratio = 0 end +local w = 120 * ratio +e.UITransformComponent.RectSize = Vector2(w, 14)`, [ + { Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'path' }, + { Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'hp' }, + { Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'maxHp' }, + ]), +``` + +`PositionMonsterSlot` 추가(SlotPos 화면좌표로 슬롯 배치): + +```js + method('PositionMonsterSlot', `local sp = self.SlotPos +if sp == nil or sp[slot] == nil then + return +end +local e = _EntityService:GetEntityByPath("/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(slot)) +if e ~= nil and e.UITransformComponent ~= nil then + e.UITransformComponent.anchoredPosition = Vector2(sp[slot].x, sp[slot].y) +end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'slot' }]), +``` + +`SetTarget` 추가: + +```js + method('SetTarget', `if self.Monsters[slot] ~= nil and self.Monsters[slot].alive == true then + self.TargetIndex = slot + self:RenderCombat() +end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'slot' }]), +``` + +- [ ] **Step 3: BindButtons에 몬스터 슬롯 타겟 클릭 추가** + +`BindButtons` 메서드 본문 끝부분에 슬롯 버튼 바인딩 추가: + +```js +for i = 1, ${MAX_MONSTERS} do + local ms = _EntityService:GetEntityByPath("/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(i)) + if ms ~= nil and ms.ButtonComponent ~= nil then + ms:ConnectEvent(ButtonClickEvent, function() self:SetTarget(i) end) + end +end +``` + +- [ ] **Step 4: 잔여 단일 적 참조 제거 확인** + +Run: `node -e "const s=require('fs').readFileSync('tools/deck/gen-slaydeck.mjs','utf8');const bad=['EnemyHp','EnemyMaxHp','EnemyIntentIndex','DealDamageToEnemy'].filter(k=>s.includes(k));console.log(bad.length?('잔여:'+bad.join(',')):'clean')"` +Expected: `clean` (CombatHud의 EnemyName/EnemyHp UI 엔티티를 Task 8에서 슬롯으로 대체하므로, 그 외 단일 적 상태 참조는 모두 사라져야 함). + +> 참고: 기존 `upsertUi()`가 만들던 CombatHud의 `EnemyName/EnemyHp/EnemyBlock/EnemyIntent` 엔티티는 Task 8에서 제거한다. RenderCombat에서 더 이상 참조하지 않으므로 남아 있어도 무해하나, 정리한다. + +- [ ] **Step 5: Commit** + +```bash +git add tools/deck/gen-slaydeck.mjs +git commit -m "feat(combat): 승리조건(전체 처치)·몬스터 슬롯 렌더·HP바·타겟 클릭" +``` + +--- + +## Task 8: gen-slaydeck — 몬스터 슬롯 UI + monster-slots.json + +**Files:** +- Create: `data/monster-slots.json` +- Modify: `tools/deck/gen-slaydeck.mjs` (`upsertUi()` 내 CombatHud 생성부) + +- [ ] **Step 1: monster-slots.json 생성(초기 좌표, 추후 튜닝)** + +화면 상단을 좌→우로 4등분한 초기값. 메이커 플레이로 몬스터 머리 위에 맞게 튜닝(Task 9). + +```json +[ + { "x": -480, "y": 300 }, + { "x": -160, "y": 300 }, + { "x": 160, "y": 300 }, + { "x": 480, "y": 300 } +] +``` + +- [ ] **Step 2: CombatHud의 단일 적 엔티티 제거 + 몬스터 슬롯 생성** + +`upsertUi()`에서 `EnemyBg`/`EnemyName`/`EnemyHp`/`EnemyBlock`/`EnemyIntent` 엔티티 생성 블록(`enemyTexts` 루프 및 EnemyBg push)을 삭제한다. 대신 `MAX_MONSTERS`개의 MonsterSlot을 생성하는 블록을 `combat` 배열에 추가한다(`PlayerBg` 생성 이전 적당한 위치): + +```js + const SLOT_W = 140, SLOT_H = 96; + for (let i = 1; i <= MAX_MONSTERS; i++) { + const base = `/ui/DefaultGroup/CombatHud/MonsterSlot${i}`; + // 슬롯 컨테이너(투명 + 버튼 = 타겟 클릭 영역) + const slot = entity({ + id: guid('cmb', 40 + i), + path: base, + modelId: 'uisprite', entryId: 'UISprite', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent', + displayOrder: 20 + i, + components: [ + transform({ parentW: 1920, parentH: 1080, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: SLOT_W, y: SLOT_H }, pos: { x: (i - 2.5) * 320, y: 300 } }), + sprite({ color: { r: 0, g: 0, b: 0, a: 0.0001 }, type: 1, raycast: true }), + button(), + ], + }); + slot.jsonString.enable = false; + combat.push(slot); + // 이름 + combat.push(entity({ + id: guid('cmb', 60 + i), path: `${base}/Name`, modelId: 'uitext', entryId: 'UIText', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent', + displayOrder: 0, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: SLOT_W, y: 30 }, pos: { x: 0, y: 34 } }), + sprite({ color: TRANSPARENT }), + text({ value: '', fontSize: 20, bold: true, color: GOLD, alignment: 4 }), + ], + })); + // HP 텍스트 + combat.push(entity({ + id: guid('cmb', 80 + i), path: `${base}/Hp`, modelId: 'uitext', entryId: 'UIText', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent', + displayOrder: 1, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: SLOT_W, y: 26 }, pos: { x: 0, y: 6 } }), + sprite({ color: TRANSPARENT }), + text({ value: '', fontSize: 18, bold: true, color: { r: 1, g: 1, b: 1, a: 1 }, alignment: 4 }), + ], + })); + // HP바 배경 + combat.push(entity({ + id: guid('cmb', 100 + i), path: `${base}/HpBarBg`, modelId: 'uisprite', entryId: 'UISprite', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent', + displayOrder: 2, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: 120, y: 14 }, pos: { x: 0, y: -14 } }), + sprite({ color: { r: 0.18, g: 0.05, b: 0.06, a: 1 }, type: 1 }), + ], + })); + // HP바 채움(좌측 정렬: pivot x=0) + combat.push(entity({ + id: guid('cmb', 120 + i), path: `${base}/HpBarFill`, modelId: 'uisprite', entryId: 'UISprite', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent', + displayOrder: 3, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0, y: 0.5 }, size: { x: 120, y: 14 }, pos: { x: -60, y: -14 } }), + sprite({ color: { r: 0.86, g: 0.35, b: 0.32, a: 1 }, type: 1 }), + ], + })); + // 의도 텍스트 + combat.push(entity({ + id: guid('cmb', 140 + i), path: `${base}/Intent`, modelId: 'uitext', entryId: 'UIText', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent', + displayOrder: 4, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: SLOT_W + 40, y: 24 }, pos: { x: 0, y: -36 } }), + sprite({ color: TRANSPARENT }), + text({ value: '', fontSize: 17, bold: true, color: { r: 1, g: 0.72, b: 0.5, a: 1 }, alignment: 4 }), + ], + })); + } +``` + +> `guid('cmb', N)` 충돌 주의: 기존 CombatHud는 `cmb` 0~약 15번대를 사용한다. 위에서 40~140+ 대역을 써서 충돌을 피한다. 기존 코드가 더 큰 번호를 쓰면 대역을 올린다(생성 후 `JSON.parse` 검증으로 중복 id 없는지 확인). + +- [ ] **Step 3: upsertUi가 SLOTS 길이와 MAX_MONSTERS 일치 가정 — 검증 주석/단언 추가** + +`upsertUi()` 시작부에 안전 단언 추가: + +```js + if (SLOTS.length < MAX_MONSTERS) { + throw new Error(`[gen-slaydeck] monster-slots.json 항목(${SLOTS.length}) < MAX_MONSTERS(${MAX_MONSTERS})`); + } +``` + +- [ ] **Step 4: 구문 점검** + +Run: `node -e "require('fs').readFileSync('tools/deck/gen-slaydeck.mjs','utf8'); console.log('file ok')"` +Expected: `file ok` + +- [ ] **Step 5: Commit** + +```bash +git add data/monster-slots.json tools/deck/gen-slaydeck.mjs +git commit -m "feat(combat-ui): 몬스터 슬롯 UI(HP바·의도·타겟버튼) + monster-slots.json" +``` + +--- + +## Task 9: 재생성 · 결정성 검증 · 메이커 플레이테스트 + +**Files:** +- 산출: `ui/DefaultGroup.ui`, `RootDesk/MyDesk/SlayDeckController.codeblock`, `Global/common.gamelogic`, `map/*.map` + +- [ ] **Step 1: 전체 생성기 재실행** + +Run(루트에서 순서대로): +```bash +node tools/monster/gen-combat-monster.mjs +node tools/deck/gen-slaydeck.mjs +``` +Expected: 둘 다 에러 없이 완료. gen-slaydeck는 UI/codeblock/common 재생성. + +- [ ] **Step 2: 산출물 JSON 유효성 + 중복 id 없음** + +Run: `node -e "const fs=require('fs');for(const f of ['ui/DefaultGroup.ui','Global/common.gamelogic','RootDesk/MyDesk/SlayDeckController.codeblock']){JSON.parse(fs.readFileSync(f,'utf8'))};const ui=JSON.parse(fs.readFileSync('ui/DefaultGroup.ui','utf8'));const ids=ui.ContentProto.Entities.map(e=>e.id);const dup=ids.filter((x,i)=>ids.indexOf(x)!==i);console.log(dup.length?('중복 id:'+dup.join(',')):'ok no dup')"` +Expected: `ok no dup` + +- [ ] **Step 3: 몬스터 슬롯 엔티티 생성 확인** + +Run: `node -e "const ui=JSON.parse(require('fs').readFileSync('ui/DefaultGroup.ui','utf8'));console.log(ui.ContentProto.Entities.filter(e=>e.path.includes('/CombatHud/MonsterSlot')).map(e=>e.path).join('\n'))"` +Expected: MonsterSlot1~4 및 각 하위(Name/Hp/HpBarBg/HpBarFill/Intent) 경로 출력. + +- [ ] **Step 4: 결정성(2회 실행 동일)** + +Run: `node tools/deck/gen-slaydeck.mjs && git diff --stat ui/ Global/ RootDesk/` +Expected: 1회차 대비 추가 변경 없음(결정적). + +- [ ] **Step 5: sim 테스트 재확인** + +Run: `node --test tools/balance/sim-balance.test.mjs` +Expected: PASS. + +- [ ] **Step 6: 메이커 플레이테스트 (수동/MCP)** + +MSW Maker에서 로컬 워크스페이스 reload 후 Play. 확인 항목: +1. 전투 진입 시 맵 몬스터 위에 슬롯(이름·HP바·의도)이 뜨는가. (안 맞으면 `data/monster-slots.json` 좌표 튜닝 → `node tools/deck/gen-slaydeck.mjs` 재실행 → reload) +2. 몬스터 클릭 시 `[타겟]` 표시가 이동하는가. +3. 공격 카드가 현재 타겟의 HP를 깎고, HP 0이면 die 애니 후 사라지는가. +4. 적 턴에 생존 몬스터가 각자 플레이어를 공격하는가. +5. 모든 몬스터 처치 시 승리 → 보상/맵 흐름 진입, 플레이어 HP 0이면 패배. + +> 월드 API 리스크 검증: `TransformComponent.WorldPosition`, 외부 엔티티 `StateComponent:ChangeState`, `SetVisible/SetEnable` 동작 여부. 미동작 시: (a) 정렬용 x를 `Position`으로 대체, (b) 사망 연출을 가시성만으로 처리, (c) 슬롯 위치는 좌표 데이터로 이미 독립. + +- [ ] **Step 7: 좌표 튜닝 반영 후 최종 커밋** + +```bash +git add data/monster-slots.json ui/DefaultGroup.ui Global/common.gamelogic RootDesk/MyDesk/SlayDeckController.codeblock RootDesk/MyDesk/CombatMonster.codeblock map/ +git commit -m "feat(combat): 맵 몬스터 카드 전투 재생성 + 슬롯 좌표 튜닝" +``` + +--- + +## Self-Review 결과 (작성자 점검) + +- **스펙 커버리지**: 타겟 클릭(Task 7 SetTarget/바인딩), 멀티 HP+의도(Task 2 sim·Task 4~6 Lua), 런 연동(Task 7 CheckCombatEnd 기존 분기 유지), 스탯 enemies.json+막배율(Task 1·4 BuildMonsters), 월드 HP바 표시(Task 7·8), 컨트롤러 단일 소유(Task 4~7), CombatMonster 매핑(Task 3) — 전 항목 매핑됨. 스펙의 "노드 타입 배율(선택)"은 MVP에서 막 배율만 적용(BuildMonsters), 노드 타입 가산은 후속. +- **플레이스홀더**: enemies.json 수치는 의도된 placeholder(§sim으로 튜닝). 슬롯 좌표는 초기값+튜닝 단계 명시. 코드 단계는 실제 코드 포함. +- **타입/이름 일관성**: `Monsters`/`Registered`/`TargetIndex`/`SlotPos`, 메서드 `RegisterMonster`/`BuildMonsters`/`ReviveMonsterEntity`/`DealDamageToTarget`/`KillMonster`/`EnemyTurn`/`CheckCombatEnd`/`RenderCombat`/`SetHpBar`/`PositionMonsterSlot`/`SetTarget` — Task 간 명칭 일치. UI 경로 `/ui/DefaultGroup/CombatHud/MonsterSlot{i}/{Name,Hp,HpBarBg,HpBarFill,Intent}` 일치. +- **알려진 리스크**: MSW 월드 API(WorldPosition/StateComponent/SetVisible)는 Task 9 Step 6에서 검증·폴백. From b14b614d94d1ceb5c6ecf14f80fd7174ab900aa3 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 00:48:46 +0900 Subject: [PATCH 03/15] =?UTF-8?q?feat(combat-data):=20=EB=A7=B5=20?= =?UTF-8?q?=EB=AA=AC=EC=8A=A4=ED=84=B0=20=EC=A0=81=20=ED=83=80=EC=9E=85(?= =?UTF-8?q?=EC=A3=BC=ED=99=A9/=ED=8C=8C=EB=9E=80=EB=B2=84=EC=84=AF)=20+=20?= =?UTF-8?q?simEncounter=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/enemies.json | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/data/enemies.json b/data/enemies.json index 82d8ff6..47263c6 100644 --- a/data/enemies.json +++ b/data/enemies.json @@ -27,7 +27,25 @@ { "kind": "Attack", "value": 10 }, { "kind": "Attack", "value": 22 } ] + }, + "orange_mushroom": { + "name": "주황버섯", + "maxHp": 16, + "intents": [ + { "kind": "Attack", "value": 5 }, + { "kind": "Defend", "value": 4 }, + { "kind": "Attack", "value": 7 } + ] + }, + "blue_mushroom": { + "name": "파란버섯", + "maxHp": 22, + "intents": [ + { "kind": "Attack", "value": 8 }, + { "kind": "Attack", "value": 4 } + ] } }, - "activeEnemy": "slime" + "activeEnemy": "slime", + "simEncounter": ["orange_mushroom", "orange_mushroom", "blue_mushroom"] } From 4ef3d1811d10263e172ae2b354f155ebe80a33bd Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 00:52:17 +0900 Subject: [PATCH 04/15] =?UTF-8?q?feat(sim):=20=EC=A0=84=ED=88=AC=20?= =?UTF-8?q?=EA=B7=9C=EC=B9=99=EC=9D=84=20=EB=A9=80=ED=8B=B0=20=EB=AA=AC?= =?UTF-8?q?=EC=8A=A4=ED=84=B0=EB=A1=9C=20(=ED=83=80=EA=B2=9F=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=C2=B7=EA=B0=81=EC=9E=90=20=EC=9D=98=EB=8F=84=C2=B7?= =?UTF-8?q?=EC=A0=84=EC=B2=B4=20=EC=B2=98=EC=B9=98=20=EC=8A=B9=EB=A6=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/balance/sim-balance.mjs | 75 ++++++++++++++++++------------ tools/balance/sim-balance.test.mjs | 63 +++++++++++++++++-------- 2 files changed, 87 insertions(+), 51 deletions(-) diff --git a/tools/balance/sim-balance.mjs b/tools/balance/sim-balance.mjs index afb81d2..69a2573 100644 --- a/tools/balance/sim-balance.mjs +++ b/tools/balance/sim-balance.mjs @@ -43,36 +43,36 @@ export function applyDamage(hp, block, amount) { export function loadData() { const cardsData = JSON.parse(readFileSync('data/cards.json', 'utf8')); const enemiesData = JSON.parse(readFileSync('data/enemies.json', 'utf8')); - const enemy = enemiesData.enemies[enemiesData.activeEnemy]; - if (!enemy) throw new Error(`activeEnemy 없음: ${enemiesData.activeEnemy}`); - return { cards: cardsData.cards, starterDeck: cardsData.starterDeck, enemy }; + const ids = enemiesData.simEncounter || [enemiesData.activeEnemy]; + const monsters = ids.map((id) => { + const e = enemiesData.enemies[id]; + if (!e) throw new Error(`simEncounter 적 없음: ${id}`); + return { name: e.name, maxHp: e.maxHp, intents: e.intents }; + }); + return { cards: cardsData.cards, starterDeck: cardsData.starterDeck, monsters }; } -// 손패에서 다음에 낼 카드의 인덱스 반환(-1=턴 종료). hand=카드 id 배열. -export function chooseAction(hand, cards, energy, enemyHp, enemyBlock, enemyIntent) { +// 손패에서 낼 카드 인덱스(-1=종료). 공격 우선, 없으면 스킬. +export function chooseAction(hand, cards, energy) { const entries = hand.map((id, i) => ({ id, i })).filter((x) => cards[x.id].cost <= energy); const attacks = entries.filter((x) => cards[x.id].kind === 'Attack'); const skills = entries.filter((x) => cards[x.id].kind === 'Skill'); const dmgEff = (x) => (cards[x.id].damage || 0) / cards[x.id].cost; const blkEff = (x) => (cards[x.id].block || 0) / cards[x.id].cost; const bestBy = (list, fn) => list.slice().sort((a, b) => fn(b) - fn(a))[0]; - - // 1) 치사: 에너지 한도 내 효율순 공격 데미지 합 >= 적 유효 hp? - let e = energy, lethalDmg = 0; - for (const x of attacks.slice().sort((a, b) => dmgEff(b) - dmgEff(a))) { - if (cards[x.id].cost <= e) { e -= cards[x.id].cost; lethalDmg += cards[x.id].damage || 0; } - } - if (attacks.length && lethalDmg >= enemyHp + enemyBlock) return bestBy(attacks, dmgEff).i; - - // 2) 적 공격 의도면 방어 우선 - if (enemyIntent && enemyIntent.kind === 'Attack' && skills.length) return bestBy(skills, blkEff).i; - - // 3) 공격 우선, 없으면 스킬, 없으면 종료 if (attacks.length) return bestBy(attacks, dmgEff).i; if (skills.length) return bestBy(skills, blkEff).i; return -1; } +// 공격 타겟 선택: 이번 타격으로 처치 가능한 최소 유효체력, 없으면 유효체력 최소. +export function chooseTarget(aliveMonsters, plannedDamage) { + const eff = (m) => m.hp + m.block; + const killable = aliveMonsters.filter((m) => eff(m) <= plannedDamage); + const pool = killable.length ? killable : aliveMonsters; + return pool.slice().sort((a, b) => eff(a) - eff(b))[0]; +} + function bump(s, cost, dmg, blk) { s = s || { plays: 0, energy: 0, damage: 0, block: 0 }; s.plays++; s.energy += cost; s.damage += dmg; s.block += blk; @@ -82,12 +82,15 @@ function bump(s, cost, dmg, blk) { // 단일 전투 시뮬. stats(선택): {cardId: {plays,energy,damage,block}} 누적. // 반환: { win, turns, playerHpRemaining, draw? } export function simulateCombat(data, rng, stats) { - const { cards, starterDeck, enemy } = data; + const { cards, starterDeck, monsters } = data; let drawPile = shuffle(starterDeck, rng); let discard = []; let hand = []; let pHp = PLAYER_HP, pBlock = 0; - let eHp = enemy.maxHp, eBlock = 0, intentIdx = 0; + const mob = monsters.map((m) => ({ + name: m.name, hp: m.maxHp, maxHp: m.maxHp, block: 0, + intents: m.intents, intentIdx: 0, alive: true, + })); let turns = 0; function draw(n) { @@ -97,33 +100,43 @@ export function simulateCombat(data, rng, stats) { hand.push(drawPile.pop()); } } + const aliveList = () => mob.filter((m) => m.alive); while (turns < MAX_TURNS) { turns++; let energy = ENERGY; pBlock = 0; hand = []; draw(HAND_SIZE); while (true) { - const intent = enemy.intents[intentIdx]; - const idx = chooseAction(hand, cards, energy, eHp, eBlock, intent); + const alive = aliveList(); + if (alive.length === 0) break; + const idx = chooseAction(hand, cards, energy); if (idx < 0) break; const id = hand[idx], c = cards[id]; energy -= c.cost; if (c.kind === 'Attack') { - const r = applyDamage(eHp, eBlock, c.damage || 0); eHp = r.hp; eBlock = r.block; + const target = chooseTarget(alive, c.damage || 0); + const r = applyDamage(target.hp, target.block, c.damage || 0); + target.hp = r.hp; target.block = r.block; + if (target.hp <= 0) target.alive = false; if (stats) stats[id] = bump(stats[id], c.cost, c.damage || 0, 0); } else { pBlock += c.block || 0; if (stats) stats[id] = bump(stats[id], c.cost, 0, c.block || 0); } hand.splice(idx, 1); discard.push(id); - if (eHp <= 0) return { win: true, turns, playerHpRemaining: pHp }; + if (aliveList().length === 0) return { win: true, turns, playerHpRemaining: pHp }; } discard.push(...hand); hand = []; - eBlock = 0; - const intent = enemy.intents[intentIdx]; - if (intent.kind === 'Attack') { const r = applyDamage(pHp, pBlock, intent.value); pHp = r.hp; pBlock = r.block; } - else if (intent.kind === 'Defend') { eBlock += intent.value; } - intentIdx = (intentIdx + 1) % enemy.intents.length; - if (pHp <= 0) return { win: false, turns, playerHpRemaining: 0 }; + for (const m of mob) { + if (!m.alive) continue; + m.block = 0; + const it = m.intents[m.intentIdx]; + if (it) { + if (it.kind === 'Attack') { const r = applyDamage(pHp, pBlock, it.value); pHp = r.hp; pBlock = r.block; } + else if (it.kind === 'Defend') { m.block += it.value; } + } + m.intentIdx = (m.intentIdx + 1) % m.intents.length; + if (pHp <= 0) return { win: false, turns, playerHpRemaining: 0 }; + } } return { win: false, turns, playerHpRemaining: pHp, draw: true }; } @@ -152,13 +165,13 @@ export function runBatch(N, seed) { winRate: wins / N, avgTurns: mean(turnsArr), medianTurns: median(turnsArr), avgHpOnWin: mean(hpArr), - cardStats, cards: data.cards, enemy: data.enemy, seed, + cardStats, cards: data.cards, monsters: data.monsters, seed, }; } export function formatReport(r) { const L = []; - L.push(`=== 밸런스 시뮬레이션 (적: ${r.enemy.name} HP ${r.enemy.maxHp}) ===`); + L.push(`=== 밸런스 시뮬레이션 (인카운터: ${r.monsters.map((m) => `${m.name}(${m.maxHp})`).join(', ')}) ===`); L.push(`시뮬 ${r.N}회 (seed=${r.seed})`); L.push(`승률: ${(r.winRate * 100).toFixed(1)}% (승 ${r.wins} / 패 ${r.losses}${r.draws ? ` / 무 ${r.draws}` : ''})`); L.push(`평균 턴: ${r.avgTurns.toFixed(2)} 중앙값 턴: ${r.medianTurns}`); diff --git a/tools/balance/sim-balance.test.mjs b/tools/balance/sim-balance.test.mjs index 303e63f..ed6f220 100644 --- a/tools/balance/sim-balance.test.mjs +++ b/tools/balance/sim-balance.test.mjs @@ -1,7 +1,7 @@ import { test } from 'node:test'; import assert from 'node:assert/strict'; import { - mulberry32, applyDamage, chooseAction, simulateCombat, runBatch, + mulberry32, applyDamage, chooseAction, chooseTarget, simulateCombat, runBatch, } from './sim-balance.mjs'; test('applyDamage: 방어 우선 차감 후 hp', () => { @@ -23,34 +23,46 @@ const CARDS = { Bash: { name: '강타', cost: 2, kind: 'Attack', damage: 10 }, }; -test('chooseAction: 치사 가능하면 공격 선택', () => { - const idx = chooseAction(['Strike', 'Defend'], CARDS, 3, 5, 0, { kind: 'Attack', value: 10 }); +test('chooseAction: 공격을 스킬보다 먼저 선택', () => { + const idx = chooseAction(['Defend', 'Strike'], CARDS, 3); + assert.equal(idx, 1); // Strike +}); + +test('chooseAction: 공격 없으면 스킬 선택', () => { + const idx = chooseAction(['Defend'], CARDS, 3); assert.equal(idx, 0); }); -test('chooseAction: 치사 불가 + 적 공격 의도면 방어 선택', () => { - const idx = chooseAction(['Strike', 'Defend'], CARDS, 3, 40, 0, { kind: 'Attack', value: 10 }); - assert.equal(idx, 1); -}); - -test('chooseAction: 적 방어 의도면 공격 우선', () => { - const idx = chooseAction(['Defend', 'Strike'], CARDS, 3, 40, 0, { kind: 'Defend', value: 8 }); - assert.equal(idx, 1); -}); - test('chooseAction: 사용 가능 카드 없으면 -1', () => { - const idx = chooseAction(['Bash'], CARDS, 1, 40, 0, { kind: 'Attack', value: 10 }); + const idx = chooseAction(['Bash'], CARDS, 1); assert.equal(idx, -1); }); +test('chooseTarget: 이번 타격으로 처치 가능한 최소 체력 우선', () => { + const mob = [ + { hp: 20, block: 0, alive: true }, + { hp: 5, block: 0, alive: true }, + { hp: 8, block: 0, alive: true }, + ]; + assert.equal(chooseTarget(mob, 6), mob[1]); // 5<=6 처치 가능, 최소 +}); + +test('chooseTarget: 처치 불가면 유효체력 최소 선택', () => { + const mob = [ + { hp: 20, block: 0, alive: true }, + { hp: 12, block: 5, alive: true }, + { hp: 14, block: 0, alive: true }, + ]; + assert.equal(chooseTarget(mob, 6), mob[2]); // 유효 14 < 17 < 20 +}); + const DATA = { cards: CARDS, starterDeck: ['Strike', 'Strike', 'Strike', 'Strike', 'Strike', 'Defend', 'Defend', 'Defend', 'Defend', 'Bash'], - enemy: { - name: '슬라임', maxHp: 45, intents: [ - { kind: 'Attack', value: 10 }, { kind: 'Attack', value: 6 }, { kind: 'Defend', value: 8 }, - ], - }, + monsters: [ + { name: '주황버섯', maxHp: 16, intents: [{ kind: 'Attack', value: 5 }, { kind: 'Defend', value: 4 }] }, + { name: '파란버섯', maxHp: 12, intents: [{ kind: 'Attack', value: 8 }] }, + ], }; test('simulateCombat: 결정적 결과(동일 시드)', () => { @@ -61,12 +73,23 @@ test('simulateCombat: 결정적 결과(동일 시드)', () => { assert.ok(r1.turns >= 1); }); -test('simulateCombat: 약한 적이면 대체로 승리', () => { +test('simulateCombat: 모든 몬스터 처치 시 승리', () => { let wins = 0; for (let i = 0; i < 50; i++) if (simulateCombat(DATA, mulberry32(i + 1)).win) wins++; assert.ok(wins >= 40, `예상 승리 다수, 실제 ${wins}/50`); }); +test('simulateCombat: 강한 다수 적이면 패배 가능', () => { + const hard = { + cards: CARDS, + starterDeck: DATA.starterDeck, + monsters: Array.from({ length: 4 }, () => ({ name: '슬라임', maxHp: 60, intents: [{ kind: 'Attack', value: 12 }] })), + }; + let losses = 0; + for (let i = 0; i < 30; i++) if (!simulateCombat(hard, mulberry32(i + 1)).win) losses++; + assert.ok(losses >= 1, `강한 적엔 패배가 나와야 함, 실제 패 ${losses}/30`); +}); + test('runBatch: 집계 필드·승률 범위', () => { const r = runBatch(100, 1); assert.equal(r.N, 100); From de238294391d0fbf695373891dee607131715fa2 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 00:57:53 +0900 Subject: [PATCH 05/15] =?UTF-8?q?fix(sim):=20=EB=B9=88=20=EC=9D=B8?= =?UTF-8?q?=EC=B9=B4=EC=9A=B4=ED=84=B0=20=EC=A6=89=EC=8B=9C=20=EC=8A=B9?= =?UTF-8?q?=EB=A6=AC=C2=B7=ED=83=80=EA=B2=9F=20=ED=83=80=EC=9D=B4=EB=B8=8C?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=ED=81=AC=20=EA=B2=B0=EC=A0=95=EC=84=B1=C2=B7?= =?UTF-8?q?=EC=A3=BC=EC=84=9D=C2=B7draw/empty=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/balance/sim-balance.mjs | 7 +++++-- tools/balance/sim-balance.test.mjs | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/tools/balance/sim-balance.mjs b/tools/balance/sim-balance.mjs index 69a2573..b5a244f 100644 --- a/tools/balance/sim-balance.mjs +++ b/tools/balance/sim-balance.mjs @@ -52,6 +52,8 @@ export function loadData() { return { cards: cardsData.cards, starterDeck: cardsData.starterDeck, monsters }; } +// 주의: 인게임은 플레이어가 카드를 직접 선택한다. 이 chooseAction은 밸런스 추정용 자동 플레이 휴리스틱일 뿐 +// 이며, Lua에 대응 AI가 없다(동기화 대상은 데미지/방어/의도/승패 규칙이지 플레이어 선택이 아님). // 손패에서 낼 카드 인덱스(-1=종료). 공격 우선, 없으면 스킬. export function chooseAction(hand, cards, energy) { const entries = hand.map((id, i) => ({ id, i })).filter((x) => cards[x.id].cost <= energy); @@ -70,7 +72,7 @@ export function chooseTarget(aliveMonsters, plannedDamage) { const eff = (m) => m.hp + m.block; const killable = aliveMonsters.filter((m) => eff(m) <= plannedDamage); const pool = killable.length ? killable : aliveMonsters; - return pool.slice().sort((a, b) => eff(a) - eff(b))[0]; + return pool.slice().sort((a, b) => eff(a) - eff(b) || pool.indexOf(a) - pool.indexOf(b))[0]; } function bump(s, cost, dmg, blk) { @@ -83,6 +85,7 @@ function bump(s, cost, dmg, blk) { // 반환: { win, turns, playerHpRemaining, draw? } export function simulateCombat(data, rng, stats) { const { cards, starterDeck, monsters } = data; + if (monsters.length === 0) return { win: true, turns: 0, playerHpRemaining: PLAYER_HP }; let drawPile = shuffle(starterDeck, rng); let discard = []; let hand = []; @@ -128,7 +131,7 @@ export function simulateCombat(data, rng, stats) { discard.push(...hand); hand = []; for (const m of mob) { if (!m.alive) continue; - m.block = 0; + m.block = 0; // 매 턴 초기화 (이전 턴 블록 미이월) const it = m.intents[m.intentIdx]; if (it) { if (it.kind === 'Attack') { const r = applyDamage(pHp, pBlock, it.value); pHp = r.hp; pBlock = r.block; } diff --git a/tools/balance/sim-balance.test.mjs b/tools/balance/sim-balance.test.mjs index ed6f220..1866805 100644 --- a/tools/balance/sim-balance.test.mjs +++ b/tools/balance/sim-balance.test.mjs @@ -90,6 +90,23 @@ test('simulateCombat: 강한 다수 적이면 패배 가능', () => { assert.ok(losses >= 1, `강한 적엔 패배가 나와야 함, 실제 패 ${losses}/30`); }); +test('simulateCombat: 턴 상한 초과 시 draw 반환', () => { + const immortal = { + cards: { Defend: { name: '방어', cost: 1, kind: 'Skill', block: 5 } }, + starterDeck: Array(10).fill('Defend'), + monsters: [{ name: '불사', maxHp: 9999, intents: [{ kind: 'Attack', value: 1 }] }], + }; + const r = simulateCombat(immortal, mulberry32(1)); + assert.equal(r.draw, true); + assert.equal(r.win, false); +}); + +test('simulateCombat: 몬스터 없으면 즉시 승리', () => { + const r = simulateCombat({ cards: {}, starterDeck: [], monsters: [] }, mulberry32(1)); + assert.equal(r.win, true); + assert.equal(r.turns, 0); +}); + test('runBatch: 집계 필드·승률 범위', () => { const r = runBatch(100, 1); assert.equal(r.N, 100); From 185e0f3a94cbf8d3a0cca98910aa121603953d5e Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:00:23 +0900 Subject: [PATCH 06/15] =?UTF-8?q?feat(monster):=20CombatMonster=20?= =?UTF-8?q?=EB=A7=88=EC=BB=A4(EnemyId=C2=B7=EC=9E=90=EA=B8=B0=EB=93=B1?= =?UTF-8?q?=EB=A1=9D)=20+=2011=EB=A7=B5=20=EB=AA=AC=EC=8A=A4=ED=84=B0=20?= =?UTF-8?q?=ED=8C=A8=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RootDesk/MyDesk/CombatMonster.codeblock | 67 +++++++++++++++++++++++ map/map01.map | 21 ++++++-- map/map02.map | 14 ++++- map/map03.map | 14 ++++- map/map04.map | 14 ++++- map/map05.map | 14 ++++- map/map06.map | 14 ++++- map/map07.map | 14 ++++- map/map08.map | 14 ++++- map/map09.map | 14 ++++- map/map10.map | 14 ++++- map/map11.map | 14 ++++- tools/monster/gen-combat-monster.mjs | 72 +++++++++++++++++++++++++ 13 files changed, 277 insertions(+), 23 deletions(-) create mode 100644 RootDesk/MyDesk/CombatMonster.codeblock create mode 100644 tools/monster/gen-combat-monster.mjs diff --git a/RootDesk/MyDesk/CombatMonster.codeblock b/RootDesk/MyDesk/CombatMonster.codeblock new file mode 100644 index 0000000..5417df0 --- /dev/null +++ b/RootDesk/MyDesk/CombatMonster.codeblock @@ -0,0 +1,67 @@ +{ + "Id": "", + "GameId": "", + "EntryKey": "codeblock://combatmonster", + "ContentType": "x-mod/codeblock", + "Content": "", + "Usage": 0, + "UsePublish": 1, + "UseService": 0, + "CoreVersion": "26.5.0.0", + "StudioVersion": "", + "DynamicLoading": 0, + "ContentProto": { + "Use": "Json", + "Json": { + "CoreVersion": { + "Major": 0, + "Minor": 2 + }, + "ScriptVersion": { + "Major": 1, + "Minor": 0 + }, + "Description": "", + "Id": "CombatMonster", + "Language": 1, + "Name": "CombatMonster", + "Type": 1, + "Source": 0, + "Target": null, + "Properties": [ + { + "Type": "string", + "DefaultValue": "\"\"", + "SyncDirection": 0, + "Attributes": [], + "Name": "EnemyId" + }, + { + "Type": "number", + "DefaultValue": "0", + "SyncDirection": 0, + "Attributes": [], + "Name": "RegTries" + } + ], + "Methods": [ + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "self.RegTries = 0\nlocal eventId = 0\nlocal function reg()\n\tself.RegTries = self.RegTries + 1\n\tlocal c = _EntityService:GetEntityByPath(\"/common\")\n\tif c ~= nil and c.SlayDeckController ~= nil then\n\t\tc.SlayDeckController:RegisterMonster(self.Entity, self.EnemyId)\n\t\t_TimerService:ClearTimer(eventId)\n\telseif self.RegTries > 50 then\n\t\t_TimerService:ClearTimer(eventId)\n\tend\nend\neventId = _TimerService:SetTimerRepeat(reg, 0.1)", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "OnBeginPlay" + } + ], + "EntityEventHandlers": [] + } + } +} \ No newline at end of file diff --git a/map/map01.map b/map/map01.map index 4de76fe..9b33943 100644 --- a/map/map01.map +++ b/map/map01.map @@ -6366,7 +6366,7 @@ { "id": "595374e9-e49a-4733-b00f-77e8e61dad59", "path": "/maps/map01/주황버섯", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.DamageSkinSettingComponent", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.DamageSkinSettingComponent,script.CombatMonster", "jsonString": { "name": "주황버섯", "path": "/maps/map01/주황버섯", @@ -6506,6 +6506,11 @@ "DataId": "02c22d93421b4038b3c413b3e40b57ec" }, "Enable": true + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "b1923aa6-7265-4f99-9ab6-1c45eae9af23", "path": "/maps/map01/돼지", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,script.CombatMonster", "jsonString": { "name": "돼지", "path": "/maps/map01/돼지", @@ -6642,6 +6647,11 @@ "y": 0 }, "Enable": true + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6650,7 +6660,7 @@ { "id": "566e94be-0efe-4536-9007-882dde030a95", "path": "/maps/map01/초록버섯", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,script.CombatMonster", "jsonString": { "name": "초록버섯", "path": "/maps/map01/초록버섯", @@ -6778,6 +6788,11 @@ "y": 0 }, "Enable": true + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map02.map b/map/map02.map index 89fc591..4c953a5 100644 --- a/map/map02.map +++ b/map/map02.map @@ -6366,7 +6366,7 @@ { "id": "000007d5-0000-4000-8000-0000000007d5", "path": "/maps/map02/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map02/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "000007d6-0000-4000-8000-0000000007d6", "path": "/maps/map02/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map02/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map03.map b/map/map03.map index 7d73c7c..19f7458 100644 --- a/map/map03.map +++ b/map/map03.map @@ -6366,7 +6366,7 @@ { "id": "00000bbd-0000-4000-8000-000000000bbd", "path": "/maps/map03/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map03/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "00000bbe-0000-4000-8000-000000000bbe", "path": "/maps/map03/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map03/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map04.map b/map/map04.map index 4cf8e53..fb6147b 100644 --- a/map/map04.map +++ b/map/map04.map @@ -6366,7 +6366,7 @@ { "id": "00000fa5-0000-4000-8000-000000000fa5", "path": "/maps/map04/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map04/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "00000fa6-0000-4000-8000-000000000fa6", "path": "/maps/map04/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map04/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map05.map b/map/map05.map index 4247565..861f25f 100644 --- a/map/map05.map +++ b/map/map05.map @@ -6366,7 +6366,7 @@ { "id": "0000138d-0000-4000-8000-00000000138d", "path": "/maps/map05/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map05/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "0000138e-0000-4000-8000-00000000138e", "path": "/maps/map05/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map05/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map06.map b/map/map06.map index 366064d..fb9adf2 100644 --- a/map/map06.map +++ b/map/map06.map @@ -6366,7 +6366,7 @@ { "id": "00001775-0000-4000-8000-000000001775", "path": "/maps/map06/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map06/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "00001776-0000-4000-8000-000000001776", "path": "/maps/map06/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map06/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map07.map b/map/map07.map index c8195e3..ff78649 100644 --- a/map/map07.map +++ b/map/map07.map @@ -6366,7 +6366,7 @@ { "id": "00001b5d-0000-4000-8000-000000001b5d", "path": "/maps/map07/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map07/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "00001b5e-0000-4000-8000-000000001b5e", "path": "/maps/map07/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map07/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map08.map b/map/map08.map index e4aa64c..50e9fe2 100644 --- a/map/map08.map +++ b/map/map08.map @@ -6366,7 +6366,7 @@ { "id": "00001f45-0000-4000-8000-000000001f45", "path": "/maps/map08/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map08/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "00001f46-0000-4000-8000-000000001f46", "path": "/maps/map08/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map08/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map09.map b/map/map09.map index 73400fc..bfbbe7c 100644 --- a/map/map09.map +++ b/map/map09.map @@ -6366,7 +6366,7 @@ { "id": "0000232d-0000-4000-8000-00000000232d", "path": "/maps/map09/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map09/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "0000232e-0000-4000-8000-00000000232e", "path": "/maps/map09/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map09/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map10.map b/map/map10.map index 2db56b2..a396993 100644 --- a/map/map10.map +++ b/map/map10.map @@ -6366,7 +6366,7 @@ { "id": "00002716-0000-4000-8000-000000002716", "path": "/maps/map10/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map10/Monster2", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "00002715-0000-4000-8000-000000002715", "path": "/maps/map10/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map10/Monster1", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/map/map11.map b/map/map11.map index fb34ae1..6753e25 100644 --- a/map/map11.map +++ b/map/map11.map @@ -6366,7 +6366,7 @@ { "id": "00002afd-0000-4000-8000-000000002afd", "path": "/maps/map11/Monster1", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster1", "path": "/maps/map11/Monster1", @@ -6506,6 +6506,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 @@ -6514,7 +6519,7 @@ { "id": "00002afe-0000-4000-8000-000000002afe", "path": "/maps/map11/Monster2", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.DamageSkinSettingComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,MOD.Core.StateComponent,MOD.Core.RigidbodyComponent,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.MovementComponent,script.Monster,script.MonsterAttack,script.CombatMonster", "jsonString": { "name": "Monster2", "path": "/maps/map11/Monster2", @@ -6654,6 +6659,11 @@ "x": 0, "y": 0 } + }, + { + "@type": "script.CombatMonster", + "Enable": true, + "EnemyId": "orange_mushroom" } ], "@version": 1 diff --git a/tools/monster/gen-combat-monster.mjs b/tools/monster/gen-combat-monster.mjs new file mode 100644 index 0000000..ecbbe4e --- /dev/null +++ b/tools/monster/gen-combat-monster.mjs @@ -0,0 +1,72 @@ +import { readFileSync, writeFileSync } from 'node:fs'; + +// 맵 몬스터에 적 타입(EnemyId)을 부여하고, BeginPlay 시 /common 컨트롤러에 자기등록하는 마커. +// 카드 전투 시 컨트롤러가 등록 목록으로 인카운터를 구성한다. +const MAP_NUMBERS = Array.from({ length: 11 }, (_, i) => i + 1); // map01~11 +const NAME_TO_ENEMY = { '주황버섯': 'orange_mushroom', '파란버섯': 'blue_mushroom' }; +const DEFAULT_ENEMY = 'orange_mushroom'; + +function prop(Type, Name, DefaultValue = 'nil') { + return { Type, DefaultValue, SyncDirection: 0, Attributes: [], Name }; +} +function method(Name, Code, Arguments = [], ExecSpace = 6) { + return { + Return: { Type: 'void', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: null }, + Arguments, Code, Scope: 2, ExecSpace, Attributes: [], Name, + }; +} + +function writeCodeblock() { + const cb = { + Id: '', GameId: '', EntryKey: 'codeblock://combatmonster', ContentType: 'x-mod/codeblock', + Content: '', Usage: 0, UsePublish: 1, UseService: 0, CoreVersion: '26.5.0.0', StudioVersion: '', DynamicLoading: 0, + ContentProto: { Use: 'Json', Json: { + CoreVersion: { Major: 0, Minor: 2 }, ScriptVersion: { Major: 1, Minor: 0 }, + Description: '', Id: 'CombatMonster', Language: 1, Name: 'CombatMonster', Type: 1, Source: 0, Target: null, + Properties: [prop('string', 'EnemyId', '""'), prop('number', 'RegTries', '0')], + Methods: [ + method('OnBeginPlay', `self.RegTries = 0 +local eventId = 0 +local function reg() + self.RegTries = self.RegTries + 1 + local c = _EntityService:GetEntityByPath("/common") + if c ~= nil and c.SlayDeckController ~= nil then + c.SlayDeckController:RegisterMonster(self.Entity, self.EnemyId) + _TimerService:ClearTimer(eventId) + elseif self.RegTries > 50 then + _TimerService:ClearTimer(eventId) + end +end +eventId = _TimerService:SetTimerRepeat(reg, 0.1)`), + ], + EntityEventHandlers: [], + } }, + }; + writeFileSync('RootDesk/MyDesk/CombatMonster.codeblock', JSON.stringify(cb, null, 2), 'utf8'); +} + +const isMonster = (e) => (e.componentNames || '').includes('script.Monster'); + +function patchMap(nn) { + const tag = String(nn).padStart(2, '0'); + const file = `map/map${tag}.map`; + const map = JSON.parse(readFileSync(file, 'utf8')); + let count = 0; + for (const e of map.ContentProto.Entities.filter(isMonster)) { + const name = (e.jsonString && e.jsonString.name) || ''; + const enemyId = NAME_TO_ENEMY[name] || DEFAULT_ENEMY; + const comps = e.jsonString['@components']; + e.jsonString['@components'] = comps.filter((c) => c['@type'] !== 'script.CombatMonster'); + e.jsonString['@components'].push({ '@type': 'script.CombatMonster', Enable: true, EnemyId: enemyId }); + const names = (e.componentNames || '').split(',').filter((s) => s && s !== 'script.CombatMonster'); + names.push('script.CombatMonster'); + e.componentNames = names.join(','); + count++; + } + writeFileSync(file, JSON.stringify(map, null, 2), 'utf8'); + return `map${tag}(${count})`; +} + +writeCodeblock(); +const patched = MAP_NUMBERS.map(patchMap); +console.log('CombatMonster codeblock written; patched maps:', patched.join(', ')); From 9eef5eb66e92f9f6b920573028b28c3c066a9156 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:06:11 +0900 Subject: [PATCH 07/15] =?UTF-8?q?fix(monster):=20gen-combat-monster=20?= =?UTF-8?q?=EB=B0=A9=EC=96=B4=EC=A0=81=20=EA=B0=80=EB=93=9C(componentNames?= =?UTF-8?q?/@components)=20+=20=EC=BD=94=EB=93=9C=EB=B8=94=EB=A1=9D=20trai?= =?UTF-8?q?ling=20newline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- RootDesk/MyDesk/CombatMonster.codeblock | 2 +- tools/monster/gen-combat-monster.mjs | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/RootDesk/MyDesk/CombatMonster.codeblock b/RootDesk/MyDesk/CombatMonster.codeblock index 5417df0..1989060 100644 --- a/RootDesk/MyDesk/CombatMonster.codeblock +++ b/RootDesk/MyDesk/CombatMonster.codeblock @@ -64,4 +64,4 @@ "EntityEventHandlers": [] } } -} \ No newline at end of file +} diff --git a/tools/monster/gen-combat-monster.mjs b/tools/monster/gen-combat-monster.mjs index ecbbe4e..16b33dc 100644 --- a/tools/monster/gen-combat-monster.mjs +++ b/tools/monster/gen-combat-monster.mjs @@ -42,10 +42,10 @@ eventId = _TimerService:SetTimerRepeat(reg, 0.1)`), EntityEventHandlers: [], } }, }; - writeFileSync('RootDesk/MyDesk/CombatMonster.codeblock', JSON.stringify(cb, null, 2), 'utf8'); + writeFileSync('RootDesk/MyDesk/CombatMonster.codeblock', JSON.stringify(cb, null, 2) + '\n', 'utf8'); } -const isMonster = (e) => (e.componentNames || '').includes('script.Monster'); +const isMonster = (e) => typeof e.componentNames === 'string' && e.componentNames.includes('script.Monster'); function patchMap(nn) { const tag = String(nn).padStart(2, '0'); @@ -53,9 +53,13 @@ function patchMap(nn) { const map = JSON.parse(readFileSync(file, 'utf8')); let count = 0; for (const e of map.ContentProto.Entities.filter(isMonster)) { + const comps = e.jsonString && e.jsonString['@components']; + if (!Array.isArray(comps)) { + console.warn(`[gen-combat-monster] entity "${(e.jsonString && e.jsonString.name) || e.path}" has no @components — skipped`); + continue; + } const name = (e.jsonString && e.jsonString.name) || ''; const enemyId = NAME_TO_ENEMY[name] || DEFAULT_ENEMY; - const comps = e.jsonString['@components']; e.jsonString['@components'] = comps.filter((c) => c['@type'] !== 'script.CombatMonster'); e.jsonString['@components'].push({ '@type': 'script.CombatMonster', Enable: true, EnemyId: enemyId }); const names = (e.componentNames || '').split(',').filter((s) => s && s !== 'script.CombatMonster'); From 020be477e6556904e9b2cb6603db112829831037 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:09:27 +0900 Subject: [PATCH 08/15] =?UTF-8?q?feat(combat):=20=EC=BB=A8=ED=8A=B8?= =?UTF-8?q?=EB=A1=A4=EB=9F=AC=20=EB=A9=80=ED=8B=B0=20=EB=AA=AC=EC=8A=A4?= =?UTF-8?q?=ED=84=B0=20=EC=83=81=ED=83=9C=20+=20=EB=93=B1=EB=A1=9D/BuildMo?= =?UTF-8?q?nsters/=EB=B6=80=ED=99=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- tools/deck/gen-slaydeck.mjs | 73 ++++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 17 deletions(-) diff --git a/tools/deck/gen-slaydeck.mjs b/tools/deck/gen-slaydeck.mjs index faafd00..89ca538 100644 --- a/tools/deck/gen-slaydeck.mjs +++ b/tools/deck/gen-slaydeck.mjs @@ -27,6 +27,7 @@ for (const [id, n] of Object.entries(MAP.nodes)) { const MAX_ROW = Math.max(...Object.values(MAP.nodes).map((n) => n.row)); const RELICS = JSON.parse(readFileSync('data/relics.json', 'utf8')); +const SLOTS = JSON.parse(readFileSync('data/monster-slots.json', 'utf8')); if (!RELICS.relics[RELICS.startingRelic]) throw new Error(`[gen-slaydeck] startingRelic 없음: ${RELICS.startingRelic}`); for (const id of RELICS.relicPool) { if (!RELICS.relics[id]) throw new Error(`[gen-slaydeck] relicPool에 없는 유물 id: ${id}`); @@ -93,6 +94,8 @@ const ATTACK = { r: 0.86, g: 0.42, b: 0.38, a: 1 }; const DEFEND = { r: 0.42, g: 0.55, b: 0.85, a: 1 }; const SKILL = { r: 0.46, g: 0.68, b: 0.52, a: 1 }; +const MAX_MONSTERS = 4; + const CARD_W = 180; const CARD_H = 250; const CARD_SPACING = 200; @@ -1019,13 +1022,11 @@ function writeCodeblocks() { prop('number', 'PlayerHp', '0'), prop('number', 'PlayerMaxHp', '80'), prop('number', 'PlayerBlock', '0'), - prop('number', 'EnemyHp', '0'), - prop('number', 'EnemyMaxHp', String(ACTIVE_ENEMY.maxHp)), - prop('number', 'EnemyBlock', '0'), - prop('number', 'EnemyIntentIndex', '1'), prop('boolean', 'CombatOver', 'false'), - prop('any', 'EnemyIntents'), - prop('any', 'EnemyName'), + prop('any', 'Monsters'), + prop('any', 'Registered'), + prop('number', 'TargetIndex', '1'), + prop('any', 'SlotPos'), prop('any', 'RunDeck'), prop('number', 'Gold', '0'), prop('number', 'Floor', '0'), @@ -1079,6 +1080,7 @@ self.RelicPool = { ${RELICS.relicPool.map(luaStr).join(', ')} } ${luaEnemiesTable(ENEMIES.enemies)} ${luaMapNodesTable(MAP.nodes)} ${luaStartArray(MAP.start)} +self.SlotPos = { ${SLOTS.map((s) => `{ x = ${s.x}, y = ${s.y} }`).join(', ')} } self.CurrentNodeId = "" self.CurrentEnemyId = "" self:BindButtons() @@ -1086,18 +1088,7 @@ self:AddRelic("${RELICS.startingRelic}") self:ShowMap()`), method('StartCombat', `self.MaxEnergy = 3 self.Turn = 0 -local enemy = self.Enemies[self.CurrentEnemyId] -local mult = 1 + (self.Floor - 1) * 0.6 self.PlayerBlock = 0 -self.EnemyName = enemy.name -self.EnemyMaxHp = math.floor(enemy.maxHp * mult) -self.EnemyHp = self.EnemyMaxHp -self.EnemyBlock = 0 -self.EnemyIntents = {} -for i = 1, #enemy.intents do - self.EnemyIntents[i] = { kind = enemy.intents[i].kind, value = math.floor(enemy.intents[i].value * mult) } -end -self.EnemyIntentIndex = 1 self.CombatOver = false self.DiscardPile = {} self.Hand = {} @@ -1107,10 +1098,58 @@ for i = 1, #self.RunDeck do self.DrawPile[i] = self.RunDeck[i] end self:Shuffle(self.DrawPile) +self:BuildMonsters() self:RenderCombat() self:StartPlayerTurn() self:ApplyRelics("combatStart") self:RenderCombat()`), + method('RegisterMonster', `if self.Registered == nil then + self.Registered = {} +end +table.insert(self.Registered, { entity = monster, enemyId = enemyId })`, [ + { Type: 'any', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'monster' }, + { Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'enemyId' }, + ]), + method('BuildMonsters', `self.Monsters = {} +local reg = self.Registered or {} +local list = {} +for i = 1, #reg do + local r = reg[i] + if r.entity ~= nil and isvalid(r.entity) then + local x = 0 + if r.entity.TransformComponent ~= nil then + x = r.entity.TransformComponent.WorldPosition.x + end + table.insert(list, { entity = r.entity, enemyId = r.enemyId, x = x }) + end +end +table.sort(list, function(a, b) return a.x < b.x end) +local mult = 1 + (self.Floor - 1) * 0.6 +local n = #list +if n > ${MAX_MONSTERS} then n = ${MAX_MONSTERS} end +for i = 1, n do + local item = list[i] + local e = self.Enemies[item.enemyId] + if e == nil then e = { name = item.enemyId, maxHp = 10, intents = { { kind = "Attack", value = 5 } } } end + local intents = {} + for k = 1, #e.intents do + intents[k] = { kind = e.intents[k].kind, value = math.floor(e.intents[k].value * mult) } + end + local maxHp = math.floor(e.maxHp * mult) + self.Monsters[i] = { entity = item.entity, enemyId = item.enemyId, name = e.name, + hp = maxHp, maxHp = maxHp, block = 0, intents = intents, intentIdx = 1, alive = true, slot = i } + self:ReviveMonsterEntity(item.entity) + self:PositionMonsterSlot(i) +end +self.TargetIndex = 1`), + method('ReviveMonsterEntity', `if monster == nil or not isvalid(monster) then + 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' }]), method('Shuffle', `if list == nil then \treturn end From ec45438b3c18dd0bed53b6cb28c52ad69e482b56 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:13:33 +0900 Subject: [PATCH 09/15] =?UTF-8?q?feat(combat):=20PlayCard=20=ED=83=80?= =?UTF-8?q?=EA=B2=9F=20=EB=AA=AC=EC=8A=A4=ED=84=B0=20=EA=B3=B5=EA=B2=A9=20?= =?UTF-8?q?+=20=EC=82=AC=EB=A7=9D=20=EC=B2=98=EB=A6=AC/=EC=97=B0=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- tools/deck/gen-slaydeck.mjs | 43 ++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/tools/deck/gen-slaydeck.mjs b/tools/deck/gen-slaydeck.mjs index 89ca538..b0a5bcd 100644 --- a/tools/deck/gen-slaydeck.mjs +++ b/tools/deck/gen-slaydeck.mjs @@ -1339,7 +1339,7 @@ end self.Energy = self.Energy - c.cost if c.kind == "Attack" then if c.damage ~= nil then - self:DealDamageToEnemy(c.damage) + self:DealDamageToTarget(c.damage) end self:ApplyRelics("cardPlayed") elseif c.kind == "Skill" then @@ -1354,16 +1354,43 @@ self:RenderPiles() self:RenderCombat() self:CheckCombatEnd()`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'slot' }]), method('Toast', `log(message)`, [{ Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'message' }]), - method('DealDamageToEnemy', `local dmg = amount -if self.EnemyBlock > 0 then - local absorbed = math.min(self.EnemyBlock, dmg) - self.EnemyBlock = self.EnemyBlock - absorbed + method('DealDamageToTarget', `local m = self.Monsters[self.TargetIndex] +if m == nil or m.alive ~= true then + m = nil + for i = 1, #self.Monsters do + if self.Monsters[i].alive == true then m = self.Monsters[i]; self.TargetIndex = i; break end + end +end +if m == nil then + return +end +local dmg = amount +if m.block > 0 then + local absorbed = math.min(m.block, dmg) + m.block = m.block - absorbed dmg = dmg - absorbed end -self.EnemyHp = self.EnemyHp - dmg -if self.EnemyHp < 0 then - self.EnemyHp = 0 +m.hp = m.hp - dmg +if m.hp <= 0 then + m.hp = 0 + self:KillMonster(m.slot) end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'amount' }]), + method('KillMonster', `local m = self.Monsters[slot] +if m == nil then + return +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) +end +self:SetEntityEnabled("/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(slot), false) +for i = 1, #self.Monsters do + if self.Monsters[i].alive == true then self.TargetIndex = i; break end +end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'slot' }]), method('DealDamageToPlayer', `local dmg = amount if self.PlayerBlock > 0 then local absorbed = math.min(self.PlayerBlock, dmg) From 423407325d5dec02700e773b1c832f56c92cfe46 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:15:12 +0900 Subject: [PATCH 10/15] =?UTF-8?q?feat(combat):=20EnemyTurn=20=EC=83=9D?= =?UTF-8?q?=EC=A1=B4=20=EB=AA=AC=EC=8A=A4=ED=84=B0=20=EA=B0=81=EC=9E=90=20?= =?UTF-8?q?=ED=96=89=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/deck/gen-slaydeck.mjs | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tools/deck/gen-slaydeck.mjs b/tools/deck/gen-slaydeck.mjs index b0a5bcd..8aeb738 100644 --- a/tools/deck/gen-slaydeck.mjs +++ b/tools/deck/gen-slaydeck.mjs @@ -1401,19 +1401,24 @@ self.PlayerHp = self.PlayerHp - dmg if self.PlayerHp < 0 then self.PlayerHp = 0 end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'amount' }]), - method('EnemyTurn', `self.EnemyBlock = 0 -local intent = self.EnemyIntents[self.EnemyIntentIndex] -if intent ~= nil then - if intent.kind == "Attack" then - self:DealDamageToPlayer(intent.value) - elseif intent.kind == "Defend" then - self.EnemyBlock = self.EnemyBlock + intent.value + method('EnemyTurn', `for i = 1, #self.Monsters do + local m = self.Monsters[i] + if m.alive == true then + m.block = 0 + local intent = m.intents[m.intentIdx] + if intent ~= nil then + if intent.kind == "Attack" then + self:DealDamageToPlayer(intent.value) + elseif intent.kind == "Defend" then + m.block = m.block + intent.value + end + end + m.intentIdx = m.intentIdx + 1 + if m.intentIdx > #m.intents then + m.intentIdx = 1 + end end end -self.EnemyIntentIndex = self.EnemyIntentIndex + 1 -if self.EnemyIntentIndex > #self.EnemyIntents then - self.EnemyIntentIndex = 1 -end self:RenderCombat()`), method('CheckCombatEnd', `if self.EnemyHp <= 0 then self.CombatOver = true From a5c7d96770b26be600f0ced8fd1733a8b3887e39 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:17:32 +0900 Subject: [PATCH 11/15] =?UTF-8?q?feat(combat):=20=EC=8A=B9=EB=A6=AC?= =?UTF-8?q?=EC=A1=B0=EA=B1=B4(=EC=A0=84=EC=B2=B4=20=EC=B2=98=EC=B9=98)?= =?UTF-8?q?=C2=B7=EB=AA=AC=EC=8A=A4=ED=84=B0=20=EC=8A=AC=EB=A1=AF=20?= =?UTF-8?q?=EB=A0=8C=EB=8D=94=C2=B7HP=EB=B0=94=C2=B7=ED=83=80=EA=B2=9F=20?= =?UTF-8?q?=ED=81=B4=EB=A6=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- tools/deck/gen-slaydeck.mjs | 66 ++++++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 12 deletions(-) diff --git a/tools/deck/gen-slaydeck.mjs b/tools/deck/gen-slaydeck.mjs index 8aeb738..a5ed3f1 100644 --- a/tools/deck/gen-slaydeck.mjs +++ b/tools/deck/gen-slaydeck.mjs @@ -1206,6 +1206,12 @@ end local restLeave = _EntityService:GetEntityByPath("/ui/DefaultGroup/RestHud/Leave") if restLeave ~= nil and restLeave.ButtonComponent ~= nil then restLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end) +end +for i = 1, ${MAX_MONSTERS} do + local ms = _EntityService:GetEntityByPath("/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(i)) + if ms ~= nil and ms.ButtonComponent ~= nil then + ms:ConnectEvent(ButtonClickEvent, function() self:SetTarget(i) end) + end end`), method('StartPlayerTurn', `self.Turn = self.Turn + 1 self.Energy = self.MaxEnergy @@ -1420,7 +1426,11 @@ end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], N end end self:RenderCombat()`), - method('CheckCombatEnd', `if self.EnemyHp <= 0 then + method('CheckCombatEnd', `local anyAlive = false +for i = 1, #self.Monsters do + if self.Monsters[i].alive == true then anyAlive = true; break end +end +if anyAlive == false then self.CombatOver = true self.Gold = self.Gold + ${GOLD_PER_WIN} self:ApplyRelics("combatReward") @@ -1453,22 +1463,54 @@ local entity = _EntityService:GetEntityByPath("/ui/DefaultGroup/CombatHud/Result if entity ~= nil then entity.Enable = true end`, [{ Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'text' }]), - method('RenderCombat', `self:SetText("/ui/DefaultGroup/CombatHud/EnemyName", self.EnemyName) -self:SetText("/ui/DefaultGroup/CombatHud/EnemyHp", "HP " .. string.format("%d", self.EnemyHp) .. "/" .. string.format("%d", self.EnemyMaxHp)) -self:SetText("/ui/DefaultGroup/CombatHud/EnemyBlock", "방어 " .. string.format("%d", self.EnemyBlock)) -local intent = self.EnemyIntents[self.EnemyIntentIndex] -local intentText = "" -if intent ~= nil then - if intent.kind == "Attack" then - intentText = "의도: 공격 " .. tostring(intent.value) - elseif intent.kind == "Defend" then - intentText = "의도: 방어 " .. tostring(intent.value) + method('RenderCombat', `for i = 1, ${MAX_MONSTERS} do + local base = "/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(i) + local m = self.Monsters[i] + if m ~= nil and m.alive == true then + self:SetEntityEnabled(base, true) + self:SetText(base .. "/Name", m.name) + self:SetText(base .. "/Hp", string.format("%d", m.hp) .. "/" .. string.format("%d", m.maxHp)) + local intent = m.intents[m.intentIdx] + local t = "" + if intent ~= nil then + if intent.kind == "Attack" then t = "공격 " .. tostring(intent.value) + elseif intent.kind == "Defend" then t = "방어 " .. tostring(intent.value) end + end + if i == self.TargetIndex then t = "[타겟] " .. t end + self:SetText(base .. "/Intent", t) + self:SetHpBar(base .. "/HpBarFill", m.hp, m.maxHp) + else + self:SetEntityEnabled(base, false) end end -self:SetText("/ui/DefaultGroup/CombatHud/EnemyIntent", intentText) self:SetText("/ui/DefaultGroup/CombatHud/PlayerHp", "HP " .. string.format("%d", self.PlayerHp) .. "/" .. string.format("%d", self.PlayerMaxHp)) self:SetText("/ui/DefaultGroup/CombatHud/PlayerBlock", "방어 " .. string.format("%d", self.PlayerBlock)) self:RenderRun()`), + method('SetHpBar', `local e = _EntityService:GetEntityByPath(path) +if e == nil or e.UITransformComponent == nil then + return +end +local ratio = 0 +if maxHp > 0 then ratio = hp / maxHp end +if ratio < 0 then ratio = 0 end +local w = 120 * ratio +e.UITransformComponent.RectSize = Vector2(w, 14)`, [ + { Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'path' }, + { Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'hp' }, + { Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'maxHp' }, + ]), + method('PositionMonsterSlot', `local sp = self.SlotPos +if sp == nil or sp[slot] == nil then + return +end +local e = _EntityService:GetEntityByPath("/ui/DefaultGroup/CombatHud/MonsterSlot" .. tostring(slot)) +if e ~= nil and e.UITransformComponent ~= nil then + e.UITransformComponent.anchoredPosition = Vector2(sp[slot].x, sp[slot].y) +end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'slot' }]), + method('SetTarget', `if self.Monsters[slot] ~= nil and self.Monsters[slot].alive == true then + self.TargetIndex = slot + self:RenderCombat() +end`, [{ Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'slot' }]), method('RenderRun', `self:SetText("/ui/DefaultGroup/CombatHud/Floor", "막 " .. string.format("%d", self.Floor) .. "/" .. string.format("%d", self.RunLength)) self:SetText("/ui/DefaultGroup/CombatHud/Gold", "골드 " .. string.format("%d", self.Gold))`), method('OfferReward', `local pool = {} From f0569d9a537d3116254d887642017abe13a87cec Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:21:45 +0900 Subject: [PATCH 12/15] =?UTF-8?q?feat(combat-ui):=20=EB=AA=AC=EC=8A=A4?= =?UTF-8?q?=ED=84=B0=20=EC=8A=AC=EB=A1=AF=20UI(HP=EB=B0=94=C2=B7=EC=9D=98?= =?UTF-8?q?=EB=8F=84=C2=B7=ED=83=80=EA=B2=9F=EB=B2=84=ED=8A=BC)=20+=20mons?= =?UTF-8?q?ter-slots.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- data/monster-slots.json | 6 +++ tools/deck/gen-slaydeck.mjs | 94 +++++++++++++++++++++++++------------ 2 files changed, 71 insertions(+), 29 deletions(-) create mode 100644 data/monster-slots.json diff --git a/data/monster-slots.json b/data/monster-slots.json new file mode 100644 index 0000000..494d402 --- /dev/null +++ b/data/monster-slots.json @@ -0,0 +1,6 @@ +[ + { "x": -480, "y": 300 }, + { "x": -160, "y": 300 }, + { "x": 160, "y": 300 }, + { "x": 480, "y": 300 } +] diff --git a/tools/deck/gen-slaydeck.mjs b/tools/deck/gen-slaydeck.mjs index a5ed3f1..35d2140 100644 --- a/tools/deck/gen-slaydeck.mjs +++ b/tools/deck/gen-slaydeck.mjs @@ -256,6 +256,9 @@ function entity({ id, path, modelId, entryId, componentNames, components, displa } function upsertUi() { + if (SLOTS.length < MAX_MONSTERS) { + throw new Error(`[gen-slaydeck] monster-slots.json 항목(${SLOTS.length}) < MAX_MONSTERS(${MAX_MONSTERS})`); + } const ui = JSON.parse(readFileSync(UI_FILE, 'utf8')); const E = ui.ContentProto.Entities; ui.ContentProto.Entities = E.filter((e) => !e.path.startsWith('/ui/DefaultGroup/DeckHud') && !e.path.startsWith('/ui/DefaultGroup/CombatHud') && !e.path.startsWith('/ui/DefaultGroup/RewardHud') && !e.path.startsWith('/ui/DefaultGroup/MapHud') && !e.path.startsWith('/ui/DefaultGroup/ShopHud') && !e.path.startsWith('/ui/DefaultGroup/RestHud') && !e.path.startsWith('/ui/DefaultGroup/MainMenu')); @@ -432,40 +435,73 @@ function upsertUi() { sprite({ color: TRANSPARENT }), ], })); - combat.push(entity({ - id: guid('cmb', 1), - path: '/ui/DefaultGroup/CombatHud/EnemyBg', - modelId: 'uisprite', - entryId: 'UISprite', - componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent', - displayOrder: 0, - components: [ - transform({ parentW: 1920, parentH: 1080, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: 380, y: 170 }, pos: { x: 0, y: 300 }, align: ALIGN_CENTER }), - sprite({ color: PANEL_BG, type: 1 }), - ], - })); - const enemyTexts = [ - ['EnemyName', { x: 0, y: 358 }, { x: 360, y: 44 }, ACTIVE_ENEMY.name, 28, true, GOLD], - ['EnemyHp', { x: 0, y: 316 }, { x: 360, y: 40 }, `HP ${ACTIVE_ENEMY.maxHp}/${ACTIVE_ENEMY.maxHp}`, 24, true, { r: 1, g: 1, b: 1, a: 1 }], - ['EnemyBlock', { x: 0, y: 280 }, { x: 360, y: 36 }, '방어 0', 20, false, { r: 0.6, g: 0.8, b: 1, a: 1 }], - ['EnemyIntent', { x: 0, y: 244 }, { x: 360, y: 38 }, intentText(ACTIVE_ENEMY.intents[0]), 22, true, { r: 1, g: 0.72, b: 0.5, a: 1 }], - ]; - let cmbN = 2; - for (const [suffix, pos, size, value, fontSize, bold, color] of enemyTexts) { - combat.push(entity({ - id: guid('cmb', cmbN++), - path: `/ui/DefaultGroup/CombatHud/${suffix}`, - modelId: 'uitext', - entryId: 'UIText', - componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent', - displayOrder: enemyTexts.findIndex(([s]) => s === suffix) + 1, + const SLOT_W = 140, SLOT_H = 96; + for (let i = 1; i <= MAX_MONSTERS; i++) { + const base = `/ui/DefaultGroup/CombatHud/MonsterSlot${i}`; + const slot = entity({ + id: guid('cmb', 40 + i), + path: base, + modelId: 'uisprite', entryId: 'UISprite', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent', + displayOrder: 20 + i, components: [ - transform({ parentW: 1920, parentH: 1080, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size, pos }), + transform({ parentW: 1920, parentH: 1080, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: SLOT_W, y: SLOT_H }, pos: { x: (i - 2.5) * 320, y: 300 } }), + sprite({ color: { r: 0, g: 0, b: 0, a: 0.0001 }, type: 1, raycast: true }), + button(), + ], + }); + slot.jsonString.enable = false; + combat.push(slot); + combat.push(entity({ + id: guid('cmb', 60 + i), path: `${base}/Name`, modelId: 'uitext', entryId: 'UIText', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent', + displayOrder: 0, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: SLOT_W, y: 30 }, pos: { x: 0, y: 34 } }), sprite({ color: TRANSPARENT }), - text({ value, fontSize, bold, color }), + text({ value: '', fontSize: 20, bold: true, color: GOLD, alignment: 4 }), + ], + })); + combat.push(entity({ + id: guid('cmb', 80 + i), path: `${base}/Hp`, modelId: 'uitext', entryId: 'UIText', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent', + displayOrder: 1, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: SLOT_W, y: 26 }, pos: { x: 0, y: 6 } }), + sprite({ color: TRANSPARENT }), + text({ value: '', fontSize: 18, bold: true, color: { r: 1, g: 1, b: 1, a: 1 }, alignment: 4 }), + ], + })); + combat.push(entity({ + id: guid('cmb', 100 + i), path: `${base}/HpBarBg`, modelId: 'uisprite', entryId: 'UISprite', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent', + displayOrder: 2, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: 120, y: 14 }, pos: { x: 0, y: -14 } }), + sprite({ color: { r: 0.18, g: 0.05, b: 0.06, a: 1 }, type: 1 }), + ], + })); + combat.push(entity({ + id: guid('cmb', 120 + i), path: `${base}/HpBarFill`, modelId: 'uisprite', entryId: 'UISprite', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent', + displayOrder: 3, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0, y: 0.5 }, size: { x: 120, y: 14 }, pos: { x: -60, y: -14 } }), + sprite({ color: { r: 0.86, g: 0.35, b: 0.32, a: 1 }, type: 1 }), + ], + })); + combat.push(entity({ + id: guid('cmb', 140 + i), path: `${base}/Intent`, modelId: 'uitext', entryId: 'UIText', + componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent', + displayOrder: 4, + components: [ + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: SLOT_W + 40, y: 24 }, pos: { x: 0, y: -36 } }), + sprite({ color: TRANSPARENT }), + text({ value: '', fontSize: 17, bold: true, color: { r: 1, g: 0.72, b: 0.5, a: 1 }, alignment: 4 }), ], })); } + let cmbN = 2; combat.push(entity({ id: guid('cmb', cmbN++), path: '/ui/DefaultGroup/CombatHud/PlayerBg', From f704d0f14ea29a43e343b0c481338a391d7402c3 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:29:27 +0900 Subject: [PATCH 13/15] =?UTF-8?q?refactor(combat):=20=EC=A3=BD=EC=9D=80=20?= =?UTF-8?q?=EB=8B=A8=EC=9D=BC=EC=A0=81=20=EC=BD=94=EB=93=9C=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20+=20HP=5FBAR=5FW=20=EC=83=81=EC=88=98=20=EC=B6=94?= =?UTF-8?q?=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- tools/deck/gen-slaydeck.mjs | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/tools/deck/gen-slaydeck.mjs b/tools/deck/gen-slaydeck.mjs index 35d2140..04c053b 100644 --- a/tools/deck/gen-slaydeck.mjs +++ b/tools/deck/gen-slaydeck.mjs @@ -12,7 +12,6 @@ for (const id of CARDS.starterDeck) { if (!ENEMIES.enemies[ENEMIES.activeEnemy]) { throw new Error(`[gen-slaydeck] activeEnemy가 enemies에 없음: ${ENEMIES.activeEnemy}`); } -const ACTIVE_ENEMY = ENEMIES.enemies[ENEMIES.activeEnemy]; const MAP = JSON.parse(readFileSync('data/map.json', 'utf8')); for (const id of MAP.start) { @@ -74,15 +73,6 @@ function luaCardsTable(cards) { function luaDeckTable(deck) { return `self.DrawPile = { ${deck.map(luaStr).join(', ')} }`; } -function luaIntentsTable(intents) { - const lines = intents.map((it) => `\t{ kind = ${luaStr(it.kind)}, value = ${it.value} },`); - return `self.EnemyIntents = {\n${lines.join('\n')}\n}`; -} -function intentText(it) { - if (it.kind === 'Attack') return `의도: 공격 ${it.value}`; - if (it.kind === 'Defend') return `의도: 방어 ${it.value}`; - return ''; -} const UI_FILE = 'ui/DefaultGroup.ui'; const COMMON_FILE = 'Global/common.gamelogic'; @@ -96,6 +86,7 @@ const SKILL = { r: 0.46, g: 0.68, b: 0.52, a: 1 }; const MAX_MONSTERS = 4; +const HP_BAR_W = 120; const CARD_W = 180; const CARD_H = 250; const CARD_SPACING = 200; @@ -477,7 +468,7 @@ function upsertUi() { componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent', displayOrder: 2, components: [ - transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: 120, y: 14 }, pos: { x: 0, y: -14 } }), + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0.5, y: 0.5 }, size: { x: HP_BAR_W, y: 14 }, pos: { x: 0, y: -14 } }), sprite({ color: { r: 0.18, g: 0.05, b: 0.06, a: 1 }, type: 1 }), ], })); @@ -486,7 +477,7 @@ function upsertUi() { componentNames: 'MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent', displayOrder: 3, components: [ - transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0, y: 0.5 }, size: { x: 120, y: 14 }, pos: { x: -60, y: -14 } }), + transform({ parentW: SLOT_W, parentH: SLOT_H, anchor: { x: 0.5, y: 0.5 }, pivot: { x: 0, y: 0.5 }, size: { x: HP_BAR_W, y: 14 }, pos: { x: -HP_BAR_W / 2, y: -14 } }), sprite({ color: { r: 0.86, g: 0.35, b: 0.32, a: 1 }, type: 1 }), ], })); @@ -1529,7 +1520,7 @@ end local ratio = 0 if maxHp > 0 then ratio = hp / maxHp end if ratio < 0 then ratio = 0 end -local w = 120 * ratio +local w = ${HP_BAR_W} * ratio e.UITransformComponent.RectSize = Vector2(w, 14)`, [ { Type: 'string', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'path' }, { Type: 'number', DefaultValue: null, SyncDirection: 0, Attributes: [], Name: 'hp' }, From 647516d0cdce9e911b4243f1138eff2ae386e5dc Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 01:31:03 +0900 Subject: [PATCH 14/15] =?UTF-8?q?feat(combat):=20=EB=A7=B5=20=EB=AA=AC?= =?UTF-8?q?=EC=8A=A4=ED=84=B0=20=EC=B9=B4=EB=93=9C=20=EC=A0=84=ED=88=AC=20?= =?UTF-8?q?=EC=82=B0=EC=B6=9C=EB=AC=BC=20=EC=9E=AC=EC=83=9D=EC=84=B1=20(UI?= =?UTF-8?q?=20=EC=8A=AC=EB=A1=AF=C2=B7=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- Global/common.gamelogic | 8 +- RootDesk/MyDesk/SlayDeckController.codeblock | 238 +- ui/DefaultGroup.ui | 15011 ++++++++++------- 3 files changed, 9330 insertions(+), 5927 deletions(-) diff --git a/Global/common.gamelogic b/Global/common.gamelogic index f0f19e8..ddd599c 100644 --- a/Global/common.gamelogic +++ b/Global/common.gamelogic @@ -32,10 +32,10 @@ { "@type": "script.SlayDeckController", "Enable": true, - "Energy": 0.0, - "MaxEnergy": 3.0, - "Turn": 0.0, - "TweenEventId": 0.0 + "Energy": 0, + "MaxEnergy": 3, + "Turn": 0, + "TweenEventId": 0 } ], "@version": 1 diff --git a/RootDesk/MyDesk/SlayDeckController.codeblock b/RootDesk/MyDesk/SlayDeckController.codeblock index 008b241..d760939 100644 --- a/RootDesk/MyDesk/SlayDeckController.codeblock +++ b/RootDesk/MyDesk/SlayDeckController.codeblock @@ -120,34 +120,6 @@ "Attributes": [], "Name": "PlayerBlock" }, - { - "Type": "number", - "DefaultValue": "0", - "SyncDirection": 0, - "Attributes": [], - "Name": "EnemyHp" - }, - { - "Type": "number", - "DefaultValue": "45", - "SyncDirection": 0, - "Attributes": [], - "Name": "EnemyMaxHp" - }, - { - "Type": "number", - "DefaultValue": "0", - "SyncDirection": 0, - "Attributes": [], - "Name": "EnemyBlock" - }, - { - "Type": "number", - "DefaultValue": "1", - "SyncDirection": 0, - "Attributes": [], - "Name": "EnemyIntentIndex" - }, { "Type": "boolean", "DefaultValue": "false", @@ -160,14 +132,28 @@ "DefaultValue": "nil", "SyncDirection": 0, "Attributes": [], - "Name": "EnemyIntents" + "Name": "Monsters" }, { "Type": "any", "DefaultValue": "nil", "SyncDirection": 0, "Attributes": [], - "Name": "EnemyName" + "Name": "Registered" + }, + { + "Type": "number", + "DefaultValue": "1", + "SyncDirection": 0, + "Attributes": [], + "Name": "TargetIndex" + }, + { + "Type": "any", + "DefaultValue": "nil", + "SyncDirection": 0, + "Attributes": [], + "Name": "SlotPos" }, { "Type": "any", @@ -396,7 +382,7 @@ "Name": null }, "Arguments": [], - "Code": "self.PlayerMaxHp = 80\nself.PlayerHp = self.PlayerMaxHp\nself.Gold = 0\nself.Floor = 1\nself.RunLength = 3\nself.RunDeck = { \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Defend\", \"Defend\", \"Defend\", \"Defend\", \"Bash\" }\nself.RunActive = true\nself.RunRelics = {}\nself.Relics = {\n\tironHeart = { name = \"강철 심장\", desc = \"전투 시작 시 방어도 +6\", hook = \"combatStart\", effect = \"block\", value = 6 },\n\tenergyCore = { name = \"에너지 코어\", desc = \"턴 시작 시 에너지 +1\", hook = \"turnStart\", effect = \"energy\", value = 1 },\n\tvampire = { name = \"흡혈 송곳니\", desc = \"공격 카드 사용 시 HP +1\", hook = \"cardPlayed\", effect = \"healOnAttack\", value = 1 },\n\tgoldIdol = { name = \"황금 우상\", desc = \"전투 승리 시 골드 +10\", hook = \"combatReward\", effect = \"gold\", value = 10 },\n}\nself.RelicPool = { \"energyCore\", \"vampire\", \"goldIdol\" }\nself.Enemies = {\n\tslime = { name = \"슬라임\", maxHp = 45, intents = { { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 8 } } },\n\tslime_elite = { name = \"정예 슬라임\", maxHp = 70, intents = { { kind = \"Attack\", value = 14 }, { kind = \"Attack\", value = 8 }, { kind = \"Defend\", value = 10 } } },\n\tslime_boss = { name = \"슬라임 킹\", maxHp = 120, intents = { { kind = \"Attack\", value = 18 }, { kind = \"Defend\", value = 12 }, { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 22 } } },\n}\nself.MapNodes = {\n\tA = { type = \"combat\", enemy = \"slime\", row = 1, col = -1, next = { \"C\", \"D\" } },\n\tB = { type = \"combat\", enemy = \"slime\", row = 1, col = 1, next = { \"C\", \"D\" } },\n\tC = { type = \"rest\", row = 2, col = -1, next = { \"E\", \"F\" } },\n\tD = { type = \"shop\", row = 2, col = 1, next = { \"E\", \"F\" } },\n\tE = { type = \"elite\", enemy = \"slime_elite\", row = 3, col = -1, next = { \"BOSS\" } },\n\tF = { type = \"combat\", enemy = \"slime\", row = 3, col = 1, next = { \"BOSS\" } },\n\tBOSS = { type = \"boss\", enemy = \"slime_boss\", row = 4, col = 0, next = { } },\n}\nself.MapStart = { \"A\", \"B\" }\nself.CurrentNodeId = \"\"\nself.CurrentEnemyId = \"\"\nself:BindButtons()\nself:AddRelic(\"ironHeart\")\nself:ShowMap()", + "Code": "self.PlayerMaxHp = 80\nself.PlayerHp = self.PlayerMaxHp\nself.Gold = 0\nself.Floor = 1\nself.RunLength = 3\nself.RunDeck = { \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Defend\", \"Defend\", \"Defend\", \"Defend\", \"Bash\" }\nself.RunActive = true\nself.RunRelics = {}\nself.Relics = {\n\tironHeart = { name = \"강철 심장\", desc = \"전투 시작 시 방어도 +6\", hook = \"combatStart\", effect = \"block\", value = 6 },\n\tenergyCore = { name = \"에너지 코어\", desc = \"턴 시작 시 에너지 +1\", hook = \"turnStart\", effect = \"energy\", value = 1 },\n\tvampire = { name = \"흡혈 송곳니\", desc = \"공격 카드 사용 시 HP +1\", hook = \"cardPlayed\", effect = \"healOnAttack\", value = 1 },\n\tgoldIdol = { name = \"황금 우상\", desc = \"전투 승리 시 골드 +10\", hook = \"combatReward\", effect = \"gold\", value = 10 },\n}\nself.RelicPool = { \"energyCore\", \"vampire\", \"goldIdol\" }\nself.Enemies = {\n\tslime = { name = \"슬라임\", maxHp = 45, intents = { { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 8 } } },\n\tslime_elite = { name = \"정예 슬라임\", maxHp = 70, intents = { { kind = \"Attack\", value = 14 }, { kind = \"Attack\", value = 8 }, { kind = \"Defend\", value = 10 } } },\n\tslime_boss = { name = \"슬라임 킹\", maxHp = 120, intents = { { kind = \"Attack\", value = 18 }, { kind = \"Defend\", value = 12 }, { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 22 } } },\n\torange_mushroom = { name = \"주황버섯\", maxHp = 16, intents = { { kind = \"Attack\", value = 5 }, { kind = \"Defend\", value = 4 }, { kind = \"Attack\", value = 7 } } },\n\tblue_mushroom = { name = \"파란버섯\", maxHp = 22, intents = { { kind = \"Attack\", value = 8 }, { kind = \"Attack\", value = 4 } } },\n}\nself.MapNodes = {\n\tA = { type = \"combat\", enemy = \"slime\", row = 1, col = -1, next = { \"C\", \"D\" } },\n\tB = { type = \"combat\", enemy = \"slime\", row = 1, col = 1, next = { \"C\", \"D\" } },\n\tC = { type = \"rest\", row = 2, col = -1, next = { \"E\", \"F\" } },\n\tD = { type = \"shop\", row = 2, col = 1, next = { \"E\", \"F\" } },\n\tE = { type = \"elite\", enemy = \"slime_elite\", row = 3, col = -1, next = { \"BOSS\" } },\n\tF = { type = \"combat\", enemy = \"slime\", row = 3, col = 1, next = { \"BOSS\" } },\n\tBOSS = { type = \"boss\", enemy = \"slime_boss\", row = 4, col = 0, next = { } },\n}\nself.MapStart = { \"A\", \"B\" }\nself.SlotPos = { { x = -480, y = 300 }, { x = -160, y = 300 }, { x = 160, y = 300 }, { x = 480, y = 300 } }\nself.CurrentNodeId = \"\"\nself.CurrentEnemyId = \"\"\nself:BindButtons()\nself:AddRelic(\"ironHeart\")\nself:ShowMap()", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -411,12 +397,80 @@ "Name": null }, "Arguments": [], - "Code": "self.MaxEnergy = 3\nself.Turn = 0\nlocal enemy = self.Enemies[self.CurrentEnemyId]\nlocal mult = 1 + (self.Floor - 1) * 0.6\nself.PlayerBlock = 0\nself.EnemyName = enemy.name\nself.EnemyMaxHp = math.floor(enemy.maxHp * mult)\nself.EnemyHp = self.EnemyMaxHp\nself.EnemyBlock = 0\nself.EnemyIntents = {}\nfor i = 1, #enemy.intents do\n\tself.EnemyIntents[i] = { kind = enemy.intents[i].kind, value = math.floor(enemy.intents[i].value * mult) }\nend\nself.EnemyIntentIndex = 1\nself.CombatOver = false\nself.DiscardPile = {}\nself.Hand = {}\nself.Cards = {\n\tStrike = { name = \"타격\", cost = 1, desc = \"피해 6\", kind = \"Attack\", damage = 6 },\n\tDefend = { name = \"방어\", cost = 1, desc = \"방어도 5\", kind = \"Skill\", block = 5 },\n\tBash = { name = \"강타\", cost = 2, desc = \"피해 10\", kind = \"Attack\", damage = 10 },\n}\nself.DrawPile = {}\nfor i = 1, #self.RunDeck do\n\tself.DrawPile[i] = self.RunDeck[i]\nend\nself:Shuffle(self.DrawPile)\nself:RenderCombat()\nself:StartPlayerTurn()\nself:ApplyRelics(\"combatStart\")\nself:RenderCombat()", + "Code": "self.MaxEnergy = 3\nself.Turn = 0\nself.PlayerBlock = 0\nself.CombatOver = false\nself.DiscardPile = {}\nself.Hand = {}\nself.Cards = {\n\tStrike = { name = \"타격\", cost = 1, desc = \"피해 6\", kind = \"Attack\", damage = 6 },\n\tDefend = { name = \"방어\", cost = 1, desc = \"방어도 5\", kind = \"Skill\", block = 5 },\n\tBash = { name = \"강타\", cost = 2, desc = \"피해 10\", kind = \"Attack\", damage = 10 },\n}\nself.DrawPile = {}\nfor i = 1, #self.RunDeck do\n\tself.DrawPile[i] = self.RunDeck[i]\nend\nself:Shuffle(self.DrawPile)\nself:BuildMonsters()\nself:RenderCombat()\nself:StartPlayerTurn()\nself:ApplyRelics(\"combatStart\")\nself:RenderCombat()", "Scope": 2, "ExecSpace": 6, "Attributes": [], "Name": "StartCombat" }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "any", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "monster" + }, + { + "Type": "string", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "enemyId" + } + ], + "Code": "if self.Registered == nil then\n\tself.Registered = {}\nend\ntable.insert(self.Registered, { entity = monster, enemyId = enemyId })", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "RegisterMonster" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [], + "Code": "self.Monsters = {}\nlocal reg = self.Registered or {}\nlocal list = {}\nfor i = 1, #reg do\n\tlocal r = reg[i]\n\tif r.entity ~= nil and isvalid(r.entity) then\n\t\tlocal x = 0\n\t\tif r.entity.TransformComponent ~= nil then\n\t\t\tx = r.entity.TransformComponent.WorldPosition.x\n\t\tend\n\t\ttable.insert(list, { entity = r.entity, enemyId = r.enemyId, x = x })\n\tend\nend\ntable.sort(list, function(a, b) return a.x < b.x end)\nlocal mult = 1 + (self.Floor - 1) * 0.6\nlocal n = #list\nif n > 4 then n = 4 end\nfor i = 1, n do\n\tlocal item = list[i]\n\tlocal e = self.Enemies[item.enemyId]\n\tif e == nil then e = { name = item.enemyId, maxHp = 10, intents = { { kind = \"Attack\", value = 5 } } } end\n\tlocal intents = {}\n\tfor k = 1, #e.intents do\n\t\tintents[k] = { kind = e.intents[k].kind, value = math.floor(e.intents[k].value * mult) }\n\tend\n\tlocal maxHp = math.floor(e.maxHp * mult)\n\tself.Monsters[i] = { entity = item.entity, enemyId = item.enemyId, name = e.name,\n\t\thp = maxHp, maxHp = maxHp, block = 0, intents = intents, intentIdx = 1, alive = true, slot = i }\n\tself:ReviveMonsterEntity(item.entity)\n\tself:PositionMonsterSlot(i)\nend\nself.TargetIndex = 1", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "BuildMonsters" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "any", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "monster" + } + ], + "Code": "if monster == nil or not isvalid(monster) then\n\treturn\nend\nmonster:SetEnable(true)\nmonster:SetVisible(true)\nif monster.StateComponent ~= nil then\n\tmonster.StateComponent:ChangeState(\"IDLE\")\nend", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "ReviveMonsterEntity" + }, { "Return": { "Type": "void", @@ -449,7 +503,7 @@ "Name": null }, "Arguments": [], - "Code": "local endTurn = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/DeckHud/EndTurnButton\")\nif endTurn ~= nil and endTurn.ButtonComponent ~= nil then\n\tif self.EndTurnHandler ~= nil then\n\t\tendTurn:DisconnectEvent(ButtonClickEvent, self.EndTurnHandler)\n\t\tself.EndTurnHandler = nil\n\tend\n\tself.EndTurnHandler = endTurn:ConnectEvent(ButtonClickEvent, function() self:EndPlayerTurn() end)\nend\nfor i = 1, 5 do\n\tlocal cardEntity = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/CardHand/Card\" .. tostring(i))\n\tif cardEntity ~= nil and cardEntity.ButtonComponent ~= nil then\n\t\tcardEntity:ConnectEvent(ButtonClickEvent, function() self:PlayCard(i) end)\n\tend\nend\nfor i = 1, 3 do\n\tlocal rc = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/RewardHud/Reward\" .. tostring(i))\n\tif rc ~= nil and rc.ButtonComponent ~= nil then\n\t\trc:ConnectEvent(ButtonClickEvent, function() self:PickReward(i) end)\n\tend\nend\nlocal skip = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/RewardHud/Skip\")\nif skip ~= nil and skip.ButtonComponent ~= nil then\n\tskip:ConnectEvent(ButtonClickEvent, function() self:PickReward(0) end)\nend\nlocal mapNodeIds = { \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"BOSS\" }\nfor i = 1, #mapNodeIds do\n\tlocal nid = mapNodeIds[i]\n\tlocal mn = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/MapHud/Node_\" .. nid)\n\tif mn ~= nil and mn.ButtonComponent ~= nil then\n\t\tmn:ConnectEvent(ButtonClickEvent, function() self:PickNode(nid) end)\n\tend\nend\nfor i = 1, 3 do\n\tlocal sc = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/ShopHud/Card\" .. tostring(i))\n\tif sc ~= nil and sc.ButtonComponent ~= nil then\n\t\tsc:ConnectEvent(ButtonClickEvent, function() self:BuyCard(i) end)\n\tend\nend\nlocal shopLeave = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/ShopHud/Leave\")\nif shopLeave ~= nil and shopLeave.ButtonComponent ~= nil then\n\tshopLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nlocal shopRelic = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/ShopHud/Relic\")\nif shopRelic ~= nil and shopRelic.ButtonComponent ~= nil then\n\tshopRelic:ConnectEvent(ButtonClickEvent, function() self:BuyRelic() end)\nend\nlocal restLeave = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/RestHud/Leave\")\nif restLeave ~= nil and restLeave.ButtonComponent ~= nil then\n\trestLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend", + "Code": "local endTurn = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/DeckHud/EndTurnButton\")\nif endTurn ~= nil and endTurn.ButtonComponent ~= nil then\n\tif self.EndTurnHandler ~= nil then\n\t\tendTurn:DisconnectEvent(ButtonClickEvent, self.EndTurnHandler)\n\t\tself.EndTurnHandler = nil\n\tend\n\tself.EndTurnHandler = endTurn:ConnectEvent(ButtonClickEvent, function() self:EndPlayerTurn() end)\nend\nfor i = 1, 5 do\n\tlocal cardEntity = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/CardHand/Card\" .. tostring(i))\n\tif cardEntity ~= nil and cardEntity.ButtonComponent ~= nil then\n\t\tcardEntity:ConnectEvent(ButtonClickEvent, function() self:PlayCard(i) end)\n\tend\nend\nfor i = 1, 3 do\n\tlocal rc = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/RewardHud/Reward\" .. tostring(i))\n\tif rc ~= nil and rc.ButtonComponent ~= nil then\n\t\trc:ConnectEvent(ButtonClickEvent, function() self:PickReward(i) end)\n\tend\nend\nlocal skip = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/RewardHud/Skip\")\nif skip ~= nil and skip.ButtonComponent ~= nil then\n\tskip:ConnectEvent(ButtonClickEvent, function() self:PickReward(0) end)\nend\nlocal mapNodeIds = { \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"BOSS\" }\nfor i = 1, #mapNodeIds do\n\tlocal nid = mapNodeIds[i]\n\tlocal mn = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/MapHud/Node_\" .. nid)\n\tif mn ~= nil and mn.ButtonComponent ~= nil then\n\t\tmn:ConnectEvent(ButtonClickEvent, function() self:PickNode(nid) end)\n\tend\nend\nfor i = 1, 3 do\n\tlocal sc = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/ShopHud/Card\" .. tostring(i))\n\tif sc ~= nil and sc.ButtonComponent ~= nil then\n\t\tsc:ConnectEvent(ButtonClickEvent, function() self:BuyCard(i) end)\n\tend\nend\nlocal shopLeave = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/ShopHud/Leave\")\nif shopLeave ~= nil and shopLeave.ButtonComponent ~= nil then\n\tshopLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nlocal shopRelic = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/ShopHud/Relic\")\nif shopRelic ~= nil and shopRelic.ButtonComponent ~= nil then\n\tshopRelic:ConnectEvent(ButtonClickEvent, function() self:BuyRelic() end)\nend\nlocal restLeave = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/RestHud/Leave\")\nif restLeave ~= nil and restLeave.ButtonComponent ~= nil then\n\trestLeave:ConnectEvent(ButtonClickEvent, function() self:LeaveNode() end)\nend\nfor i = 1, 4 do\n\tlocal ms = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/CombatHud/MonsterSlot\" .. tostring(i))\n\tif ms ~= nil and ms.ButtonComponent ~= nil then\n\t\tms:ConnectEvent(ButtonClickEvent, function() self:SetTarget(i) end)\n\tend\nend", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -682,7 +736,7 @@ "Name": "slot" } ], - "Code": "if self.CombatOver == true then\n\treturn\nend\nif self.Hand == nil then\n\treturn\nend\nlocal cardId = self.Hand[slot]\nif cardId == nil then\n\treturn\nend\nlocal c = self.Cards[cardId]\nif c == nil then\n\treturn\nend\nif self.Energy < c.cost then\n\tself:Toast(\"에너지가 부족합니다\")\n\treturn\nend\nself.Energy = self.Energy - c.cost\nif c.kind == \"Attack\" then\n\tif c.damage ~= nil then\n\t\tself:DealDamageToEnemy(c.damage)\n\tend\n\tself:ApplyRelics(\"cardPlayed\")\nelseif c.kind == \"Skill\" then\n\tif c.block ~= nil then\n\t\tself.PlayerBlock = self.PlayerBlock + c.block\n\tend\nend\ntable.remove(self.Hand, slot)\ntable.insert(self.DiscardPile, cardId)\nself:RenderHand(false)\nself:RenderPiles()\nself:RenderCombat()\nself:CheckCombatEnd()", + "Code": "if self.CombatOver == true then\n\treturn\nend\nif self.Hand == nil then\n\treturn\nend\nlocal cardId = self.Hand[slot]\nif cardId == nil then\n\treturn\nend\nlocal c = self.Cards[cardId]\nif c == nil then\n\treturn\nend\nif self.Energy < c.cost then\n\tself:Toast(\"에너지가 부족합니다\")\n\treturn\nend\nself.Energy = self.Energy - c.cost\nif c.kind == \"Attack\" then\n\tif c.damage ~= nil then\n\t\tself:DealDamageToTarget(c.damage)\n\tend\n\tself:ApplyRelics(\"cardPlayed\")\nelseif c.kind == \"Skill\" then\n\tif c.block ~= nil then\n\t\tself.PlayerBlock = self.PlayerBlock + c.block\n\tend\nend\ntable.remove(self.Hand, slot)\ntable.insert(self.DiscardPile, cardId)\nself:RenderHand(false)\nself:RenderPiles()\nself:RenderCombat()\nself:CheckCombatEnd()", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -728,11 +782,34 @@ "Name": "amount" } ], - "Code": "local dmg = amount\nif self.EnemyBlock > 0 then\n\tlocal absorbed = math.min(self.EnemyBlock, dmg)\n\tself.EnemyBlock = self.EnemyBlock - absorbed\n\tdmg = dmg - absorbed\nend\nself.EnemyHp = self.EnemyHp - dmg\nif self.EnemyHp < 0 then\n\tself.EnemyHp = 0\nend", + "Code": "local m = self.Monsters[self.TargetIndex]\nif m == nil or m.alive ~= true then\n\tm = nil\n\tfor i = 1, #self.Monsters do\n\t\tif self.Monsters[i].alive == true then m = self.Monsters[i]; self.TargetIndex = i; break end\n\tend\nend\nif m == nil then\n\treturn\nend\nlocal dmg = amount\nif m.block > 0 then\n\tlocal absorbed = math.min(m.block, dmg)\n\tm.block = m.block - absorbed\n\tdmg = dmg - absorbed\nend\nm.hp = m.hp - dmg\nif m.hp <= 0 then\n\tm.hp = 0\n\tself:KillMonster(m.slot)\nend", "Scope": 2, "ExecSpace": 6, "Attributes": [], - "Name": "DealDamageToEnemy" + "Name": "DealDamageToTarget" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "number", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "slot" + } + ], + "Code": "local m = self.Monsters[slot]\nif m == nil then\n\treturn\nend\nm.alive = false\nif m.entity ~= nil and isvalid(m.entity) then\n\tif m.entity.StateComponent ~= nil then\n\t\tm.entity.StateComponent:ChangeState(\"DEAD\")\n\tend\n\tlocal ent = m.entity\n\t_TimerService:SetTimerOnce(function() if isvalid(ent) then ent:SetVisible(false) end end, 0.6)\nend\nself:SetEntityEnabled(\"/ui/DefaultGroup/CombatHud/MonsterSlot\" .. tostring(slot), false)\nfor i = 1, #self.Monsters do\n\tif self.Monsters[i].alive == true then self.TargetIndex = i; break end\nend", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "KillMonster" }, { "Return": { @@ -766,7 +843,7 @@ "Name": null }, "Arguments": [], - "Code": "self.EnemyBlock = 0\nlocal intent = self.EnemyIntents[self.EnemyIntentIndex]\nif intent ~= nil then\n\tif intent.kind == \"Attack\" then\n\t\tself:DealDamageToPlayer(intent.value)\n\telseif intent.kind == \"Defend\" then\n\t\tself.EnemyBlock = self.EnemyBlock + intent.value\n\tend\nend\nself.EnemyIntentIndex = self.EnemyIntentIndex + 1\nif self.EnemyIntentIndex > #self.EnemyIntents then\n\tself.EnemyIntentIndex = 1\nend\nself:RenderCombat()", + "Code": "for i = 1, #self.Monsters do\n\tlocal m = self.Monsters[i]\n\tif m.alive == true then\n\t\tm.block = 0\n\t\tlocal intent = m.intents[m.intentIdx]\n\t\tif intent ~= nil then\n\t\t\tif intent.kind == \"Attack\" then\n\t\t\t\tself:DealDamageToPlayer(intent.value)\n\t\t\telseif intent.kind == \"Defend\" then\n\t\t\t\tm.block = m.block + intent.value\n\t\t\tend\n\t\tend\n\t\tm.intentIdx = m.intentIdx + 1\n\t\tif m.intentIdx > #m.intents then\n\t\t\tm.intentIdx = 1\n\t\tend\n\tend\nend\nself:RenderCombat()", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -781,7 +858,7 @@ "Name": null }, "Arguments": [], - "Code": "if self.EnemyHp <= 0 then\n\tself.CombatOver = true\n\tself.Gold = self.Gold + 15\n\tself:ApplyRelics(\"combatReward\")\n\tself:RenderRun()\n\tlocal node = self.MapNodes[self.CurrentNodeId]\n\tif node ~= nil and node.type == \"elite\" then\n\t\tself:AddRelic(self.RelicPool[math.random(1, #self.RelicPool)])\n\tend\n\tif node ~= nil and node.type == \"boss\" then\n\t\tif self.Floor < self.RunLength then\n\t\t\tself.Floor = self.Floor + 1\n\t\t\tself.CurrentNodeId = \"\"\n\t\t\tself.CurrentEnemyId = \"\"\n\t\t\tself:RenderRun()\n\t\t\tself:ShowMap()\n\t\telse\n\t\t\tself:ShowResult(\"런 클리어!\")\n\t\t\tself.RunActive = false\n\t\tend\n\telse\n\t\tself:OfferReward()\n\tend\nelseif self.PlayerHp <= 0 then\n\tself.CombatOver = true\n\tself:ShowResult(\"패배...\")\n\tself.RunActive = false\nend", + "Code": "local anyAlive = false\nfor i = 1, #self.Monsters do\n\tif self.Monsters[i].alive == true then anyAlive = true; break end\nend\nif anyAlive == false then\n\tself.CombatOver = true\n\tself.Gold = self.Gold + 15\n\tself:ApplyRelics(\"combatReward\")\n\tself:RenderRun()\n\tlocal node = self.MapNodes[self.CurrentNodeId]\n\tif node ~= nil and node.type == \"elite\" then\n\t\tself:AddRelic(self.RelicPool[math.random(1, #self.RelicPool)])\n\tend\n\tif node ~= nil and node.type == \"boss\" then\n\t\tif self.Floor < self.RunLength then\n\t\t\tself.Floor = self.Floor + 1\n\t\t\tself.CurrentNodeId = \"\"\n\t\t\tself.CurrentEnemyId = \"\"\n\t\t\tself:RenderRun()\n\t\t\tself:ShowMap()\n\t\telse\n\t\t\tself:ShowResult(\"런 클리어!\")\n\t\t\tself.RunActive = false\n\t\tend\n\telse\n\t\tself:OfferReward()\n\tend\nelseif self.PlayerHp <= 0 then\n\tself.CombatOver = true\n\tself:ShowResult(\"패배...\")\n\tself.RunActive = false\nend", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -819,12 +896,95 @@ "Name": null }, "Arguments": [], - "Code": "self:SetText(\"/ui/DefaultGroup/CombatHud/EnemyName\", self.EnemyName)\nself:SetText(\"/ui/DefaultGroup/CombatHud/EnemyHp\", \"HP \" .. string.format(\"%d\", self.EnemyHp) .. \"/\" .. string.format(\"%d\", self.EnemyMaxHp))\nself:SetText(\"/ui/DefaultGroup/CombatHud/EnemyBlock\", \"방어 \" .. string.format(\"%d\", self.EnemyBlock))\nlocal intent = self.EnemyIntents[self.EnemyIntentIndex]\nlocal intentText = \"\"\nif intent ~= nil then\n\tif intent.kind == \"Attack\" then\n\t\tintentText = \"의도: 공격 \" .. tostring(intent.value)\n\telseif intent.kind == \"Defend\" then\n\t\tintentText = \"의도: 방어 \" .. tostring(intent.value)\n\tend\nend\nself:SetText(\"/ui/DefaultGroup/CombatHud/EnemyIntent\", intentText)\nself:SetText(\"/ui/DefaultGroup/CombatHud/PlayerHp\", \"HP \" .. string.format(\"%d\", self.PlayerHp) .. \"/\" .. string.format(\"%d\", self.PlayerMaxHp))\nself:SetText(\"/ui/DefaultGroup/CombatHud/PlayerBlock\", \"방어 \" .. string.format(\"%d\", self.PlayerBlock))\nself:RenderRun()", + "Code": "for i = 1, 4 do\n\tlocal base = \"/ui/DefaultGroup/CombatHud/MonsterSlot\" .. tostring(i)\n\tlocal m = self.Monsters[i]\n\tif m ~= nil and m.alive == true then\n\t\tself:SetEntityEnabled(base, true)\n\t\tself:SetText(base .. \"/Name\", m.name)\n\t\tself:SetText(base .. \"/Hp\", string.format(\"%d\", m.hp) .. \"/\" .. string.format(\"%d\", m.maxHp))\n\t\tlocal intent = m.intents[m.intentIdx]\n\t\tlocal t = \"\"\n\t\tif intent ~= nil then\n\t\t\tif intent.kind == \"Attack\" then t = \"공격 \" .. tostring(intent.value)\n\t\t\telseif intent.kind == \"Defend\" then t = \"방어 \" .. tostring(intent.value) end\n\t\tend\n\t\tif i == self.TargetIndex then t = \"[타겟] \" .. t end\n\t\tself:SetText(base .. \"/Intent\", t)\n\t\tself:SetHpBar(base .. \"/HpBarFill\", m.hp, m.maxHp)\n\telse\n\t\tself:SetEntityEnabled(base, false)\n\tend\nend\nself:SetText(\"/ui/DefaultGroup/CombatHud/PlayerHp\", \"HP \" .. string.format(\"%d\", self.PlayerHp) .. \"/\" .. string.format(\"%d\", self.PlayerMaxHp))\nself:SetText(\"/ui/DefaultGroup/CombatHud/PlayerBlock\", \"방어 \" .. string.format(\"%d\", self.PlayerBlock))\nself:RenderRun()", "Scope": 2, "ExecSpace": 6, "Attributes": [], "Name": "RenderCombat" }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "string", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "path" + }, + { + "Type": "number", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "hp" + }, + { + "Type": "number", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "maxHp" + } + ], + "Code": "local e = _EntityService:GetEntityByPath(path)\nif e == nil or e.UITransformComponent == nil then\n\treturn\nend\nlocal ratio = 0\nif maxHp > 0 then ratio = hp / maxHp end\nif ratio < 0 then ratio = 0 end\nlocal w = 120 * ratio\ne.UITransformComponent.RectSize = Vector2(w, 14)", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "SetHpBar" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "number", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "slot" + } + ], + "Code": "local sp = self.SlotPos\nif sp == nil or sp[slot] == nil then\n\treturn\nend\nlocal e = _EntityService:GetEntityByPath(\"/ui/DefaultGroup/CombatHud/MonsterSlot\" .. tostring(slot))\nif e ~= nil and e.UITransformComponent ~= nil then\n\te.UITransformComponent.anchoredPosition = Vector2(sp[slot].x, sp[slot].y)\nend", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "PositionMonsterSlot" + }, + { + "Return": { + "Type": "void", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": null + }, + "Arguments": [ + { + "Type": "number", + "DefaultValue": null, + "SyncDirection": 0, + "Attributes": [], + "Name": "slot" + } + ], + "Code": "if self.Monsters[slot] ~= nil and self.Monsters[slot].alive == true then\n\tself.TargetIndex = slot\n\tself:RenderCombat()\nend", + "Scope": 2, + "ExecSpace": 6, + "Attributes": [], + "Name": "SetTarget" + }, { "Return": { "Type": "void", diff --git a/ui/DefaultGroup.ui b/ui/DefaultGroup.ui index 163eac4..abaa9e2 100644 --- a/ui/DefaultGroup.ui +++ b/ui/DefaultGroup.ui @@ -41,56 +41,56 @@ "ActivePlatform": 255, "AlignmentOption": 15, "AnchorsMax": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "AnchorsMin": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "MobileOnly": false, "OffsetMax": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "OffsetMin": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1920.0, - "y": 1080.0 + "x": 1920, + "y": 1080 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -104,7 +104,7 @@ { "@type": "MOD.Core.CanvasGroupComponent", "BlocksRaycasts": true, - "GroupAlpha": 1.0, + "GroupAlpha": 1, "Interactable": true, "Enable": true } @@ -140,56 +140,56 @@ "ActivePlatform": 2, "AlignmentOption": 8, "AnchorsMax": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 }, "AnchorsMin": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 }, "MobileOnly": false, "OffsetMax": { "x": -72.8999939, - "y": 434.0 + "y": 434 }, "OffsetMin": { "x": -276.9, - "y": 230.0 + "y": 230 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 204.0, - "y": 204.0 + "x": 204, + "y": 204 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { "x": -174.9, - "y": 332.0 + "y": 332 }, "Position": { "x": 785.1, - "y": -208.0, - "z": 0.0 + "y": -208, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -201,33 +201,33 @@ "DataId": "cd0560c4fc7f3b14994b90a502f00a21" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -239,12 +239,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 0, "Enable": true @@ -253,28 +253,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -282,7 +282,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -337,11 +337,11 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 52.0, + "x": 52, "y": 53.5 }, "OffsetMin": { - "x": -56.0, + "x": -56, "y": -55.5 }, "Pivot": { @@ -349,35 +349,35 @@ "y": 0.5 }, "RectSize": { - "x": 108.0, - "y": 109.0 + "x": 108, + "y": 109 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -2.0, - "y": -1.0 + "x": -2, + "y": -1 }, "Position": { - "x": -2.0, - "y": -1.0, - "z": 0.0 + "x": -2, + "y": -1, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -389,33 +389,33 @@ "DataId": "cc55ed79f099cc94fae152e754984ddd" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -427,12 +427,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 0, "Enable": true @@ -469,20 +469,20 @@ "ActivePlatform": 2, "AlignmentOption": 8, "AnchorsMax": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 }, "AnchorsMin": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 }, "MobileOnly": false, "OffsetMax": { - "x": -290.0, + "x": -290, "y": 295.57 }, "OffsetMin": { - "x": -494.0, + "x": -494, "y": 91.57001 }, "Pivot": { @@ -490,35 +490,35 @@ "y": 0.5 }, "RectSize": { - "x": 204.0, - "y": 204.0 + "x": 204, + "y": 204 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -392.0, + "x": -392, "y": 193.57 }, "Position": { - "x": 568.0, + "x": 568, "y": -346.43, - "z": 0.0 + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -530,33 +530,33 @@ "DataId": "cd0560c4fc7f3b14994b90a502f00a21" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -568,12 +568,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 0, "Enable": true @@ -582,28 +582,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -611,7 +611,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -667,46 +667,46 @@ "MobileOnly": false, "OffsetMax": { "x": 71.5, - "y": 68.0 + "y": 68 }, "OffsetMin": { "x": -81.5, - "y": -66.0 + "y": -66 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 153.0, - "y": 134.0 + "x": 153, + "y": 134 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -5.0, - "y": 1.0 + "x": -5, + "y": 1 }, "Position": { - "x": -5.0, - "y": 1.0, - "z": 0.0 + "x": -5, + "y": 1, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -718,33 +718,33 @@ "DataId": "b44742a7c3de2604ba4999a54ae0b4ed" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -756,12 +756,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 0, "Enable": true @@ -798,20 +798,20 @@ "ActivePlatform": 2, "AlignmentOption": 7, "AnchorsMax": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "AnchorsMin": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "MobileOnly": false, "OffsetMax": { - "x": 410.0, + "x": 410, "y": 330.0001 }, "OffsetMin": { - "x": 210.0, + "x": 210, "y": 129.999908 }, "Pivot": { @@ -819,35 +819,35 @@ "y": 0.5 }, "RectSize": { - "x": 200.0, + "x": 200, "y": 200.0002 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 310.0, - "y": 230.0 + "x": 310, + "y": 230 }, "Position": { - "x": -650.0, - "y": -310.0, - "z": 0.0 + "x": -650, + "y": -310, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -859,33 +859,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -897,12 +897,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -945,12 +945,12 @@ "ActivePlatform": 255, "AlignmentOption": 4, "AnchorsMax": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 }, "AnchorsMin": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 }, "MobileOnly": false, "OffsetMax": { @@ -971,9 +971,9 @@ }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { @@ -983,18 +983,18 @@ "Position": { "x": -591.027466, "y": 288.1949, - "z": 0.0 + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -1006,33 +1006,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -1044,12 +1044,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -1094,55 +1094,55 @@ "AlignmentOption": 6, "AnchorsMax": { "x": 0.5, - "y": 0.0 + "y": 0 }, "AnchorsMin": { "x": 0.5, - "y": 0.0 + "y": 0 }, "MobileOnly": false, "OffsetMax": { - "x": 510.0, - "y": 320.0 + "x": 510, + "y": 320 }, "OffsetMin": { - "x": -510.0, - "y": 40.0 + "x": -510, + "y": 40 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1020.0, - "y": 280.0 + "x": 1020, + "y": 280 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 180.0 + "x": 0, + "y": 180 }, "Position": { - "x": 0.0, - "y": -360.0, - "z": 0.0 + "x": 0, + "y": -360, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -1154,33 +1154,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -1192,12 +1192,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -1243,47 +1243,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -310.0, - "y": 125.0 + "x": -310, + "y": 125 }, "OffsetMin": { - "x": -490.0, - "y": -125.0 + "x": -490, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -400.0, - "y": 0.0 + "x": -400, + "y": 0 }, "Position": { - "x": -400.0, - "y": 0.0, - "z": 0.0 + "x": -400, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -1295,33 +1295,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -1333,12 +1333,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -1347,28 +1347,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -1376,7 +1376,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -1431,47 +1431,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -1483,33 +1483,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -1521,12 +1521,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -1536,20 +1536,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -1558,13 +1558,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -1619,47 +1619,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -1671,33 +1671,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -1709,12 +1709,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -1724,20 +1724,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -1746,13 +1746,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -1807,47 +1807,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -40.0 + "x": 80, + "y": -40 }, "OffsetMin": { - "x": -80.0, - "y": -120.0 + "x": -80, + "y": -120 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 80.0 + "x": 160, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -80.0 + "x": 0, + "y": -80 }, "Position": { - "x": 0.0, - "y": -80.0, - "z": 0.0 + "x": 0, + "y": -80, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -1859,33 +1859,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -1897,12 +1897,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -1912,20 +1912,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -1934,13 +1934,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -1995,47 +1995,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -110.0, - "y": 125.0 + "x": -110, + "y": 125 }, "OffsetMin": { - "x": -290.0, - "y": -125.0 + "x": -290, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -200.0, - "y": 0.0 + "x": -200, + "y": 0 }, "Position": { - "x": -200.0, - "y": 0.0, - "z": 0.0 + "x": -200, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -2047,33 +2047,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.42, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -2085,12 +2085,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -2099,28 +2099,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -2128,7 +2128,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -2183,47 +2183,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -2235,33 +2235,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -2273,12 +2273,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -2288,20 +2288,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -2310,13 +2310,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -2371,47 +2371,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -2423,33 +2423,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -2461,12 +2461,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -2476,20 +2476,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -2498,13 +2498,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -2559,47 +2559,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -40.0 + "x": 80, + "y": -40 }, "OffsetMin": { - "x": -80.0, - "y": -120.0 + "x": -80, + "y": -120 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 80.0 + "x": 160, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -80.0 + "x": 0, + "y": -80 }, "Position": { - "x": 0.0, - "y": -80.0, - "z": 0.0 + "x": 0, + "y": -80, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -2611,33 +2611,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -2649,12 +2649,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -2664,20 +2664,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -2686,13 +2686,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -2747,47 +2747,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 90.0, - "y": 125.0 + "x": 90, + "y": 125 }, "OffsetMin": { - "x": -90.0, - "y": -125.0 + "x": -90, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -2799,33 +2799,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -2837,12 +2837,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -2851,28 +2851,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -2880,7 +2880,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -2935,47 +2935,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -2987,33 +2987,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -3025,12 +3025,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -3040,20 +3040,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -3062,13 +3062,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -3123,47 +3123,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -3175,33 +3175,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -3213,12 +3213,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -3228,20 +3228,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -3250,13 +3250,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -3311,47 +3311,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -40.0 + "x": 80, + "y": -40 }, "OffsetMin": { - "x": -80.0, - "y": -120.0 + "x": -80, + "y": -120 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 80.0 + "x": 160, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -80.0 + "x": 0, + "y": -80 }, "Position": { - "x": 0.0, - "y": -80.0, - "z": 0.0 + "x": 0, + "y": -80, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -3363,33 +3363,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -3401,12 +3401,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -3416,20 +3416,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -3438,13 +3438,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -3499,47 +3499,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 290.0, - "y": 125.0 + "x": 290, + "y": 125 }, "OffsetMin": { - "x": 110.0, - "y": -125.0 + "x": 110, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 200.0, - "y": 0.0 + "x": 200, + "y": 0 }, "Position": { - "x": 200.0, - "y": 0.0, - "z": 0.0 + "x": 200, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -3551,33 +3551,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -3589,12 +3589,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -3603,28 +3603,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -3632,7 +3632,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -3687,47 +3687,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -3739,33 +3739,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -3777,12 +3777,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -3792,20 +3792,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -3814,13 +3814,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -3875,47 +3875,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -3927,33 +3927,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -3965,12 +3965,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -3980,20 +3980,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -4002,13 +4002,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -4063,47 +4063,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -40.0 + "x": 80, + "y": -40 }, "OffsetMin": { - "x": -80.0, - "y": -120.0 + "x": -80, + "y": -120 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 80.0 + "x": 160, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -80.0 + "x": 0, + "y": -80 }, "Position": { - "x": 0.0, - "y": -80.0, - "z": 0.0 + "x": 0, + "y": -80, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -4115,33 +4115,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -4153,12 +4153,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -4168,20 +4168,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -4190,13 +4190,13 @@ "r": 0.1, "g": 0.1, "b": 0.1, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -4251,47 +4251,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 490.0, - "y": 125.0 + "x": 490, + "y": 125 }, "OffsetMin": { - "x": 310.0, - "y": -125.0 + "x": 310, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 400.0, - "y": 0.0 + "x": 400, + "y": 0 }, "Position": { - "x": 400.0, - "y": 0.0, - "z": 0.0 + "x": 400, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -4303,33 +4303,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.42, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -4341,12 +4341,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -4355,28 +4355,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -4384,7 +4384,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -4439,47 +4439,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -4491,33 +4491,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -4529,12 +4529,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -4544,20 +4544,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -4566,13 +4566,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -4627,47 +4627,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -4679,33 +4679,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -4717,12 +4717,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -4732,20 +4732,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -4754,13 +4754,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -4815,47 +4815,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -39.0 + "x": 80, + "y": -39 }, "OffsetMin": { - "x": -80.0, - "y": -121.0 + "x": -80, + "y": -121 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 82.0 + "x": 160, + "y": 82 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -80.0 + "x": 0, + "y": -80 }, "Position": { - "x": 0.0, - "y": -80.0, - "z": 0.0 + "x": 0, + "y": -80, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -4867,33 +4867,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -4905,12 +4905,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -4920,20 +4920,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -4942,13 +4942,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -4995,55 +4995,55 @@ "AlignmentOption": 6, "AnchorsMax": { "x": 0.5, - "y": 0.0 + "y": 0 }, "AnchorsMin": { "x": 0.5, - "y": 0.0 + "y": 0 }, "MobileOnly": false, "OffsetMax": { - "x": 640.0, - "y": 345.0 + "x": 640, + "y": 345 }, "OffsetMin": { - "x": -640.0, - "y": 15.0 + "x": -640, + "y": 15 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1280.0, - "y": 330.0 + "x": 1280, + "y": 330 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 180.0 + "x": 0, + "y": 180 }, "Position": { - "x": 0.0, - "y": -360.0, - "z": 0.0 + "x": 0, + "y": -360, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -5055,33 +5055,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -5093,12 +5093,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -5144,47 +5144,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -524.0, - "y": 101.0 + "x": -524, + "y": 101 }, "OffsetMin": { - "x": -656.0, - "y": -85.0 + "x": -656, + "y": -85 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 132.0, - "y": 186.0 + "x": 132, + "y": 186 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -590.0, - "y": 8.0 + "x": -590, + "y": 8 }, "Position": { - "x": -590.0, - "y": 8.0, - "z": 0.0 + "x": -590, + "y": 8, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -5196,33 +5196,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.17, "g": 0.2, "b": 0.25, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -5234,12 +5234,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -5285,47 +5285,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 60.0, - "y": 66.0 + "x": 60, + "y": 66 }, "OffsetMin": { - "x": -60.0, - "y": 24.0 + "x": -60, + "y": 24 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 120.0, - "y": 42.0 + "x": 120, + "y": 42 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 45.0 + "x": 0, + "y": 45 }, "Position": { - "x": 0.0, - "y": 45.0, - "z": 0.0 + "x": 0, + "y": 45, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -5337,33 +5337,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -5375,12 +5375,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -5390,20 +5390,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 21, "MaxSize": 21, @@ -5412,13 +5412,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -5473,47 +5473,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 60.0, - "y": 16.0 + "x": 60, + "y": 16 }, "OffsetMin": { - "x": -60.0, - "y": -56.0 + "x": -60, + "y": -56 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 120.0, - "y": 72.0 + "x": 120, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -20.0 + "x": 0, + "y": -20 }, "Position": { - "x": 0.0, - "y": -20.0, - "z": 0.0 + "x": 0, + "y": -20, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -5525,33 +5525,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -5563,12 +5563,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -5578,20 +5578,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 42, "MaxSize": 42, @@ -5600,13 +5600,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -5661,47 +5661,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 656.0, - "y": 101.0 + "x": 656, + "y": 101 }, "OffsetMin": { - "x": 524.0, - "y": -85.0 + "x": 524, + "y": -85 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 132.0, - "y": 186.0 + "x": 132, + "y": 186 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 590.0, - "y": 8.0 + "x": 590, + "y": 8 }, "Position": { - "x": 590.0, - "y": 8.0, - "z": 0.0 + "x": 590, + "y": 8, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -5713,33 +5713,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.22, "g": 0.18, "b": 0.16, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -5751,12 +5751,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -5802,47 +5802,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 60.0, - "y": 66.0 + "x": 60, + "y": 66 }, "OffsetMin": { - "x": -60.0, - "y": 24.0 + "x": -60, + "y": 24 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 120.0, - "y": 42.0 + "x": 120, + "y": 42 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 45.0 + "x": 0, + "y": 45 }, "Position": { - "x": 0.0, - "y": 45.0, - "z": 0.0 + "x": 0, + "y": 45, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -5854,33 +5854,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -5892,12 +5892,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -5907,20 +5907,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 21, "MaxSize": 21, @@ -5929,13 +5929,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -5990,47 +5990,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 60.0, - "y": 16.0 + "x": 60, + "y": 16 }, "OffsetMin": { - "x": -60.0, - "y": -56.0 + "x": -60, + "y": -56 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 120.0, - "y": 72.0 + "x": 120, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -20.0 + "x": 0, + "y": -20 }, "Position": { - "x": 0.0, - "y": -20.0, - "z": 0.0 + "x": 0, + "y": -20, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6042,33 +6042,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -6080,12 +6080,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -6095,20 +6095,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 42, "MaxSize": 42, @@ -6117,13 +6117,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -6178,47 +6178,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 85.0, - "y": 164.0 + "x": 85, + "y": 164 }, "OffsetMin": { - "x": -85.0, - "y": 106.0 + "x": -85, + "y": 106 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 170.0, - "y": 58.0 + "x": 170, + "y": 58 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 135.0 + "x": 0, + "y": 135 }, "Position": { - "x": 0.0, - "y": 135.0, - "z": 0.0 + "x": 0, + "y": 135, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6230,15 +6230,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -6248,15 +6248,15 @@ "a": 0.92 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -6268,12 +6268,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -6282,28 +6282,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -6311,7 +6311,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -6330,20 +6330,20 @@ "Alignment": 0, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 25, "MaxSize": 25, @@ -6352,13 +6352,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -6413,47 +6413,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 110.0, - "y": 111.0 + "x": 110, + "y": 111 }, "OffsetMin": { - "x": -110.0, - "y": 69.0 + "x": -110, + "y": 69 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 220.0, - "y": 42.0 + "x": 220, + "y": 42 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 90.0 + "x": 0, + "y": 90 }, "Position": { - "x": 0.0, - "y": 90.0, - "z": 0.0 + "x": 0, + "y": 90, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6465,33 +6465,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -6503,12 +6503,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -6518,20 +6518,20 @@ "Alignment": 0, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.6, "g": 0.9, - "b": 1.0, - "a": 1.0 + "b": 1, + "a": 1 }, "FontSize": 24, "MaxSize": 24, @@ -6540,13 +6540,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -6575,7 +6575,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 6, + "displayOrder": 4, "pathConstraints": "///", "revision": 1, "origin": { @@ -6601,47 +6601,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 960.0, - "y": 540.0 + "x": 960, + "y": 540 }, "OffsetMin": { - "x": -960.0, - "y": -540.0 + "x": -960, + "y": -540 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1920.0, - "y": 1080.0 + "x": 1920, + "y": 1080 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6653,33 +6653,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -6691,12 +6691,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -6706,17 +6706,17 @@ } }, { - "id": "0cb00001-0000-4000-8000-00000cb00001", - "path": "/ui/DefaultGroup/CombatHud/EnemyBg", - "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "id": "0cb00029-0000-4000-8000-00000cb00029", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent", "jsonString": { - "name": "EnemyBg", - "path": "/ui/DefaultGroup/CombatHud/EnemyBg", + "name": "MonsterSlot1", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1", "nameEditable": true, - "enable": true, + "enable": false, "visible": true, "localize": true, - "displayOrder": 0, + "displayOrder": 21, "pathConstraints": "////", "revision": 1, "origin": { @@ -6742,47 +6742,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 190.0, - "y": 385.0 + "x": -410, + "y": 348 }, "OffsetMin": { - "x": -190.0, - "y": 215.0 + "x": -550, + "y": 252 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 380.0, - "y": 170.0 + "x": 140, + "y": 96 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 300.0 + "x": -480, + "y": 300 }, "Position": { - "x": 0.0, - "y": 300.0, - "z": 0.0 + "x": -480, + "y": 300, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6794,33 +6794,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.08, - "g": 0.09, - "b": 0.11, - "a": 0.78 + "r": 0, + "g": 0, + "b": 0, + "a": 0.0001 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -6832,33 +6832,80 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, - "RaycastTarget": false, + "OutlineWidth": 3, + "RaycastTarget": true, "Type": 1, "Enable": true + }, + { + "@type": "MOD.Core.ButtonComponent", + "Colors": { + "NormalColor": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "HighlightedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1 + }, + "PressedColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 1 + }, + "SelectedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1 + }, + "DisabledColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 0.5019608 + }, + "ColorMultiplier": 1, + "FadeDuration": 0.1 + }, + "ImageRUIDs": { + "HighlightedSprite": null, + "PressedSprite": null, + "SelectedSprite": null, + "DisabledSprite": null + }, + "KeyCode": 0, + "OverrideSorting": false, + "Transition": 1, + "Enable": true } ], "@version": 1 } }, { - "id": "0cb00002-0000-4000-8000-00000cb00002", - "path": "/ui/DefaultGroup/CombatHud/EnemyName", + "id": "0cb0003d-0000-4000-8000-00000cb0003d", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/Name", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { - "name": "EnemyName", - "path": "/ui/DefaultGroup/CombatHud/EnemyName", + "name": "Name", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/Name", "nameEditable": true, "enable": true, "visible": true, "localize": true, - "displayOrder": 1, - "pathConstraints": "////", + "displayOrder": 0, + "pathConstraints": "/////", "revision": 1, "origin": { "type": "Model", @@ -6883,47 +6930,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 180.0, - "y": 380.0 + "x": 70, + "y": 49 }, "OffsetMin": { - "x": -180.0, - "y": 336.0 + "x": -70, + "y": 19 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 360.0, - "y": 44.0 + "x": 140, + "y": 30 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 358.0 + "x": 0, + "y": 34 }, "Position": { - "x": 0.0, - "y": 358.0, - "z": 0.0 + "x": 0, + "y": 34, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6935,33 +6982,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -6973,12 +7020,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -6988,396 +7035,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 - }, - "FontSize": 28, - "MaxSize": 28, - "MinSize": 8, - "OutlineColor": { - "r": 0.08, - "g": 0.08, - "b": 0.08, - "a": 1.0 - }, - "OutlineDistance": { - "x": 1.0, - "y": -1.0 - }, - "OutlineWidth": 1.0, - "Overflow": 0, - "OverrideSorting": false, - "Padding": { - "left": 0, - "right": 0, - "top": 0, - "bottom": 0 - }, - "SizeFit": false, - "Text": "슬라임", - "UseOutLine": true, - "Enable": true - } - ], - "@version": 1 - } - }, - { - "id": "0cb00003-0000-4000-8000-00000cb00003", - "path": "/ui/DefaultGroup/CombatHud/EnemyHp", - "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", - "jsonString": { - "name": "EnemyHp", - "path": "/ui/DefaultGroup/CombatHud/EnemyHp", - "nameEditable": true, - "enable": true, - "visible": true, - "localize": true, - "displayOrder": 2, - "pathConstraints": "////", - "revision": 1, - "origin": { - "type": "Model", - "entry_id": "UIText", - "sub_entity_id": null, - "root_entity_id": null, - "replaced_model_id": null - }, - "modelId": "uitext", - "@components": [ - { - "@type": "MOD.Core.UITransformComponent", - "ActivePlatform": 255, - "AlignmentOption": 0, - "AnchorsMax": { - "x": 0.5, - "y": 0.5 - }, - "AnchorsMin": { - "x": 0.5, - "y": 0.5 - }, - "MobileOnly": false, - "OffsetMax": { - "x": 180.0, - "y": 336.0 - }, - "OffsetMin": { - "x": -180.0, - "y": 296.0 - }, - "Pivot": { - "x": 0.5, - "y": 0.5 - }, - "RectSize": { - "x": 360.0, - "y": 40.0 - }, - "UIMode": 1, - "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 - }, - "UIVersion": 2, - "anchoredPosition": { - "x": 0.0, - "y": 316.0 - }, - "Position": { - "x": 0.0, - "y": 316.0, - "z": 0.0 - }, - "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 - }, - "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 - }, - "Enable": true - }, - { - "@type": "MOD.Core.SpriteGUIRendererComponent", - "AnimClipPlayType": 0, - "EndFrameIndex": 2147483647, - "ImageRUID": { - "DataId": "" - }, - "LocalPosition": { - "x": 0.0, - "y": 0.0 - }, - "LocalScale": { - "x": 1.0, - "y": 1.0 - }, - "OverrideSorting": false, - "PlayRate": 1.0, - "PreserveSprite": 0, - "StartFrameIndex": 0, - "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 - }, - "DropShadow": false, - "DropShadowAngle": 30.0, - "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.72 - }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, - "FillCenter": true, - "FillClockWise": true, - "FillMethod": 0, - "FillOrigin": 0, - "FlipX": false, - "FlipY": false, - "FrameColumn": 1, - "FrameRate": 0, - "FrameRow": 1, - "Outline": false, - "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 - }, - "OutlineWidth": 3.0, - "RaycastTarget": false, - "Type": 1, - "Enable": true - }, - { - "@type": "MOD.Core.TextComponent", - "Alignment": 4, - "Bold": true, - "DropShadow": false, - "DropShadowAngle": 30.0, - "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.72 - }, - "DropShadowDistance": 32.0, - "Font": 0, - "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 - }, - "FontSize": 24, - "MaxSize": 24, - "MinSize": 8, - "OutlineColor": { - "r": 0.08, - "g": 0.08, - "b": 0.08, - "a": 1.0 - }, - "OutlineDistance": { - "x": 1.0, - "y": -1.0 - }, - "OutlineWidth": 1.0, - "Overflow": 0, - "OverrideSorting": false, - "Padding": { - "left": 0, - "right": 0, - "top": 0, - "bottom": 0 - }, - "SizeFit": false, - "Text": "HP 45/45", - "UseOutLine": true, - "Enable": true - } - ], - "@version": 1 - } - }, - { - "id": "0cb00004-0000-4000-8000-00000cb00004", - "path": "/ui/DefaultGroup/CombatHud/EnemyBlock", - "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", - "jsonString": { - "name": "EnemyBlock", - "path": "/ui/DefaultGroup/CombatHud/EnemyBlock", - "nameEditable": true, - "enable": true, - "visible": true, - "localize": true, - "displayOrder": 3, - "pathConstraints": "////", - "revision": 1, - "origin": { - "type": "Model", - "entry_id": "UIText", - "sub_entity_id": null, - "root_entity_id": null, - "replaced_model_id": null - }, - "modelId": "uitext", - "@components": [ - { - "@type": "MOD.Core.UITransformComponent", - "ActivePlatform": 255, - "AlignmentOption": 0, - "AnchorsMax": { - "x": 0.5, - "y": 0.5 - }, - "AnchorsMin": { - "x": 0.5, - "y": 0.5 - }, - "MobileOnly": false, - "OffsetMax": { - "x": 180.0, - "y": 298.0 - }, - "OffsetMin": { - "x": -180.0, - "y": 262.0 - }, - "Pivot": { - "x": 0.5, - "y": 0.5 - }, - "RectSize": { - "x": 360.0, - "y": 36.0 - }, - "UIMode": 1, - "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 - }, - "UIVersion": 2, - "anchoredPosition": { - "x": 0.0, - "y": 280.0 - }, - "Position": { - "x": 0.0, - "y": 280.0, - "z": 0.0 - }, - "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 - }, - "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 - }, - "Enable": true - }, - { - "@type": "MOD.Core.SpriteGUIRendererComponent", - "AnimClipPlayType": 0, - "EndFrameIndex": 2147483647, - "ImageRUID": { - "DataId": "" - }, - "LocalPosition": { - "x": 0.0, - "y": 0.0 - }, - "LocalScale": { - "x": 1.0, - "y": 1.0 - }, - "OverrideSorting": false, - "PlayRate": 1.0, - "PreserveSprite": 0, - "StartFrameIndex": 0, - "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 - }, - "DropShadow": false, - "DropShadowAngle": 30.0, - "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.72 - }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, - "FillCenter": true, - "FillClockWise": true, - "FillMethod": 0, - "FillOrigin": 0, - "FlipX": false, - "FlipY": false, - "FrameColumn": 1, - "FrameRate": 0, - "FrameRow": 1, - "Outline": false, - "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 - }, - "OutlineWidth": 3.0, - "RaycastTarget": false, - "Type": 1, - "Enable": true - }, - { - "@type": "MOD.Core.TextComponent", - "Alignment": 4, - "Bold": false, - "DropShadow": false, - "DropShadowAngle": 30.0, - "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.72 - }, - "DropShadowDistance": 32.0, - "Font": 0, - "FontColor": { - "r": 0.6, - "g": 0.8, - "b": 1.0, - "a": 1.0 + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -7386,13 +7057,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -7402,7 +7073,7 @@ "bottom": 0 }, "SizeFit": false, - "Text": "방어 0", + "Text": "", "UseOutLine": true, "Enable": true } @@ -7411,18 +7082,18 @@ } }, { - "id": "0cb00005-0000-4000-8000-00000cb00005", - "path": "/ui/DefaultGroup/CombatHud/EnemyIntent", + "id": "0cb00051-0000-4000-8000-00000cb00051", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/Hp", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { - "name": "EnemyIntent", - "path": "/ui/DefaultGroup/CombatHud/EnemyIntent", + "name": "Hp", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/Hp", "nameEditable": true, "enable": true, "visible": true, "localize": true, - "displayOrder": 4, - "pathConstraints": "////", + "displayOrder": 1, + "pathConstraints": "/////", "revision": 1, "origin": { "type": "Model", @@ -7447,47 +7118,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 180.0, - "y": 263.0 + "x": 70, + "y": 19 }, "OffsetMin": { - "x": -180.0, - "y": 225.0 + "x": -70, + "y": -7 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 360.0, - "y": 38.0 + "x": 140, + "y": 26 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 244.0 + "x": 0, + "y": 6 }, "Position": { - "x": 0.0, - "y": 244.0, - "z": 0.0 + "x": 0, + "y": 6, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -7499,33 +7170,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -7537,12 +7208,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -7552,35 +7223,35 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 0.72, - "b": 0.5, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, - "FontSize": 22, - "MaxSize": 22, + "FontSize": 18, + "MaxSize": 18, "MinSize": 8, "OutlineColor": { "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -7590,7 +7261,7 @@ "bottom": 0 }, "SizeFit": false, - "Text": "의도: 공격 10", + "Text": "", "UseOutLine": true, "Enable": true } @@ -7599,7 +7270,3579 @@ } }, { - "id": "0cb00006-0000-4000-8000-00000cb00006", + "id": "0cb00065-0000-4000-8000-00000cb00065", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/HpBarBg", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "HpBarBg", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/HpBarBg", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 2, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 60, + "y": -7 + }, + "OffsetMin": { + "x": -60, + "y": -21 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 120, + "y": 14 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": -14 + }, + "Position": { + "x": 0, + "y": -14, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.18, + "g": 0.05, + "b": 0.06, + "a": 1 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00079-0000-4000-8000-00000cb00079", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/HpBarFill", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "HpBarFill", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/HpBarFill", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 3, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 60, + "y": -7 + }, + "OffsetMin": { + "x": -60, + "y": -21 + }, + "Pivot": { + "x": 0, + "y": 0.5 + }, + "RectSize": { + "x": 120, + "y": 14 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -60, + "y": -14 + }, + "Position": { + "x": -60, + "y": -14, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.86, + "g": 0.35, + "b": 0.32, + "a": 1 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0008d-0000-4000-8000-00000cb0008d", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/Intent", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Intent", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot1/Intent", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 4, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 90, + "y": -24 + }, + "OffsetMin": { + "x": -90, + "y": -48 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 180, + "y": 24 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": -36 + }, + "Position": { + "x": 0, + "y": -36, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 1, + "g": 0.72, + "b": 0.5, + "a": 1 + }, + "FontSize": 17, + "MaxSize": 17, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0002a-0000-4000-8000-00000cb0002a", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent", + "jsonString": { + "name": "MonsterSlot2", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2", + "nameEditable": true, + "enable": false, + "visible": true, + "localize": true, + "displayOrder": 22, + "pathConstraints": "////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": -90, + "y": 348 + }, + "OffsetMin": { + "x": -230, + "y": 252 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 96 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -160, + "y": 300 + }, + "Position": { + "x": -160, + "y": 300, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.0001 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": true, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.ButtonComponent", + "Colors": { + "NormalColor": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "HighlightedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1 + }, + "PressedColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 1 + }, + "SelectedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1 + }, + "DisabledColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 0.5019608 + }, + "ColorMultiplier": 1, + "FadeDuration": 0.1 + }, + "ImageRUIDs": { + "HighlightedSprite": null, + "PressedSprite": null, + "SelectedSprite": null, + "DisabledSprite": null + }, + "KeyCode": 0, + "OverrideSorting": false, + "Transition": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0003e-0000-4000-8000-00000cb0003e", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/Name", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Name", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/Name", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 70, + "y": 49 + }, + "OffsetMin": { + "x": -70, + "y": 19 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 30 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": 34 + }, + "Position": { + "x": 0, + "y": 34, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 0.94, + "g": 0.74, + "b": 0.26, + "a": 1 + }, + "FontSize": 20, + "MaxSize": 20, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00052-0000-4000-8000-00000cb00052", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/Hp", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Hp", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/Hp", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 1, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 70, + "y": 19 + }, + "OffsetMin": { + "x": -70, + "y": -7 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 26 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": 6 + }, + "Position": { + "x": 0, + "y": 6, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "FontSize": 18, + "MaxSize": 18, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00066-0000-4000-8000-00000cb00066", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/HpBarBg", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "HpBarBg", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/HpBarBg", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 2, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 60, + "y": -7 + }, + "OffsetMin": { + "x": -60, + "y": -21 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 120, + "y": 14 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": -14 + }, + "Position": { + "x": 0, + "y": -14, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.18, + "g": 0.05, + "b": 0.06, + "a": 1 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0007a-0000-4000-8000-00000cb0007a", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/HpBarFill", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "HpBarFill", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/HpBarFill", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 3, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 60, + "y": -7 + }, + "OffsetMin": { + "x": -60, + "y": -21 + }, + "Pivot": { + "x": 0, + "y": 0.5 + }, + "RectSize": { + "x": 120, + "y": 14 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -60, + "y": -14 + }, + "Position": { + "x": -60, + "y": -14, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.86, + "g": 0.35, + "b": 0.32, + "a": 1 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0008e-0000-4000-8000-00000cb0008e", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/Intent", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Intent", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot2/Intent", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 4, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 90, + "y": -24 + }, + "OffsetMin": { + "x": -90, + "y": -48 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 180, + "y": 24 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": -36 + }, + "Position": { + "x": 0, + "y": -36, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 1, + "g": 0.72, + "b": 0.5, + "a": 1 + }, + "FontSize": 17, + "MaxSize": 17, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0002b-0000-4000-8000-00000cb0002b", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent", + "jsonString": { + "name": "MonsterSlot3", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3", + "nameEditable": true, + "enable": false, + "visible": true, + "localize": true, + "displayOrder": 23, + "pathConstraints": "////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 230, + "y": 348 + }, + "OffsetMin": { + "x": 90, + "y": 252 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 96 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 160, + "y": 300 + }, + "Position": { + "x": 160, + "y": 300, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.0001 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": true, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.ButtonComponent", + "Colors": { + "NormalColor": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "HighlightedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1 + }, + "PressedColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 1 + }, + "SelectedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1 + }, + "DisabledColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 0.5019608 + }, + "ColorMultiplier": 1, + "FadeDuration": 0.1 + }, + "ImageRUIDs": { + "HighlightedSprite": null, + "PressedSprite": null, + "SelectedSprite": null, + "DisabledSprite": null + }, + "KeyCode": 0, + "OverrideSorting": false, + "Transition": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0003f-0000-4000-8000-00000cb0003f", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/Name", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Name", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/Name", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 70, + "y": 49 + }, + "OffsetMin": { + "x": -70, + "y": 19 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 30 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": 34 + }, + "Position": { + "x": 0, + "y": 34, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 0.94, + "g": 0.74, + "b": 0.26, + "a": 1 + }, + "FontSize": 20, + "MaxSize": 20, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00053-0000-4000-8000-00000cb00053", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/Hp", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Hp", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/Hp", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 1, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 70, + "y": 19 + }, + "OffsetMin": { + "x": -70, + "y": -7 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 26 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": 6 + }, + "Position": { + "x": 0, + "y": 6, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "FontSize": 18, + "MaxSize": 18, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00067-0000-4000-8000-00000cb00067", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/HpBarBg", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "HpBarBg", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/HpBarBg", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 2, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 60, + "y": -7 + }, + "OffsetMin": { + "x": -60, + "y": -21 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 120, + "y": 14 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": -14 + }, + "Position": { + "x": 0, + "y": -14, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.18, + "g": 0.05, + "b": 0.06, + "a": 1 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0007b-0000-4000-8000-00000cb0007b", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/HpBarFill", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "HpBarFill", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/HpBarFill", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 3, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 60, + "y": -7 + }, + "OffsetMin": { + "x": -60, + "y": -21 + }, + "Pivot": { + "x": 0, + "y": 0.5 + }, + "RectSize": { + "x": 120, + "y": 14 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -60, + "y": -14 + }, + "Position": { + "x": -60, + "y": -14, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.86, + "g": 0.35, + "b": 0.32, + "a": 1 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0008f-0000-4000-8000-00000cb0008f", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/Intent", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Intent", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot3/Intent", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 4, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 90, + "y": -24 + }, + "OffsetMin": { + "x": -90, + "y": -48 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 180, + "y": 24 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": -36 + }, + "Position": { + "x": 0, + "y": -36, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 1, + "g": 0.72, + "b": 0.5, + "a": 1 + }, + "FontSize": 17, + "MaxSize": 17, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0002c-0000-4000-8000-00000cb0002c", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.ButtonComponent", + "jsonString": { + "name": "MonsterSlot4", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4", + "nameEditable": true, + "enable": false, + "visible": true, + "localize": true, + "displayOrder": 24, + "pathConstraints": "////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 550, + "y": 348 + }, + "OffsetMin": { + "x": 410, + "y": 252 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 96 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 480, + "y": 300 + }, + "Position": { + "x": 480, + "y": 300, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.0001 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": true, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.ButtonComponent", + "Colors": { + "NormalColor": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "HighlightedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1 + }, + "PressedColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 1 + }, + "SelectedColor": { + "r": 0.9607843, + "g": 0.9607843, + "b": 0.9607843, + "a": 1 + }, + "DisabledColor": { + "r": 0.784313738, + "g": 0.784313738, + "b": 0.784313738, + "a": 0.5019608 + }, + "ColorMultiplier": 1, + "FadeDuration": 0.1 + }, + "ImageRUIDs": { + "HighlightedSprite": null, + "PressedSprite": null, + "SelectedSprite": null, + "DisabledSprite": null + }, + "KeyCode": 0, + "OverrideSorting": false, + "Transition": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00040-0000-4000-8000-00000cb00040", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/Name", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Name", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/Name", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 0, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 70, + "y": 49 + }, + "OffsetMin": { + "x": -70, + "y": 19 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 30 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": 34 + }, + "Position": { + "x": 0, + "y": 34, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 0.94, + "g": 0.74, + "b": 0.26, + "a": 1 + }, + "FontSize": 20, + "MaxSize": 20, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00054-0000-4000-8000-00000cb00054", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/Hp", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Hp", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/Hp", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 1, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 70, + "y": 19 + }, + "OffsetMin": { + "x": -70, + "y": -7 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 140, + "y": 26 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": 6 + }, + "Position": { + "x": 0, + "y": 6, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 1, + "g": 1, + "b": 1, + "a": 1 + }, + "FontSize": 18, + "MaxSize": 18, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00068-0000-4000-8000-00000cb00068", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/HpBarBg", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "HpBarBg", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/HpBarBg", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 2, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 60, + "y": -7 + }, + "OffsetMin": { + "x": -60, + "y": -21 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 120, + "y": 14 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": -14 + }, + "Position": { + "x": 0, + "y": -14, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.18, + "g": 0.05, + "b": 0.06, + "a": 1 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb0007c-0000-4000-8000-00000cb0007c", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/HpBarFill", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", + "jsonString": { + "name": "HpBarFill", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/HpBarFill", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 3, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UISprite", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uisprite", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 60, + "y": -7 + }, + "OffsetMin": { + "x": -60, + "y": -21 + }, + "Pivot": { + "x": 0, + "y": 0.5 + }, + "RectSize": { + "x": 120, + "y": 14 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": -60, + "y": -14 + }, + "Position": { + "x": -60, + "y": -14, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0.86, + "g": 0.35, + "b": 0.32, + "a": 1 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00090-0000-4000-8000-00000cb00090", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/Intent", + "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", + "jsonString": { + "name": "Intent", + "path": "/ui/DefaultGroup/CombatHud/MonsterSlot4/Intent", + "nameEditable": true, + "enable": true, + "visible": true, + "localize": true, + "displayOrder": 4, + "pathConstraints": "/////", + "revision": 1, + "origin": { + "type": "Model", + "entry_id": "UIText", + "sub_entity_id": null, + "root_entity_id": null, + "replaced_model_id": null + }, + "modelId": "uitext", + "@components": [ + { + "@type": "MOD.Core.UITransformComponent", + "ActivePlatform": 255, + "AlignmentOption": 0, + "AnchorsMax": { + "x": 0.5, + "y": 0.5 + }, + "AnchorsMin": { + "x": 0.5, + "y": 0.5 + }, + "MobileOnly": false, + "OffsetMax": { + "x": 90, + "y": -24 + }, + "OffsetMin": { + "x": -90, + "y": -48 + }, + "Pivot": { + "x": 0.5, + "y": 0.5 + }, + "RectSize": { + "x": 180, + "y": 24 + }, + "UIMode": 1, + "UIScale": { + "x": 1, + "y": 1, + "z": 1 + }, + "UIVersion": 2, + "anchoredPosition": { + "x": 0, + "y": -36 + }, + "Position": { + "x": 0, + "y": -36, + "z": 0 + }, + "QuaternionRotation": { + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "Scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "Enable": true + }, + { + "@type": "MOD.Core.SpriteGUIRendererComponent", + "AnimClipPlayType": 0, + "EndFrameIndex": 2147483647, + "ImageRUID": { + "DataId": "" + }, + "LocalPosition": { + "x": 0, + "y": 0 + }, + "LocalScale": { + "x": 1, + "y": 1 + }, + "OverrideSorting": false, + "PlayRate": 1, + "PreserveSprite": 0, + "StartFrameIndex": 0, + "Color": { + "r": 0, + "g": 0, + "b": 0, + "a": 0 + }, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "FillAmount": 1, + "FillCenter": true, + "FillClockWise": true, + "FillMethod": 0, + "FillOrigin": 0, + "FlipX": false, + "FlipY": false, + "FrameColumn": 1, + "FrameRate": 0, + "FrameRow": 1, + "Outline": false, + "OutlineColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + }, + "OutlineWidth": 3, + "RaycastTarget": false, + "Type": 1, + "Enable": true + }, + { + "@type": "MOD.Core.TextComponent", + "Alignment": 4, + "Bold": true, + "DropShadow": false, + "DropShadowAngle": 30, + "DropShadowColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 0.72 + }, + "DropShadowDistance": 32, + "Font": 0, + "FontColor": { + "r": 1, + "g": 0.72, + "b": 0.5, + "a": 1 + }, + "FontSize": 17, + "MaxSize": 17, + "MinSize": 8, + "OutlineColor": { + "r": 0.08, + "g": 0.08, + "b": 0.08, + "a": 1 + }, + "OutlineDistance": { + "x": 1, + "y": -1 + }, + "OutlineWidth": 1, + "Overflow": 0, + "OverrideSorting": false, + "Padding": { + "left": 0, + "right": 0, + "top": 0, + "bottom": 0 + }, + "SizeFit": false, + "Text": "", + "UseOutLine": true, + "Enable": true + } + ], + "@version": 1 + } + }, + { + "id": "0cb00002-0000-4000-8000-00000cb00002", "path": "/ui/DefaultGroup/CombatHud/PlayerBg", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent", "jsonString": { @@ -7635,47 +10878,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -610.0, - "y": -205.0 + "x": -610, + "y": -205 }, "OffsetMin": { - "x": -910.0, - "y": -315.0 + "x": -910, + "y": -315 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 300.0, - "y": 110.0 + "x": 300, + "y": 110 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -760.0, - "y": -260.0 + "x": -760, + "y": -260 }, "Position": { - "x": -760.0, - "y": -260.0, - "z": 0.0 + "x": -760, + "y": -260, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -7687,15 +10930,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -7705,15 +10948,15 @@ "a": 0.78 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -7725,12 +10968,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -7740,7 +10983,7 @@ } }, { - "id": "0cb00007-0000-4000-8000-00000cb00007", + "id": "0cb00003-0000-4000-8000-00000cb00003", "path": "/ui/DefaultGroup/CombatHud/PlayerHp", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -7776,47 +11019,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -620.0, - "y": -216.0 + "x": -620, + "y": -216 }, "OffsetMin": { - "x": -900.0, - "y": -260.0 + "x": -900, + "y": -260 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 280.0, - "y": 44.0 + "x": 280, + "y": 44 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -760.0, - "y": -238.0 + "x": -760, + "y": -238 }, "Position": { - "x": -760.0, - "y": -238.0, - "z": 0.0 + "x": -760, + "y": -238, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -7828,33 +11071,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -7866,12 +11109,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -7881,20 +11124,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -7903,13 +11146,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -7928,7 +11171,7 @@ } }, { - "id": "0cb00008-0000-4000-8000-00000cb00008", + "id": "0cb00004-0000-4000-8000-00000cb00004", "path": "/ui/DefaultGroup/CombatHud/PlayerBlock", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -7964,47 +11207,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -620.0, - "y": -265.0 + "x": -620, + "y": -265 }, "OffsetMin": { - "x": -900.0, - "y": -303.0 + "x": -900, + "y": -303 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 280.0, - "y": 38.0 + "x": 280, + "y": 38 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -760.0, - "y": -284.0 + "x": -760, + "y": -284 }, "Position": { - "x": -760.0, - "y": -284.0, - "z": 0.0 + "x": -760, + "y": -284, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -8016,33 +11259,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -8054,12 +11297,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -8069,20 +11312,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.6, "g": 0.8, - "b": 1.0, - "a": 1.0 + "b": 1, + "a": 1 }, "FontSize": 22, "MaxSize": 22, @@ -8091,13 +11334,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -8116,7 +11359,7 @@ } }, { - "id": "0cb00009-0000-4000-8000-00000cb00009", + "id": "0cb00005-0000-4000-8000-00000cb00005", "path": "/ui/DefaultGroup/CombatHud/Floor", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -8126,7 +11369,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 8, + "displayOrder": 9, "pathConstraints": "////", "revision": 1, "origin": { @@ -8152,47 +11395,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -700.0, - "y": 502.0 + "x": -700, + "y": 502 }, "OffsetMin": { - "x": -940.0, - "y": 458.0 + "x": -940, + "y": 458 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 240.0, - "y": 44.0 + "x": 240, + "y": 44 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -820.0, - "y": 480.0 + "x": -820, + "y": 480 }, "Position": { - "x": -820.0, - "y": 480.0, - "z": 0.0 + "x": -820, + "y": 480, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -8204,33 +11447,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -8242,12 +11485,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -8257,20 +11500,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -8279,13 +11522,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -8304,7 +11547,7 @@ } }, { - "id": "0cb0000a-0000-4000-8000-00000cb0000a", + "id": "0cb00006-0000-4000-8000-00000cb00006", "path": "/ui/DefaultGroup/CombatHud/Gold", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -8340,47 +11583,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 940.0, - "y": 502.0 + "x": 940, + "y": 502 }, "OffsetMin": { - "x": 700.0, - "y": 458.0 + "x": 700, + "y": 458 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 240.0, - "y": 44.0 + "x": 240, + "y": 44 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 820.0, - "y": 480.0 + "x": 820, + "y": 480 }, "Position": { - "x": 820.0, - "y": 480.0, - "z": 0.0 + "x": 820, + "y": 480, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -8392,33 +11635,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -8430,12 +11673,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -8445,20 +11688,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.98, "g": 0.85, "b": 0.4, - "a": 1.0 + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -8467,13 +11710,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -8492,7 +11735,7 @@ } }, { - "id": "0cb0000b-0000-4000-8000-00000cb0000b", + "id": "0cb00007-0000-4000-8000-00000cb00007", "path": "/ui/DefaultGroup/CombatHud/Relics", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -8502,7 +11745,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 10, + "displayOrder": 9, "pathConstraints": "////", "revision": 1, "origin": { @@ -8528,47 +11771,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 500.0, - "y": 450.0 + "x": 500, + "y": 450 }, "OffsetMin": { - "x": -500.0, - "y": 410.0 + "x": -500, + "y": 410 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1000.0, - "y": 40.0 + "x": 1000, + "y": 40 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 430.0 + "x": 0, + "y": 430 }, "Position": { - "x": 0.0, - "y": 430.0, - "z": 0.0 + "x": 0, + "y": 430, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -8580,33 +11823,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -8618,12 +11861,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -8633,20 +11876,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.8, "g": 0.7, "b": 0.95, - "a": 1.0 + "a": 1 }, "FontSize": 22, "MaxSize": 22, @@ -8655,13 +11898,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -8680,7 +11923,7 @@ } }, { - "id": "0cb0000c-0000-4000-8000-00000cb0000c", + "id": "0cb00008-0000-4000-8000-00000cb00008", "path": "/ui/DefaultGroup/CombatHud/Result", "componentNames": "MOD.Core.UITransformComponent,MOD.Core.SpriteGUIRendererComponent,MOD.Core.TextComponent", "jsonString": { @@ -8690,7 +11933,7 @@ "enable": false, "visible": true, "localize": true, - "displayOrder": 11, + "displayOrder": 8, "pathConstraints": "////", "revision": 1, "origin": { @@ -8716,47 +11959,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 350.0, - "y": 190.0 + "x": 350, + "y": 190 }, "OffsetMin": { - "x": -350.0, - "y": 50.0 + "x": -350, + "y": 50 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 700.0, - "y": 140.0 + "x": 700, + "y": 140 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 120.0 + "x": 0, + "y": 120 }, "Position": { - "x": 0.0, - "y": 120.0, - "z": 0.0 + "x": 0, + "y": 120, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -8768,33 +12011,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -8806,12 +12049,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -8821,20 +12064,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 64, "MaxSize": 64, @@ -8843,13 +12086,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -8878,7 +12121,7 @@ "enable": false, "visible": true, "localize": true, - "displayOrder": 7, + "displayOrder": 6, "pathConstraints": "///", "revision": 1, "origin": { @@ -8904,47 +12147,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 960.0, - "y": 540.0 + "x": 960, + "y": 540 }, "OffsetMin": { - "x": -960.0, - "y": -540.0 + "x": -960, + "y": -540 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1920.0, - "y": 1080.0 + "x": 1920, + "y": 1080 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -8956,15 +12199,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -8974,15 +12217,15 @@ "a": 0.86 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -8994,12 +12237,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -9045,47 +12288,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 350.0, - "y": 332.0 + "x": 350, + "y": 332 }, "OffsetMin": { - "x": -350.0, - "y": 268.0 + "x": -350, + "y": 268 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 700.0, - "y": 64.0 + "x": 700, + "y": 64 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 300.0 + "x": 0, + "y": 300 }, "Position": { - "x": 0.0, - "y": 300.0, - "z": 0.0 + "x": 0, + "y": 300, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -9097,33 +12340,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -9135,12 +12378,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -9150,20 +12393,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 44, "MaxSize": 44, @@ -9172,13 +12415,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -9233,47 +12476,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -210.0, - "y": 125.0 + "x": -210, + "y": 125 }, "OffsetMin": { - "x": -390.0, - "y": -125.0 + "x": -390, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -300.0, - "y": 0.0 + "x": -300, + "y": 0 }, "Position": { - "x": -300.0, - "y": 0.0, - "z": 0.0 + "x": -300, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -9285,33 +12528,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -9323,12 +12566,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -9337,28 +12580,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -9366,7 +12609,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -9421,47 +12664,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -9473,33 +12716,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -9511,12 +12754,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -9526,20 +12769,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -9548,13 +12791,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -9609,47 +12852,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -9661,33 +12904,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -9699,12 +12942,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -9714,20 +12957,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -9736,13 +12979,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -9797,47 +13040,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -39.0 + "x": 80, + "y": -39 }, "OffsetMin": { - "x": -80.0, - "y": -121.0 + "x": -80, + "y": -121 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 82.0 + "x": 160, + "y": 82 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -80.0 + "x": 0, + "y": -80 }, "Position": { - "x": 0.0, - "y": -80.0, - "z": 0.0 + "x": 0, + "y": -80, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -9849,33 +13092,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -9887,12 +13130,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -9902,20 +13145,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -9924,13 +13167,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -9985,47 +13228,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 90.0, - "y": 125.0 + "x": 90, + "y": 125 }, "OffsetMin": { - "x": -90.0, - "y": -125.0 + "x": -90, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -10037,33 +13280,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -10075,12 +13318,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -10089,28 +13332,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -10118,7 +13361,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -10173,47 +13416,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -10225,33 +13468,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -10263,12 +13506,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -10278,20 +13521,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -10300,13 +13543,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -10361,47 +13604,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -10413,33 +13656,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -10451,12 +13694,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -10466,20 +13709,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -10488,13 +13731,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -10549,47 +13792,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -39.0 + "x": 80, + "y": -39 }, "OffsetMin": { - "x": -80.0, - "y": -121.0 + "x": -80, + "y": -121 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 82.0 + "x": 160, + "y": 82 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -80.0 + "x": 0, + "y": -80 }, "Position": { - "x": 0.0, - "y": -80.0, - "z": 0.0 + "x": 0, + "y": -80, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -10601,33 +13844,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -10639,12 +13882,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -10654,20 +13897,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -10676,13 +13919,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -10737,47 +13980,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 390.0, - "y": 125.0 + "x": 390, + "y": 125 }, "OffsetMin": { - "x": 210.0, - "y": -125.0 + "x": 210, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 300.0, - "y": 0.0 + "x": 300, + "y": 0 }, "Position": { - "x": 300.0, - "y": 0.0, - "z": 0.0 + "x": 300, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -10789,33 +14032,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -10827,12 +14070,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -10841,28 +14084,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -10870,7 +14113,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -10925,47 +14168,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -10977,33 +14220,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -11015,12 +14258,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -11030,20 +14273,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -11052,13 +14295,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -11113,47 +14356,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -11165,33 +14408,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -11203,12 +14446,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -11218,20 +14461,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -11240,13 +14483,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -11301,47 +14544,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -39.0 + "x": 80, + "y": -39 }, "OffsetMin": { - "x": -80.0, - "y": -121.0 + "x": -80, + "y": -121 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 82.0 + "x": 160, + "y": 82 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -80.0 + "x": 0, + "y": -80 }, "Position": { - "x": 0.0, - "y": -80.0, - "z": 0.0 + "x": 0, + "y": -80, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -11353,33 +14596,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -11391,12 +14634,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -11406,20 +14649,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -11428,13 +14671,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -11463,7 +14706,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 4, + "displayOrder": 10, "pathConstraints": "////", "revision": 1, "origin": { @@ -11489,47 +14732,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 100.0, - "y": -230.0 + "x": 100, + "y": -230 }, "OffsetMin": { - "x": -100.0, - "y": -290.0 + "x": -100, + "y": -290 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 200.0, - "y": 60.0 + "x": 200, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -260.0 + "x": 0, + "y": -260 }, "Position": { - "x": 0.0, - "y": -260.0, - "z": 0.0 + "x": 0, + "y": -260, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -11541,15 +14784,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -11559,15 +14802,15 @@ "a": 0.92 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -11579,12 +14822,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -11593,28 +14836,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -11622,7 +14865,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -11641,20 +14884,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -11663,13 +14906,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -11698,7 +14941,7 @@ "enable": false, "visible": true, "localize": true, - "displayOrder": 8, + "displayOrder": 7, "pathConstraints": "///", "revision": 1, "origin": { @@ -11724,47 +14967,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 960.0, - "y": 540.0 + "x": 960, + "y": 540 }, "OffsetMin": { - "x": -960.0, - "y": -540.0 + "x": -960, + "y": -540 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1920.0, - "y": 1080.0 + "x": 1920, + "y": 1080 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -11776,15 +15019,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -11794,15 +15037,15 @@ "a": 0.9 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -11814,12 +15057,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -11865,47 +15108,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 350.0, - "y": 540.0 + "x": 350, + "y": 540 }, "OffsetMin": { - "x": -350.0, - "y": 480.0 + "x": -350, + "y": 480 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 700.0, - "y": 60.0 + "x": 700, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 510.0 + "x": 0, + "y": 510 }, "Position": { - "x": 0.0, - "y": 510.0, - "z": 0.0 + "x": 0, + "y": 510, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -11917,33 +15160,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -11955,12 +15198,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -11970,20 +15213,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 40, "MaxSize": 40, @@ -11992,13 +15235,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -12053,47 +15296,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -105.0, - "y": -170.0 + "x": -105, + "y": -170 }, "OffsetMin": { - "x": -255.0, - "y": -250.0 + "x": -255, + "y": -250 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 150.0, - "y": 80.0 + "x": 150, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -180.0, - "y": -210.0 + "x": -180, + "y": -210 }, "Position": { - "x": -180.0, - "y": -210.0, - "z": 0.0 + "x": -180, + "y": -210, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -12105,33 +15348,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.3, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -12143,12 +15386,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -12157,28 +15400,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -12186,7 +15429,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -12241,47 +15484,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 72.0, - "y": 36.0 + "x": 72, + "y": 36 }, "OffsetMin": { - "x": -72.0, - "y": -36.0 + "x": -72, + "y": -36 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 144.0, - "y": 72.0 + "x": 144, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -12293,33 +15536,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -12331,12 +15574,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -12346,20 +15589,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -12368,13 +15611,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -12403,7 +15646,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 2, + "displayOrder": 1, "pathConstraints": "////", "revision": 1, "origin": { @@ -12429,47 +15672,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 255.0, - "y": -170.0 + "x": 255, + "y": -170 }, "OffsetMin": { - "x": 105.0, - "y": -250.0 + "x": 105, + "y": -250 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 150.0, - "y": 80.0 + "x": 150, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 180.0, - "y": -210.0 + "x": 180, + "y": -210 }, "Position": { - "x": 180.0, - "y": -210.0, - "z": 0.0 + "x": 180, + "y": -210, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -12481,33 +15724,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.3, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -12519,12 +15762,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -12533,28 +15776,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -12562,7 +15805,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -12617,47 +15860,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 72.0, - "y": 36.0 + "x": 72, + "y": 36 }, "OffsetMin": { - "x": -72.0, - "y": -36.0 + "x": -72, + "y": -36 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 144.0, - "y": 72.0 + "x": 144, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -12669,33 +15912,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -12707,12 +15950,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -12722,20 +15965,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -12744,13 +15987,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -12779,7 +16022,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 3, + "displayOrder": 2, "pathConstraints": "////", "revision": 1, "origin": { @@ -12805,47 +16048,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -105.0, - "y": -30.0 + "x": -105, + "y": -30 }, "OffsetMin": { - "x": -255.0, - "y": -110.0 + "x": -255, + "y": -110 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 150.0, - "y": 80.0 + "x": 150, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -180.0, - "y": -70.0 + "x": -180, + "y": -70 }, "Position": { - "x": -180.0, - "y": -70.0, - "z": 0.0 + "x": -180, + "y": -70, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -12857,33 +16100,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.3, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -12895,12 +16138,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -12909,28 +16152,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -12938,7 +16181,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -12993,47 +16236,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 72.0, - "y": 36.0 + "x": 72, + "y": 36 }, "OffsetMin": { - "x": -72.0, - "y": -36.0 + "x": -72, + "y": -36 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 144.0, - "y": 72.0 + "x": 144, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -13045,33 +16288,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -13083,12 +16326,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -13098,20 +16341,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -13120,13 +16363,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -13155,7 +16398,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 4, + "displayOrder": 2, "pathConstraints": "////", "revision": 1, "origin": { @@ -13181,47 +16424,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 255.0, - "y": -30.0 + "x": 255, + "y": -30 }, "OffsetMin": { - "x": 105.0, - "y": -110.0 + "x": 105, + "y": -110 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 150.0, - "y": 80.0 + "x": 150, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 180.0, - "y": -70.0 + "x": 180, + "y": -70 }, "Position": { - "x": 180.0, - "y": -70.0, - "z": 0.0 + "x": 180, + "y": -70, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -13233,33 +16476,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.3, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -13271,12 +16514,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -13285,28 +16528,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -13314,7 +16557,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -13369,47 +16612,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 72.0, - "y": 36.0 + "x": 72, + "y": 36 }, "OffsetMin": { - "x": -72.0, - "y": -36.0 + "x": -72, + "y": -36 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 144.0, - "y": 72.0 + "x": 144, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -13421,33 +16664,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -13459,12 +16702,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -13474,20 +16717,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -13496,13 +16739,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -13531,7 +16774,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 5, + "displayOrder": 3, "pathConstraints": "////", "revision": 1, "origin": { @@ -13557,47 +16800,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -105.0, - "y": 110.0 + "x": -105, + "y": 110 }, "OffsetMin": { - "x": -255.0, - "y": 30.0 + "x": -255, + "y": 30 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 150.0, - "y": 80.0 + "x": 150, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -180.0, - "y": 70.0 + "x": -180, + "y": 70 }, "Position": { - "x": -180.0, - "y": 70.0, - "z": 0.0 + "x": -180, + "y": 70, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -13609,33 +16852,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.3, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -13647,12 +16890,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -13661,28 +16904,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -13690,7 +16933,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -13745,47 +16988,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 72.0, - "y": 36.0 + "x": 72, + "y": 36 }, "OffsetMin": { - "x": -72.0, - "y": -36.0 + "x": -72, + "y": -36 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 144.0, - "y": 72.0 + "x": 144, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -13797,33 +17040,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -13835,12 +17078,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -13850,20 +17093,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -13872,13 +17115,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -13907,7 +17150,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 6, + "displayOrder": 3, "pathConstraints": "////", "revision": 1, "origin": { @@ -13933,47 +17176,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 255.0, - "y": 110.0 + "x": 255, + "y": 110 }, "OffsetMin": { - "x": 105.0, - "y": 30.0 + "x": 105, + "y": 30 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 150.0, - "y": 80.0 + "x": 150, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 180.0, - "y": 70.0 + "x": 180, + "y": 70 }, "Position": { - "x": 180.0, - "y": 70.0, - "z": 0.0 + "x": 180, + "y": 70, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -13985,33 +17228,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.3, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -14023,12 +17266,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -14037,28 +17280,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -14066,7 +17309,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -14121,47 +17364,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 72.0, - "y": 36.0 + "x": 72, + "y": 36 }, "OffsetMin": { - "x": -72.0, - "y": -36.0 + "x": -72, + "y": -36 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 144.0, - "y": 72.0 + "x": 144, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -14173,33 +17416,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -14211,12 +17454,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -14226,20 +17469,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -14248,13 +17491,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -14283,7 +17526,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 7, + "displayOrder": 4, "pathConstraints": "////", "revision": 1, "origin": { @@ -14309,47 +17552,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 75.0, - "y": 250.0 + "x": 75, + "y": 250 }, "OffsetMin": { - "x": -75.0, - "y": 170.0 + "x": -75, + "y": 170 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 150.0, - "y": 80.0 + "x": 150, + "y": 80 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 210.0 + "x": 0, + "y": 210 }, "Position": { - "x": 0.0, - "y": 210.0, - "z": 0.0 + "x": 0, + "y": 210, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -14361,33 +17604,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.3, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -14399,12 +17642,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -14413,28 +17656,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -14442,7 +17685,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -14497,47 +17740,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 72.0, - "y": 36.0 + "x": 72, + "y": 36 }, "OffsetMin": { - "x": -72.0, - "y": -36.0 + "x": -72, + "y": -36 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 144.0, - "y": 72.0 + "x": 144, + "y": 72 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -14549,33 +17792,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -14587,12 +17830,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -14602,20 +17845,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -14624,13 +17867,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -14659,7 +17902,7 @@ "enable": false, "visible": true, "localize": true, - "displayOrder": 9, + "displayOrder": 8, "pathConstraints": "///", "revision": 1, "origin": { @@ -14685,47 +17928,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 960.0, - "y": 540.0 + "x": 960, + "y": 540 }, "OffsetMin": { - "x": -960.0, - "y": -540.0 + "x": -960, + "y": -540 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1920.0, - "y": 1080.0 + "x": 1920, + "y": 1080 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -14737,15 +17980,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -14755,15 +17998,15 @@ "a": 0.92 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -14775,12 +18018,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -14826,47 +18069,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 350.0, - "y": 430.0 + "x": 350, + "y": 430 }, "OffsetMin": { - "x": -350.0, - "y": 370.0 + "x": -350, + "y": 370 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 700.0, - "y": 60.0 + "x": 700, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 400.0 + "x": 0, + "y": 400 }, "Position": { - "x": 0.0, - "y": 400.0, - "z": 0.0 + "x": 0, + "y": 400, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -14878,33 +18121,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -14916,12 +18159,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -14931,20 +18174,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 44, "MaxSize": 44, @@ -14953,13 +18196,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -15014,47 +18257,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 150.0, - "y": 352.0 + "x": 150, + "y": 352 }, "OffsetMin": { - "x": -150.0, - "y": 308.0 + "x": -150, + "y": 308 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 300.0, - "y": 44.0 + "x": 300, + "y": 44 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 330.0 + "x": 0, + "y": 330 }, "Position": { - "x": 0.0, - "y": 330.0, - "z": 0.0 + "x": 0, + "y": 330, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -15066,33 +18309,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -15104,12 +18347,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -15119,20 +18362,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.98, "g": 0.85, "b": 0.4, - "a": 1.0 + "a": 1 }, "FontSize": 28, "MaxSize": 28, @@ -15141,13 +18384,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -15176,7 +18419,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 2, + "displayOrder": 1, "pathConstraints": "////", "revision": 1, "origin": { @@ -15202,47 +18445,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -210.0, - "y": 145.0 + "x": -210, + "y": 145 }, "OffsetMin": { - "x": -390.0, - "y": -105.0 + "x": -390, + "y": -105 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -300.0, - "y": 20.0 + "x": -300, + "y": 20 }, "Position": { - "x": -300.0, - "y": 20.0, - "z": 0.0 + "x": -300, + "y": 20, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -15254,33 +18497,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -15292,12 +18535,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -15306,28 +18549,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -15335,7 +18578,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -15390,47 +18633,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -15442,33 +18685,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -15480,12 +18723,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -15495,20 +18738,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -15517,13 +18760,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -15578,47 +18821,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -15630,33 +18873,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -15668,12 +18911,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -15683,20 +18926,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -15705,13 +18948,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -15766,47 +19009,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -20.0 + "x": 80, + "y": -20 }, "OffsetMin": { - "x": -80.0, - "y": -80.0 + "x": -80, + "y": -80 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 60.0 + "x": 160, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -50.0 + "x": 0, + "y": -50 }, "Position": { - "x": 0.0, - "y": -50.0, - "z": 0.0 + "x": 0, + "y": -50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -15818,33 +19061,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -15856,12 +19099,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -15871,20 +19114,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -15893,13 +19136,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -15954,47 +19197,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -85.0 + "x": 80, + "y": -85 }, "OffsetMin": { - "x": -80.0, - "y": -125.0 + "x": -80, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 40.0 + "x": 160, + "y": 40 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -105.0 + "x": 0, + "y": -105 }, "Position": { - "x": 0.0, - "y": -105.0, - "z": 0.0 + "x": 0, + "y": -105, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -16006,33 +19249,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -16044,12 +19287,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -16059,20 +19302,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.98, "g": 0.85, "b": 0.4, - "a": 1.0 + "a": 1 }, "FontSize": 22, "MaxSize": 22, @@ -16081,13 +19324,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -16116,7 +19359,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 3, + "displayOrder": 2, "pathConstraints": "////", "revision": 1, "origin": { @@ -16142,47 +19385,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 90.0, - "y": 145.0 + "x": 90, + "y": 145 }, "OffsetMin": { - "x": -90.0, - "y": -105.0 + "x": -90, + "y": -105 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 20.0 + "x": 0, + "y": 20 }, "Position": { - "x": 0.0, - "y": 20.0, - "z": 0.0 + "x": 0, + "y": 20, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -16194,33 +19437,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -16232,12 +19475,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -16246,28 +19489,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -16275,7 +19518,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -16330,47 +19573,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -16382,33 +19625,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -16420,12 +19663,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -16435,20 +19678,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -16457,13 +19700,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -16518,47 +19761,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -16570,33 +19813,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -16608,12 +19851,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -16623,20 +19866,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -16645,13 +19888,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -16706,47 +19949,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -20.0 + "x": 80, + "y": -20 }, "OffsetMin": { - "x": -80.0, - "y": -80.0 + "x": -80, + "y": -80 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 60.0 + "x": 160, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -50.0 + "x": 0, + "y": -50 }, "Position": { - "x": 0.0, - "y": -50.0, - "z": 0.0 + "x": 0, + "y": -50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -16758,33 +20001,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -16796,12 +20039,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -16811,20 +20054,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -16833,13 +20076,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -16894,47 +20137,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -85.0 + "x": 80, + "y": -85 }, "OffsetMin": { - "x": -80.0, - "y": -125.0 + "x": -80, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 40.0 + "x": 160, + "y": 40 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -105.0 + "x": 0, + "y": -105 }, "Position": { - "x": 0.0, - "y": -105.0, - "z": 0.0 + "x": 0, + "y": -105, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -16946,33 +20189,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -16984,12 +20227,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -16999,20 +20242,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.98, "g": 0.85, "b": 0.4, - "a": 1.0 + "a": 1 }, "FontSize": 22, "MaxSize": 22, @@ -17021,13 +20264,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -17056,7 +20299,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 4, + "displayOrder": 3, "pathConstraints": "////", "revision": 1, "origin": { @@ -17082,47 +20325,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 390.0, - "y": 145.0 + "x": 390, + "y": 145 }, "OffsetMin": { - "x": 210.0, - "y": -105.0 + "x": 210, + "y": -105 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 180.0, - "y": 250.0 + "x": 180, + "y": 250 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 300.0, - "y": 20.0 + "x": 300, + "y": 20 }, "Position": { - "x": 300.0, - "y": 20.0, - "z": 0.0 + "x": 300, + "y": 20, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -17134,33 +20377,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.86, "g": 0.42, "b": 0.38, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -17172,12 +20415,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -17186,28 +20429,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -17215,7 +20458,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -17270,47 +20513,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": -35.0, - "y": 120.0 + "x": -35, + "y": 120 }, "OffsetMin": { - "x": -85.0, - "y": 70.0 + "x": -85, + "y": 70 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 50.0, - "y": 50.0 + "x": 50, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": -60.0, - "y": 95.0 + "x": -60, + "y": 95 }, "Position": { - "x": -60.0, - "y": 95.0, - "z": 0.0 + "x": -60, + "y": 95, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -17322,33 +20565,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -17360,12 +20603,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -17375,20 +20618,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 34, "MaxSize": 34, @@ -17397,13 +20640,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -17458,47 +20701,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": 75.0 + "x": 80, + "y": 75 }, "OffsetMin": { - "x": -80.0, - "y": 25.0 + "x": -80, + "y": 25 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 50.0 + "x": 160, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 50.0 + "x": 0, + "y": 50 }, "Position": { - "x": 0.0, - "y": 50.0, - "z": 0.0 + "x": 0, + "y": 50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -17510,33 +20753,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -17548,12 +20791,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -17563,20 +20806,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -17585,13 +20828,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -17646,47 +20889,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -20.0 + "x": 80, + "y": -20 }, "OffsetMin": { - "x": -80.0, - "y": -80.0 + "x": -80, + "y": -80 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 60.0 + "x": 160, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -50.0 + "x": 0, + "y": -50 }, "Position": { - "x": 0.0, - "y": -50.0, - "z": 0.0 + "x": 0, + "y": -50, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -17698,33 +20941,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -17736,12 +20979,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -17751,20 +20994,20 @@ "Alignment": 4, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -17773,13 +21016,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -17834,47 +21077,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 80.0, - "y": -85.0 + "x": 80, + "y": -85 }, "OffsetMin": { - "x": -80.0, - "y": -125.0 + "x": -80, + "y": -125 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 160.0, - "y": 40.0 + "x": 160, + "y": 40 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -105.0 + "x": 0, + "y": -105 }, "Position": { - "x": 0.0, - "y": -105.0, - "z": 0.0 + "x": 0, + "y": -105, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -17886,33 +21129,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -17924,12 +21167,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -17939,20 +21182,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.98, "g": 0.85, "b": 0.4, - "a": 1.0 + "a": 1 }, "FontSize": 22, "MaxSize": 22, @@ -17961,13 +21204,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -17996,7 +21239,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 5, + "displayOrder": 9, "pathConstraints": "////", "revision": 1, "origin": { @@ -18022,47 +21265,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 280.0, - "y": -152.0 + "x": 280, + "y": -152 }, "OffsetMin": { - "x": -280.0, - "y": -228.0 + "x": -280, + "y": -228 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 560.0, - "y": 76.0 + "x": 560, + "y": 76 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -190.0 + "x": 0, + "y": -190 }, "Position": { - "x": 0.0, - "y": -190.0, - "z": 0.0 + "x": 0, + "y": -190, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -18074,33 +21317,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.7, "g": 0.55, "b": 0.85, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -18112,12 +21355,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -18126,28 +21369,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -18155,7 +21398,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -18210,47 +21453,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 270.0, - "y": 32.0 + "x": 270, + "y": 32 }, "OffsetMin": { - "x": -270.0, - "y": -8.0 + "x": -270, + "y": -8 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 540.0, - "y": 40.0 + "x": 540, + "y": 40 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 12.0 + "x": 0, + "y": 12 }, "Position": { - "x": 0.0, - "y": 12.0, - "z": 0.0 + "x": 0, + "y": 12, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -18262,33 +21505,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -18300,12 +21543,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -18315,20 +21558,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 22, "MaxSize": 22, @@ -18337,13 +21580,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -18398,47 +21641,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 270.0, - "y": -7.0 + "x": 270, + "y": -7 }, "OffsetMin": { - "x": -270.0, - "y": -37.0 + "x": -270, + "y": -37 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 540.0, - "y": 30.0 + "x": 540, + "y": 30 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -22.0 + "x": 0, + "y": -22 }, "Position": { - "x": 0.0, - "y": -22.0, - "z": 0.0 + "x": 0, + "y": -22, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -18450,33 +21693,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -18488,12 +21731,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -18503,20 +21746,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.98, "g": 0.85, "b": 0.4, - "a": 1.0 + "a": 1 }, "FontSize": 20, "MaxSize": 20, @@ -18525,13 +21768,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -18560,7 +21803,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 6, + "displayOrder": 10, "pathConstraints": "////", "revision": 1, "origin": { @@ -18586,47 +21829,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 100.0, - "y": -270.0 + "x": 100, + "y": -270 }, "OffsetMin": { - "x": -100.0, - "y": -330.0 + "x": -100, + "y": -330 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 200.0, - "y": 60.0 + "x": 200, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -300.0 + "x": 0, + "y": -300 }, "Position": { - "x": 0.0, - "y": -300.0, - "z": 0.0 + "x": 0, + "y": -300, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -18638,15 +21881,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -18656,15 +21899,15 @@ "a": 0.92 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -18676,12 +21919,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -18690,28 +21933,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -18719,7 +21962,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -18738,20 +21981,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -18760,13 +22003,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -18795,7 +22038,7 @@ "enable": false, "visible": true, "localize": true, - "displayOrder": 10, + "displayOrder": 9, "pathConstraints": "///", "revision": 1, "origin": { @@ -18821,47 +22064,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 960.0, - "y": 540.0 + "x": 960, + "y": 540 }, "OffsetMin": { - "x": -960.0, - "y": -540.0 + "x": -960, + "y": -540 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1920.0, - "y": 1080.0 + "x": 1920, + "y": 1080 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -18873,15 +22116,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -18891,15 +22134,15 @@ "a": 0.92 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -18911,12 +22154,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -18962,47 +22205,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 350.0, - "y": 170.0 + "x": 350, + "y": 170 }, "OffsetMin": { - "x": -350.0, - "y": 110.0 + "x": -350, + "y": 110 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 700.0, - "y": 60.0 + "x": 700, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 140.0 + "x": 0, + "y": 140 }, "Position": { - "x": 0.0, - "y": 140.0, - "z": 0.0 + "x": 0, + "y": 140, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -19014,33 +22257,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -19052,12 +22295,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -19067,20 +22310,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 44, "MaxSize": 44, @@ -19089,13 +22332,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -19150,47 +22393,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 300.0, - "y": 55.0 + "x": 300, + "y": 55 }, "OffsetMin": { - "x": -300.0, - "y": 5.0 + "x": -300, + "y": 5 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 600.0, - "y": 50.0 + "x": 600, + "y": 50 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 30.0 + "x": 0, + "y": 30 }, "Position": { - "x": 0.0, - "y": 30.0, - "z": 0.0 + "x": 0, + "y": 30, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -19202,33 +22445,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -19240,12 +22483,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -19255,20 +22498,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "FontSize": 30, "MaxSize": 30, @@ -19277,13 +22520,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -19338,47 +22581,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 100.0, - "y": -90.0 + "x": 100, + "y": -90 }, "OffsetMin": { - "x": -100.0, - "y": -150.0 + "x": -100, + "y": -150 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 200.0, - "y": 60.0 + "x": 200, + "y": 60 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -120.0 + "x": 0, + "y": -120 }, "Position": { - "x": 0.0, - "y": -120.0, - "z": 0.0 + "x": 0, + "y": -120, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -19390,15 +22633,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -19408,15 +22651,15 @@ "a": 0.92 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -19428,12 +22671,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -19442,28 +22685,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -19471,7 +22714,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -19490,20 +22733,20 @@ "Alignment": 4, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 26, "MaxSize": 26, @@ -19512,13 +22755,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -19547,7 +22790,7 @@ "enable": true, "visible": true, "localize": true, - "displayOrder": 11, + "displayOrder": 20, "pathConstraints": "///", "revision": 1, "origin": { @@ -19573,47 +22816,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 960.0, - "y": 540.0 + "x": 960, + "y": 540 }, "OffsetMin": { - "x": -960.0, - "y": -540.0 + "x": -960, + "y": -540 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 1920.0, - "y": 1080.0 + "x": 1920, + "y": 1080 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Position": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -19625,15 +22868,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -19643,15 +22886,15 @@ "a": 0.96 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -19663,12 +22906,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -19714,47 +22957,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 360.0, - "y": 230.0 + "x": 360, + "y": 230 }, "OffsetMin": { - "x": -360.0, - "y": 130.0 + "x": -360, + "y": 130 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 720.0, - "y": 100.0 + "x": 720, + "y": 100 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 180.0 + "x": 0, + "y": 180 }, "Position": { - "x": 0.0, - "y": 180.0, - "z": 0.0 + "x": 0, + "y": 180, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -19766,33 +23009,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -19804,12 +23047,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -19819,20 +23062,20 @@ "Alignment": 0, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 64, "MaxSize": 64, @@ -19841,13 +23084,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -19902,47 +23145,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 380.0, - "y": 128.0 + "x": 380, + "y": 128 }, "OffsetMin": { - "x": -380.0, - "y": 80.0 + "x": -380, + "y": 80 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 760.0, - "y": 48.0 + "x": 760, + "y": 48 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": 104.0 + "x": 0, + "y": 104 }, "Position": { - "x": 0.0, - "y": 104.0, - "z": 0.0 + "x": 0, + "y": 104, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -19954,33 +23197,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 0.0 + "r": 0, + "g": 0, + "b": 0, + "a": 0 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -19992,12 +23235,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -20007,20 +23250,20 @@ "Alignment": 0, "Bold": false, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.82, "g": 0.86, "b": 0.9, - "a": 1.0 + "a": 1 }, "FontSize": 24, "MaxSize": 24, @@ -20029,13 +23272,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -20090,47 +23333,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 130.0, - "y": 14.0 + "x": 130, + "y": 14 }, "OffsetMin": { - "x": -130.0, - "y": -54.0 + "x": -130, + "y": -54 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 260.0, - "y": 68.0 + "x": 260, + "y": 68 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -20.0 + "x": 0, + "y": -20 }, "Position": { - "x": 0.0, - "y": -20.0, - "z": 0.0 + "x": 0, + "y": -20, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -20142,33 +23385,33 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { "r": 0.13, "g": 0.15, "b": 0.18, - "a": 1.0 + "a": 1 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -20180,12 +23423,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": true, "Type": 1, "Enable": true @@ -20194,28 +23437,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -20223,7 +23466,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -20242,20 +23485,20 @@ "Alignment": 0, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.94, "g": 0.74, "b": 0.26, - "a": 1.0 + "a": 1 }, "FontSize": 30, "MaxSize": 30, @@ -20264,13 +23507,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { @@ -20325,47 +23568,47 @@ }, "MobileOnly": false, "OffsetMax": { - "x": 130.0, - "y": -71.0 + "x": 130, + "y": -71 }, "OffsetMin": { - "x": -130.0, - "y": -129.0 + "x": -130, + "y": -129 }, "Pivot": { "x": 0.5, "y": 0.5 }, "RectSize": { - "x": 260.0, - "y": 58.0 + "x": 260, + "y": 58 }, "UIMode": 1, "UIScale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "UIVersion": 2, "anchoredPosition": { - "x": 0.0, - "y": -100.0 + "x": 0, + "y": -100 }, "Position": { - "x": 0.0, - "y": -100.0, - "z": 0.0 + "x": 0, + "y": -100, + "z": 0 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -20377,15 +23620,15 @@ "DataId": "" }, "LocalPosition": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "LocalScale": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "OverrideSorting": false, - "PlayRate": 1.0, + "PlayRate": 1, "PreserveSprite": 0, "StartFrameIndex": 0, "Color": { @@ -20395,15 +23638,15 @@ "a": 0.78 }, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, - "FillAmount": 1.0, + "DropShadowDistance": 32, + "FillAmount": 1, "FillCenter": true, "FillClockWise": true, "FillMethod": 0, @@ -20415,12 +23658,12 @@ "FrameRow": 1, "Outline": false, "OutlineColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, - "a": 1.0 + "r": 0, + "g": 0, + "b": 0, + "a": 1 }, - "OutlineWidth": 3.0, + "OutlineWidth": 3, "RaycastTarget": false, "Type": 1, "Enable": true @@ -20429,28 +23672,28 @@ "@type": "MOD.Core.ButtonComponent", "Colors": { "NormalColor": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "HighlightedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "PressedColor": { "r": 0.784313738, "g": 0.784313738, "b": 0.784313738, - "a": 1.0 + "a": 1 }, "SelectedColor": { "r": 0.9607843, "g": 0.9607843, "b": 0.9607843, - "a": 1.0 + "a": 1 }, "DisabledColor": { "r": 0.784313738, @@ -20458,7 +23701,7 @@ "b": 0.784313738, "a": 0.5019608 }, - "ColorMultiplier": 1.0, + "ColorMultiplier": 1, "FadeDuration": 0.1 }, "ImageRUIDs": { @@ -20477,20 +23720,20 @@ "Alignment": 0, "Bold": true, "DropShadow": false, - "DropShadowAngle": 30.0, + "DropShadowAngle": 30, "DropShadowColor": { - "r": 0.0, - "g": 0.0, - "b": 0.0, + "r": 0, + "g": 0, + "b": 0, "a": 0.72 }, - "DropShadowDistance": 32.0, + "DropShadowDistance": 32, "Font": 0, "FontColor": { "r": 0.55, "g": 0.58, "b": 0.62, - "a": 1.0 + "a": 1 }, "FontSize": 24, "MaxSize": 24, @@ -20499,13 +23742,13 @@ "r": 0.08, "g": 0.08, "b": 0.08, - "a": 1.0 + "a": 1 }, "OutlineDistance": { - "x": 1.0, - "y": -1.0 + "x": 1, + "y": -1 }, - "OutlineWidth": 1.0, + "OutlineWidth": 1, "Overflow": 0, "OverrideSorting": false, "Padding": { From f33a5507dbf87f3ba0c4f4de553da609874968d6 Mon Sep 17 00:00:00 2001 From: gahusb Date: Wed, 10 Jun 2026 02:15:40 +0900 Subject: [PATCH 15/15] =?UTF-8?q?fix(combat):=20=ED=94=8C=EB=A0=88?= =?UTF-8?q?=EC=9D=B4=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EB=B0=98=EC=98=81=20?= =?UTF-8?q?=E2=80=94=20=EC=83=81=ED=83=9C=EC=A0=84=EC=9D=B4=20=EC=8B=A4?= =?UTF-8?q?=ED=96=89=EA=B3=B5=EA=B0=84=20=EC=97=90=EB=9F=AC=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20+=20=EC=8A=AC=EB=A1=AF=20=EC=A2=8C=ED=91=9C=20?= =?UTF-8?q?=EC=A0=95=EB=A0=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ReviveMonsterEntity/KillMonster의 StateComponent:ChangeState 제거 (client 실행공간에서 LEA-3022 InvalidExecSpace 발생) → SetVisible 기반 표시/숨김으로 대체 - monster-slots.json 좌표를 맵 우측 몬스터 무리 위로 조정 - 메이커 플레이테스트로 전체 전투 루프(등록·타겟·공격·적턴·처치·승리·보상) 무에러 확인 Co-Authored-By: Claude Opus 4.8 (1M context) --- RootDesk/MyDesk/SlayDeckController.codeblock | 6 +++--- data/monster-slots.json | 8 ++++---- tools/deck/gen-slaydeck.mjs | 11 ++--------- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/RootDesk/MyDesk/SlayDeckController.codeblock b/RootDesk/MyDesk/SlayDeckController.codeblock index d760939..6266788 100644 --- a/RootDesk/MyDesk/SlayDeckController.codeblock +++ b/RootDesk/MyDesk/SlayDeckController.codeblock @@ -382,7 +382,7 @@ "Name": null }, "Arguments": [], - "Code": "self.PlayerMaxHp = 80\nself.PlayerHp = self.PlayerMaxHp\nself.Gold = 0\nself.Floor = 1\nself.RunLength = 3\nself.RunDeck = { \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Defend\", \"Defend\", \"Defend\", \"Defend\", \"Bash\" }\nself.RunActive = true\nself.RunRelics = {}\nself.Relics = {\n\tironHeart = { name = \"강철 심장\", desc = \"전투 시작 시 방어도 +6\", hook = \"combatStart\", effect = \"block\", value = 6 },\n\tenergyCore = { name = \"에너지 코어\", desc = \"턴 시작 시 에너지 +1\", hook = \"turnStart\", effect = \"energy\", value = 1 },\n\tvampire = { name = \"흡혈 송곳니\", desc = \"공격 카드 사용 시 HP +1\", hook = \"cardPlayed\", effect = \"healOnAttack\", value = 1 },\n\tgoldIdol = { name = \"황금 우상\", desc = \"전투 승리 시 골드 +10\", hook = \"combatReward\", effect = \"gold\", value = 10 },\n}\nself.RelicPool = { \"energyCore\", \"vampire\", \"goldIdol\" }\nself.Enemies = {\n\tslime = { name = \"슬라임\", maxHp = 45, intents = { { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 8 } } },\n\tslime_elite = { name = \"정예 슬라임\", maxHp = 70, intents = { { kind = \"Attack\", value = 14 }, { kind = \"Attack\", value = 8 }, { kind = \"Defend\", value = 10 } } },\n\tslime_boss = { name = \"슬라임 킹\", maxHp = 120, intents = { { kind = \"Attack\", value = 18 }, { kind = \"Defend\", value = 12 }, { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 22 } } },\n\torange_mushroom = { name = \"주황버섯\", maxHp = 16, intents = { { kind = \"Attack\", value = 5 }, { kind = \"Defend\", value = 4 }, { kind = \"Attack\", value = 7 } } },\n\tblue_mushroom = { name = \"파란버섯\", maxHp = 22, intents = { { kind = \"Attack\", value = 8 }, { kind = \"Attack\", value = 4 } } },\n}\nself.MapNodes = {\n\tA = { type = \"combat\", enemy = \"slime\", row = 1, col = -1, next = { \"C\", \"D\" } },\n\tB = { type = \"combat\", enemy = \"slime\", row = 1, col = 1, next = { \"C\", \"D\" } },\n\tC = { type = \"rest\", row = 2, col = -1, next = { \"E\", \"F\" } },\n\tD = { type = \"shop\", row = 2, col = 1, next = { \"E\", \"F\" } },\n\tE = { type = \"elite\", enemy = \"slime_elite\", row = 3, col = -1, next = { \"BOSS\" } },\n\tF = { type = \"combat\", enemy = \"slime\", row = 3, col = 1, next = { \"BOSS\" } },\n\tBOSS = { type = \"boss\", enemy = \"slime_boss\", row = 4, col = 0, next = { } },\n}\nself.MapStart = { \"A\", \"B\" }\nself.SlotPos = { { x = -480, y = 300 }, { x = -160, y = 300 }, { x = 160, y = 300 }, { x = 480, y = 300 } }\nself.CurrentNodeId = \"\"\nself.CurrentEnemyId = \"\"\nself:BindButtons()\nself:AddRelic(\"ironHeart\")\nself:ShowMap()", + "Code": "self.PlayerMaxHp = 80\nself.PlayerHp = self.PlayerMaxHp\nself.Gold = 0\nself.Floor = 1\nself.RunLength = 3\nself.RunDeck = { \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Strike\", \"Defend\", \"Defend\", \"Defend\", \"Defend\", \"Bash\" }\nself.RunActive = true\nself.RunRelics = {}\nself.Relics = {\n\tironHeart = { name = \"강철 심장\", desc = \"전투 시작 시 방어도 +6\", hook = \"combatStart\", effect = \"block\", value = 6 },\n\tenergyCore = { name = \"에너지 코어\", desc = \"턴 시작 시 에너지 +1\", hook = \"turnStart\", effect = \"energy\", value = 1 },\n\tvampire = { name = \"흡혈 송곳니\", desc = \"공격 카드 사용 시 HP +1\", hook = \"cardPlayed\", effect = \"healOnAttack\", value = 1 },\n\tgoldIdol = { name = \"황금 우상\", desc = \"전투 승리 시 골드 +10\", hook = \"combatReward\", effect = \"gold\", value = 10 },\n}\nself.RelicPool = { \"energyCore\", \"vampire\", \"goldIdol\" }\nself.Enemies = {\n\tslime = { name = \"슬라임\", maxHp = 45, intents = { { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 6 }, { kind = \"Defend\", value = 8 } } },\n\tslime_elite = { name = \"정예 슬라임\", maxHp = 70, intents = { { kind = \"Attack\", value = 14 }, { kind = \"Attack\", value = 8 }, { kind = \"Defend\", value = 10 } } },\n\tslime_boss = { name = \"슬라임 킹\", maxHp = 120, intents = { { kind = \"Attack\", value = 18 }, { kind = \"Defend\", value = 12 }, { kind = \"Attack\", value = 10 }, { kind = \"Attack\", value = 22 } } },\n\torange_mushroom = { name = \"주황버섯\", maxHp = 16, intents = { { kind = \"Attack\", value = 5 }, { kind = \"Defend\", value = 4 }, { kind = \"Attack\", value = 7 } } },\n\tblue_mushroom = { name = \"파란버섯\", maxHp = 22, intents = { { kind = \"Attack\", value = 8 }, { kind = \"Attack\", value = 4 } } },\n}\nself.MapNodes = {\n\tA = { type = \"combat\", enemy = \"slime\", row = 1, col = -1, next = { \"C\", \"D\" } },\n\tB = { type = \"combat\", enemy = \"slime\", row = 1, col = 1, next = { \"C\", \"D\" } },\n\tC = { type = \"rest\", row = 2, col = -1, next = { \"E\", \"F\" } },\n\tD = { type = \"shop\", row = 2, col = 1, next = { \"E\", \"F\" } },\n\tE = { type = \"elite\", enemy = \"slime_elite\", row = 3, col = -1, next = { \"BOSS\" } },\n\tF = { type = \"combat\", enemy = \"slime\", row = 3, col = 1, next = { \"BOSS\" } },\n\tBOSS = { type = \"boss\", enemy = \"slime_boss\", row = 4, col = 0, next = { } },\n}\nself.MapStart = { \"A\", \"B\" }\nself.SlotPos = { { x = 430, y = 140 }, { x = 600, y = 140 }, { x = 770, y = 140 }, { x = 900, y = 140 } }\nself.CurrentNodeId = \"\"\nself.CurrentEnemyId = \"\"\nself:BindButtons()\nself:AddRelic(\"ironHeart\")\nself:ShowMap()", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -465,7 +465,7 @@ "Name": "monster" } ], - "Code": "if monster == nil or not isvalid(monster) then\n\treturn\nend\nmonster:SetEnable(true)\nmonster:SetVisible(true)\nif monster.StateComponent ~= nil then\n\tmonster.StateComponent:ChangeState(\"IDLE\")\nend", + "Code": "if monster == nil or not isvalid(monster) then\n\treturn\nend\nmonster:SetEnable(true)\nmonster:SetVisible(true)", "Scope": 2, "ExecSpace": 6, "Attributes": [], @@ -805,7 +805,7 @@ "Name": "slot" } ], - "Code": "local m = self.Monsters[slot]\nif m == nil then\n\treturn\nend\nm.alive = false\nif m.entity ~= nil and isvalid(m.entity) then\n\tif m.entity.StateComponent ~= nil then\n\t\tm.entity.StateComponent:ChangeState(\"DEAD\")\n\tend\n\tlocal ent = m.entity\n\t_TimerService:SetTimerOnce(function() if isvalid(ent) then ent:SetVisible(false) end end, 0.6)\nend\nself:SetEntityEnabled(\"/ui/DefaultGroup/CombatHud/MonsterSlot\" .. tostring(slot), false)\nfor i = 1, #self.Monsters do\n\tif self.Monsters[i].alive == true then self.TargetIndex = i; break end\nend", + "Code": "local m = self.Monsters[slot]\nif m == nil then\n\treturn\nend\nm.alive = false\nif m.entity ~= nil and isvalid(m.entity) then\n\tm.entity:SetVisible(false)\nend\nself:SetEntityEnabled(\"/ui/DefaultGroup/CombatHud/MonsterSlot\" .. tostring(slot), false)\nfor i = 1, #self.Monsters do\n\tif self.Monsters[i].alive == true then self.TargetIndex = i; break end\nend", "Scope": 2, "ExecSpace": 6, "Attributes": [], diff --git a/data/monster-slots.json b/data/monster-slots.json index 494d402..8bbc468 100644 --- a/data/monster-slots.json +++ b/data/monster-slots.json @@ -1,6 +1,6 @@ [ - { "x": -480, "y": 300 }, - { "x": -160, "y": 300 }, - { "x": 160, "y": 300 }, - { "x": 480, "y": 300 } + { "x": 430, "y": 140 }, + { "x": 600, "y": 140 }, + { "x": 770, "y": 140 }, + { "x": 900, "y": 140 } ] diff --git a/tools/deck/gen-slaydeck.mjs b/tools/deck/gen-slaydeck.mjs index 04c053b..1e4349c 100644 --- a/tools/deck/gen-slaydeck.mjs +++ b/tools/deck/gen-slaydeck.mjs @@ -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