Compare commits
25 Commits
ca304a99dd
...
feat/ui-sy
| Author | SHA1 | Date | |
|---|---|---|---|
| e771aec259 | |||
| 5e32cb0757 | |||
| e3aab64c8c | |||
| b2c1153229 | |||
| 4e14f1feb6 | |||
| ede49c1777 | |||
| 484c8d5d4f | |||
| 65edf1081b | |||
| e1fca1ae8d | |||
| c9492a3910 | |||
| 88eb20eefa | |||
| 8843ac3d1c | |||
| 5d44647170 | |||
| 1794e5d418 | |||
| 7fa10b4cb9 | |||
| 079d05c117 | |||
| 90484876f0 | |||
| 87d9ca4dae | |||
| 037aed30ce | |||
| 9390ed9da9 | |||
| 28bfa9a567 | |||
| 6391372f00 | |||
| f832c1a4df | |||
| c3df705a7a | |||
| a354d9eefc |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -29,3 +29,6 @@ desktop.ini
|
|||||||
*.log
|
*.log
|
||||||
*.pdb
|
*.pdb
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
|
# Hyper / ZeusUMGForge web converter outputs (assets gerados, não versionar)
|
||||||
|
Content/AutoCreated/
|
||||||
|
|||||||
10
.mcp.json
10
.mcp.json
@@ -10,6 +10,16 @@
|
|||||||
{
|
{
|
||||||
"type": "http",
|
"type": "http",
|
||||||
"url": "http://localhost:5354/mcp"
|
"url": "http://localhost:5354/mcp"
|
||||||
|
},
|
||||||
|
"ZeusIntelligence":
|
||||||
|
{
|
||||||
|
"type": "http",
|
||||||
|
"url": "http://127.0.0.1:5058/mcp"
|
||||||
|
},
|
||||||
|
"zeus":
|
||||||
|
{
|
||||||
|
"type": "http",
|
||||||
|
"url": "http://127.0.0.1:5058/mcp"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
> **Extensões da arquitetura** (documentos normativos paralelos, escopo específico):
|
> **Extensões da arquitetura** (documentos normativos paralelos, escopo específico):
|
||||||
> - [`ARQUITETURA_SERVER_SELECT.md`](ARQUITETURA_SERVER_SELECT.md) — Server Select, lista de mundos, handoff CharServer↔WorldServer, multi-region, queue, Valkey. Roadmap em 7 fases.
|
> - [`ARQUITETURA_SERVER_SELECT.md`](ARQUITETURA_SERVER_SELECT.md) — Server Select, lista de mundos, handoff CharServer↔WorldServer, multi-region, queue, Valkey. Roadmap em 7 fases.
|
||||||
> - [`ARQUITETURA_CHARACTER_MODEL.md`](ARQUITETURA_CHARACTER_MODEL.md) — Stats primários (STR/AGI/VIT/INT/DEX/LUK), classes (Aprendiz → especializações), fórmulas de stats derivados (ATK/MATK/DEF/...), `jobs.yml` data-driven, stat allocation server-side. Espelha rathena.
|
> - [`ARQUITETURA_CHARACTER_MODEL.md`](ARQUITETURA_CHARACTER_MODEL.md) — Stats primários (STR/AGI/VIT/INT/DEX/LUK), classes (Novato → especializações), fórmulas de stats derivados (ATK/MATK/DEF/...), `jobs.yml` data-driven, stat allocation server-side. Espelha rathena.
|
||||||
|
|
||||||
> **Sumário de mudanças (2026-05-11):** adicionada secção de **temas sazonais
|
> **Sumário de mudanças (2026-05-11):** adicionada secção de **temas sazonais
|
||||||
> de UI** (`UI/Themes/`), com tutorial §4.7, regra de "no hard ref a textura
|
> de UI** (`UI/Themes/`), com tutorial §4.7, regra de "no hard ref a textura
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## Context
|
## Context
|
||||||
|
|
||||||
O ZMMO usa modelo de atributos estilo Ragnarok Online — 6 stats primários que o jogador aloca pontos (STR/AGI/VIT/INT/DEX/LUK), com stats derivados calculados a partir deles + level + classe + equip. Jogador nasce **Aprendiz** (Novice) e especializa em outras classes ao chegar a critérios (job level + quest de mudança).
|
O ZMMO usa modelo de atributos estilo Ragnarok Online — 6 stats primários que o jogador aloca pontos (STR/AGI/VIT/INT/DEX/LUK), com stats derivados calculados a partir deles + level + classe + equip. Jogador nasce **Novato** (Novice) e especializa em outras classes ao chegar a critérios (job level + quest de mudança).
|
||||||
|
|
||||||
Este doc fixa:
|
Este doc fixa:
|
||||||
1. O que persiste no MySQL (CharServer) vs o que vive em memória (WorldServer).
|
1. O que persiste no MySQL (CharServer) vs o que vive em memória (WorldServer).
|
||||||
@@ -58,10 +58,10 @@ Padrão rathena: `db/re/job_stats.yml` carregado no boot. Hot-reloadable.
|
|||||||
|
|
||||||
| Componente | Quem decide | Quem persiste |
|
| Componente | Quem decide | Quem persiste |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Criar char (stats iniciais, class=Aprendiz) | CharServer (valida) | CharServer → MySQL |
|
| Criar char (stats iniciais, class=Novato) | CharServer (valida) | CharServer → MySQL |
|
||||||
| Stat allocation (gastar `status_point` em STR/etc.) | CharServer **ou** WorldServer | CharServer → MySQL (via writeback) |
|
| Stat allocation (gastar `status_point` em STR/etc.) | CharServer **ou** WorldServer | CharServer → MySQL (via writeback) |
|
||||||
| Subir de level / ganhar EXP | WorldServer (kill mob, quest) | WorldServer → writeback → CharServer → MySQL |
|
| Subir de level / ganhar EXP | WorldServer (kill mob, quest) | WorldServer → writeback → CharServer → MySQL |
|
||||||
| Mudar classe (Aprendiz → Espadachim) | WorldServer (cumpre quest) | WorldServer → writeback → CharServer → MySQL |
|
| Mudar classe (Novato → Espadachim) | WorldServer (cumpre quest) | WorldServer → writeback → CharServer → MySQL |
|
||||||
| Recalcular ATK/MATK/DEF/etc. | WorldServer (memória, toda hora) | NÃO persiste |
|
| Recalcular ATK/MATK/DEF/etc. | WorldServer (memória, toda hora) | NÃO persiste |
|
||||||
| Casting de skill | WorldServer | NÃO persiste (efêmero) |
|
| Casting de skill | WorldServer | NÃO persiste (efêmero) |
|
||||||
| Resultado de skill (HP perdido, item dropado) | WorldServer | WorldServer → writeback |
|
| Resultado de skill (HP perdido, item dropado) | WorldServer | WorldServer → writeback |
|
||||||
@@ -260,7 +260,7 @@ version: 1
|
|||||||
jobs:
|
jobs:
|
||||||
- id: 0
|
- id: 0
|
||||||
name: Novice # nome técnico (inglês, estável)
|
name: Novice # nome técnico (inglês, estável)
|
||||||
display_name_ptbr: Aprendiz
|
display_name_ptbr: Novato
|
||||||
parent_job: null
|
parent_job: null
|
||||||
max_base_level: 99
|
max_base_level: 99
|
||||||
max_job_level: 10
|
max_job_level: 10
|
||||||
@@ -322,7 +322,7 @@ jobs:
|
|||||||
|
|
||||||
## 5. Fluxos
|
## 5. Fluxos
|
||||||
|
|
||||||
### 5.1 Criação de personagem (Aprendiz)
|
### 5.1 Criação de personagem (Novato)
|
||||||
|
|
||||||
```
|
```
|
||||||
Cliente → C_CHAR_CREATE { name, world_id, class_id=NOVICE, appearance }
|
Cliente → C_CHAR_CREATE { name, world_id, class_id=NOVICE, appearance }
|
||||||
@@ -342,7 +342,7 @@ CharServer:
|
|||||||
4. → S_CHAR_CREATE_OK
|
4. → S_CHAR_CREATE_OK
|
||||||
```
|
```
|
||||||
|
|
||||||
**Nota:** o player **sempre** nasce Aprendiz. Outras classes só via job change in-game (Fase pós-Fase 3).
|
**Nota:** o player **sempre** nasce Novato. Outras classes só via job change in-game (Fase pós-Fase 3).
|
||||||
|
|
||||||
### 5.2 Stat allocation (após level up)
|
### 5.2 Stat allocation (após level up)
|
||||||
|
|
||||||
@@ -377,7 +377,7 @@ WorldServer (em kill mob / complete quest):
|
|||||||
|
|
||||||
Mesmo padrão pra job_exp/job_level (com skill_point em vez de status_point).
|
Mesmo padrão pra job_exp/job_level (com skill_point em vez de status_point).
|
||||||
|
|
||||||
### 5.4 Job change (Aprendiz → Espadachim, etc.)
|
### 5.4 Job change (Novato → Espadachim, etc.)
|
||||||
|
|
||||||
```
|
```
|
||||||
WorldServer (player cumpriu quest):
|
WorldServer (player cumpriu quest):
|
||||||
@@ -571,13 +571,13 @@ Audit log entries (Fase 3 do ServerSelect doc): toda mudança de zeny>1000, leve
|
|||||||
|
|
||||||
## 8. Roadmap de implementação
|
## 8. Roadmap de implementação
|
||||||
|
|
||||||
### Fase A — Schema + criação de char Aprendiz (parte da Fase 1 do ServerSelect)
|
### Fase A — Schema + criação de char Novato (parte da Fase 1 do ServerSelect)
|
||||||
|
|
||||||
- Schema `characters` com todos os campos (já especificado no `ARQUITETURA_SERVER_SELECT.md`).
|
- Schema `characters` com todos os campos (já especificado no `ARQUITETURA_SERVER_SELECT.md`).
|
||||||
- `jobs.yml` apenas com `Novice` (Aprendiz) — outras classes ficam pra B.
|
- `jobs.yml` apenas com `Novice` (Novato) — outras classes ficam pra B.
|
||||||
- CharServer carrega `jobs.yml` no boot.
|
- CharServer carrega `jobs.yml` no boot.
|
||||||
- `C_CHAR_CREATE` valida `class_id == NOVICE` e usa defaults do yml.
|
- `C_CHAR_CREATE` valida `class_id == NOVICE` e usa defaults do yml.
|
||||||
- Cliente UI: tela de criação com nome + appearance (sem stat allocation aqui — Aprendiz nasce com todos os stats=1).
|
- Cliente UI: tela de criação com nome + appearance (sem stat allocation aqui — Novato nasce com todos os stats=1).
|
||||||
|
|
||||||
### Fase B — Classes adicionais + job change
|
### Fase B — Classes adicionais + job change
|
||||||
|
|
||||||
@@ -628,7 +628,7 @@ Audit log entries (Fase 3 do ServerSelect doc): toda mudança de zeny>1000, leve
|
|||||||
1. **Stats primários flat** na tabela `characters` (str/agi/vit/int/dex/luk + level/exp + hp/sp/max_hp/max_sp + status_point/skill_point + zeny + class_id). **Sem entidade separada.**
|
1. **Stats primários flat** na tabela `characters` (str/agi/vit/int/dex/luk + level/exp + hp/sp/max_hp/max_sp + status_point/skill_point + zeny + class_id). **Sem entidade separada.**
|
||||||
2. **Stats derivados NUNCA persistidos** — sempre recalculados em runtime no WorldServer (`StatusCalc::ComputeAll`).
|
2. **Stats derivados NUNCA persistidos** — sempre recalculados em runtime no WorldServer (`StatusCalc::ComputeAll`).
|
||||||
3. **Jobs data-driven** via `Server/ZeusCharServer/data/jobs.yml` (versionado no git, hot-reloadable). `characters.class_id` é lookup lógico.
|
3. **Jobs data-driven** via `Server/ZeusCharServer/data/jobs.yml` (versionado no git, hot-reloadable). `characters.class_id` é lookup lógico.
|
||||||
4. **Player nasce Aprendiz** (`class_id=NOVICE`); especialização via quest in-game (Fase B).
|
4. **Player nasce Novato** (`class_id=NOVICE`); especialização via quest in-game (Fase B).
|
||||||
5. **Stat allocation acontece no WorldServer** (não CharServer). Validação `cost = (s-1)/10 + 2` server-side.
|
5. **Stat allocation acontece no WorldServer** (não CharServer). Validação `cost = (s-1)/10 + 2` server-side.
|
||||||
6. **Anti-cheat:** toda mudança de estado é server-authoritative. Cliente apenas renderiza.
|
6. **Anti-cheat:** toda mudança de estado é server-authoritative. Cliente apenas renderiza.
|
||||||
7. **Fórmulas espelham rathena** (`status_calc_pc_` em `src/map/status.cpp:4996`) — adapta valores pra balanceamento Zeus depois.
|
7. **Fórmulas espelham rathena** (`status_calc_pc_` em `src/map/status.cpp:4996`) — adapta valores pra balanceamento Zeus depois.
|
||||||
|
|||||||
@@ -311,11 +311,11 @@ ALTER TABLE characters
|
|||||||
**Notas:**
|
**Notas:**
|
||||||
- `world_id` é nullable (sem chars em prod hoje — evita downtime futuro). Validação no service: novos chars devem ter `world_id`.
|
- `world_id` é nullable (sem chars em prod hoje — evita downtime futuro). Validação no service: novos chars devem ter `world_id`.
|
||||||
- Estrutura flat segue rathena (`.bases/rathena/rathena-master/sql-files/main.sql:209-296`) — padrão da indústria emuladora. Sem entidade `character_stats` separada (1:1 FK seria JOIN inútil).
|
- Estrutura flat segue rathena (`.bases/rathena/rathena-master/sql-files/main.sql:209-296`) — padrão da indústria emuladora. Sem entidade `character_stats` separada (1:1 FK seria JOIN inútil).
|
||||||
- Defaults vêm da row Aprendiz no `jobs.yml` (ver doc Character Model).
|
- Defaults vêm da row Novato no `jobs.yml` (ver doc Character Model).
|
||||||
- **Stats derivados (ATK/MATK/DEF/MDEF/hit/flee/crit/aspd) NÃO entram aqui** — são sempre recalculados em runtime no WorldServer via fórmulas. Persistir é bug fest (esquece atualizar quando muda equip/buff/level).
|
- **Stats derivados (ATK/MATK/DEF/MDEF/hit/flee/crit/aspd) NÃO entram aqui** — são sempre recalculados em runtime no WorldServer via fórmulas. Persistir é bug fest (esquece atualizar quando muda equip/buff/level).
|
||||||
- `version` (optimistic locking) usado em writeback da Fase 3.
|
- `version` (optimistic locking) usado em writeback da Fase 3.
|
||||||
|
|
||||||
> **Para o detalhamento do modelo de personagem** (stats primários vs derivados, fórmulas de ATK/MATK/DEF, jobs.yml, stat allocation, leveling curve, classes Aprendiz → especialização), ver doc dedicado [`ARQUITETURA_CHARACTER_MODEL.md`](ARQUITETURA_CHARACTER_MODEL.md).
|
> **Para o detalhamento do modelo de personagem** (stats primários vs derivados, fórmulas de ATK/MATK/DEF, jobs.yml, stat allocation, leveling curve, classes Novato → especialização), ver doc dedicado [`ARQUITETURA_CHARACTER_MODEL.md`](ARQUITETURA_CHARACTER_MODEL.md).
|
||||||
|
|
||||||
### Schema Valkey (Fase 2+)
|
### Schema Valkey (Fase 2+)
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -86,6 +86,15 @@ GameViewportClientClassName=/Script/CommonUI.CommonGameViewportClient
|
|||||||
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonCharacter",NewClassName="ZMMOPlayerCharacter")
|
+ActiveClassRedirects=(OldClassName="TP_ThirdPersonCharacter",NewClassName="ZMMOPlayerCharacter")
|
||||||
+ActiveClassRedirects=(OldClassName="ZMMOCharacter",NewClassName="ZMMOPlayerCharacter")
|
+ActiveClassRedirects=(OldClassName="ZMMOCharacter",NewClassName="ZMMOPlayerCharacter")
|
||||||
|
|
||||||
|
[CoreRedirects]
|
||||||
|
; Migração v1→v2 do FUIStylePanel: TMap<EUIPanelTexture,...> (Enum) → TMap<FName,...>.
|
||||||
|
; Os campos *_DEPRECATED preservam a leitura do asset antigo; PostSerialize copia
|
||||||
|
; pros novos ByName e após re-save os legacy ficam vazios. Os redirects podem
|
||||||
|
; ser removidos quando todos os DTs do projeto tiverem sido re-salvos.
|
||||||
|
+PropertyRedirects=(OldName="/Script/ZMMO.UIStylePanel.PanelBackground",NewName="/Script/ZMMO.UIStylePanel.PanelBackground_DEPRECATED")
|
||||||
|
+PropertyRedirects=(OldName="/Script/ZMMO.UIStylePanel.PanelOutline",NewName="/Script/ZMMO.UIStylePanel.PanelOutline_DEPRECATED")
|
||||||
|
+PropertyRedirects=(OldName="/Script/ZMMO.UIStylePanel.PanelOutlineEffect",NewName="/Script/ZMMO.UIStylePanel.PanelOutlineEffect_DEPRECATED")
|
||||||
|
|
||||||
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
||||||
bEnablePlugin=True
|
bEnablePlugin=True
|
||||||
bAllowNetworkConnection=True
|
bAllowNetworkConnection=True
|
||||||
@@ -100,3 +109,60 @@ ConnectionType=USBOnly
|
|||||||
bUseManualIPAddress=False
|
bUseManualIPAddress=False
|
||||||
ManualIPAddress=
|
ManualIPAddress=
|
||||||
|
|
||||||
|
[/Script/Engine.CollisionProfile]
|
||||||
|
-Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision",bCanModify=False)
|
||||||
|
-Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
|
||||||
|
-Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
|
||||||
|
-Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
|
||||||
|
-Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
|
||||||
|
-Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.",bCanModify=False)
|
||||||
|
-Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ",bCanModify=False)
|
||||||
|
-Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ",bCanModify=False)
|
||||||
|
-Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic",Response=ECR_Block),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.",bCanModify=False)
|
||||||
|
-Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.",bCanModify=False)
|
||||||
|
-Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors",bCanModify=False)
|
||||||
|
-Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors",bCanModify=False)
|
||||||
|
-Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.",bCanModify=False)
|
||||||
|
-Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.",bCanModify=False)
|
||||||
|
-Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.",bCanModify=False)
|
||||||
|
-Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.",bCanModify=False)
|
||||||
|
-Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.",bCanModify=False)
|
||||||
|
-Profiles=(Name="UI",CollisionEnabled=QueryOnly,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Block),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ",bCanModify=False)
|
||||||
|
+Profiles=(Name="NoCollision",CollisionEnabled=NoCollision,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="No collision")
|
||||||
|
+Profiles=(Name="BlockAll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=,HelpMessage="WorldStatic object that blocks all actors by default. All new custom channels will use its own default response. ")
|
||||||
|
+Profiles=(Name="OverlapAll",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ")
|
||||||
|
+Profiles=(Name="BlockAllDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=,HelpMessage="WorldDynamic object that blocks all actors by default. All new custom channels will use its own default response. ")
|
||||||
|
+Profiles=(Name="OverlapAllDynamic",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Overlap),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that overlaps all actors by default. All new custom channels will use its own default response. ")
|
||||||
|
+Profiles=(Name="IgnoreOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that ignores Pawn and Vehicle. All other channels will be set to default.")
|
||||||
|
+Profiles=(Name="OverlapOnlyPawn",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Pawn",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that overlaps Pawn, Camera, and Vehicle. All other channels will be set to default. ")
|
||||||
|
+Profiles=(Name="Pawn",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object. Can be used for capsule of any playerable character or AI. ")
|
||||||
|
+Profiles=(Name="Spectator",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="WorldStatic"),(Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Destructible",Response=ECR_Ignore)),HelpMessage="Pawn object that ignores all other actors except WorldStatic.")
|
||||||
|
+Profiles=(Name="CharacterMesh",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="Pawn",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Vehicle",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Pawn object that is used for Character Mesh. All other channels will be set to default.")
|
||||||
|
+Profiles=(Name="PhysicsActor",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=,HelpMessage="Simulating actors")
|
||||||
|
+Profiles=(Name="Destructible",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Destructible",CustomResponses=,HelpMessage="Destructible actors")
|
||||||
|
+Profiles=(Name="InvisibleWall",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldStatic object that is invisible.")
|
||||||
|
+Profiles=(Name="InvisibleWallDynamic",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="Visibility",Response=ECR_Ignore)),HelpMessage="WorldDynamic object that is invisible.")
|
||||||
|
+Profiles=(Name="Trigger",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldDynamic object that is used for trigger. All other channels will be set to default.")
|
||||||
|
+Profiles=(Name="Ragdoll",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="PhysicsBody",CustomResponses=((Channel="Pawn",Response=ECR_Ignore),(Channel="Visibility",Response=ECR_Ignore)),HelpMessage="Simulating Skeletal Mesh Component. All other channels will be set to default.")
|
||||||
|
+Profiles=(Name="Vehicle",CollisionEnabled=QueryAndPhysics,bCanModify=False,ObjectTypeName="Vehicle",CustomResponses=,HelpMessage="Vehicle object that blocks Vehicle, WorldStatic, and WorldDynamic. All other channels will be set to default.")
|
||||||
|
+Profiles=(Name="UI",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldDynamic",CustomResponses=((Channel="WorldStatic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility"),(Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Camera",Response=ECR_Overlap),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="WorldStatic object that overlaps all actors by default. All new custom channels will use its own default response. ")
|
||||||
|
+Profiles=(Name="WaterBodyCollision",CollisionEnabled=QueryOnly,bCanModify=False,ObjectTypeName="WorldStatic",CustomResponses=((Channel="WorldDynamic",Response=ECR_Overlap),(Channel="Pawn",Response=ECR_Overlap),(Channel="Visibility",Response=ECR_Ignore),(Channel="Camera",Response=ECR_Ignore),(Channel="PhysicsBody",Response=ECR_Overlap),(Channel="Vehicle",Response=ECR_Overlap),(Channel="Destructible",Response=ECR_Overlap)),HelpMessage="Default Water Collision Profile (Created by Water Plugin)")
|
||||||
|
-ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
|
||||||
|
-ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
|
||||||
|
-ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic")
|
||||||
|
-ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor")
|
||||||
|
-ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic")
|
||||||
|
+ProfileRedirects=(OldName="BlockingVolume",NewName="InvisibleWall")
|
||||||
|
+ProfileRedirects=(OldName="InterpActor",NewName="IgnoreOnlyPawn")
|
||||||
|
+ProfileRedirects=(OldName="StaticMeshComponent",NewName="BlockAllDynamic")
|
||||||
|
+ProfileRedirects=(OldName="SkeletalMeshActor",NewName="PhysicsActor")
|
||||||
|
+ProfileRedirects=(OldName="InvisibleActor",NewName="InvisibleWallDynamic")
|
||||||
|
-CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic")
|
||||||
|
-CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic")
|
||||||
|
-CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle")
|
||||||
|
-CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn")
|
||||||
|
+CollisionChannelRedirects=(OldName="Static",NewName="WorldStatic")
|
||||||
|
+CollisionChannelRedirects=(OldName="Dynamic",NewName="WorldDynamic")
|
||||||
|
+CollisionChannelRedirects=(OldName="VehicleMovement",NewName="Vehicle")
|
||||||
|
+CollisionChannelRedirects=(OldName="PawnMovement",NewName="Pawn")
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ ProjectName=Third Person Game Template
|
|||||||
; Paths use the /Game prefix (cooked Content namespace). Uncomment after the
|
; Paths use the /Game prefix (cooked Content namespace). Uncomment after the
|
||||||
; assets are actually created in the editor.
|
; assets are actually created in the editor.
|
||||||
; -----------------------------------------------------------------------------
|
; -----------------------------------------------------------------------------
|
||||||
|
|
||||||
[/Script/ZMMO.ZMMOThemeSubsystem]
|
[/Script/ZMMO.ZMMOThemeSubsystem]
|
||||||
;DefaultThemeAsset=/Game/ZMMO/UI/Themes/DA_Theme_Default.DA_Theme_Default
|
;DefaultThemeAsset=/Game/ZMMO/UI/Themes/DA_Theme_Default.DA_Theme_Default
|
||||||
;+ThemeRegistry=(("Christmas", "/Game/ZMMO/UI/Themes/DA_Theme_Christmas.DA_Theme_Christmas"))
|
;+ThemeRegistry=(("Christmas", "/Game/ZMMO/UI/Themes/DA_Theme_Christmas.DA_Theme_Christmas"))
|
||||||
@@ -35,6 +36,12 @@ ScreenSetAsset=/Game/ZMMO/UI/FrontEnd/DA_FrontEndScreenSet.DA_FrontEndScreenSet
|
|||||||
; cliente resolve `mapId -> ClientLevel/spawns` via FZMMOMapDef rows.
|
; cliente resolve `mapId -> ClientLevel/spawns` via FZMMOMapDef rows.
|
||||||
MapsTableAsset=/Game/ZMMO/Data/World/DT_Maps.DT_Maps
|
MapsTableAsset=/Game/ZMMO/Data/World/DT_Maps.DT_Maps
|
||||||
|
|
||||||
|
; Loading dinâmico (etapas + dicas). DA_LoadingProfiles tem 1 perfil por
|
||||||
|
; contexto (EZMMOLoadingContext); DT_LoadingTips rotaciona durante o load.
|
||||||
|
; Cliente local marca etapas via eventos (sem opcode novo).
|
||||||
|
LoadingProfilesAsset=/Game/ZMMO/Data/UI/Loading/DA_LoadingProfiles.DA_LoadingProfiles
|
||||||
|
LoadingTipsAsset=/Game/ZMMO/Data/UI/Loading/DT_LoadingTips.DT_LoadingTips
|
||||||
|
|
||||||
; -----------------------------------------------------------------------------
|
; -----------------------------------------------------------------------------
|
||||||
; UI in-game (PR 19+). Espelho do front-end pattern:
|
; UI in-game (PR 19+). Espelho do front-end pattern:
|
||||||
; - ScreenSetAsset mapeia EZMMOInGameUIState -> WBP (Playing -> WBP_HUD,
|
; - ScreenSetAsset mapeia EZMMOInGameUIState -> WBP (Playing -> WBP_HUD,
|
||||||
@@ -43,6 +50,7 @@ MapsTableAsset=/Game/ZMMO/Data/World/DT_Maps.DT_Maps
|
|||||||
; Playing.
|
; Playing.
|
||||||
; Asset criado via MCP em /Game/ZMMO/UI/InGame/DA_InGameScreenSet.
|
; Asset criado via MCP em /Game/ZMMO/UI/InGame/DA_InGameScreenSet.
|
||||||
; -----------------------------------------------------------------------------
|
; -----------------------------------------------------------------------------
|
||||||
|
|
||||||
[/Script/ZMMO.UIInGameFlowSubsystem]
|
[/Script/ZMMO.UIInGameFlowSubsystem]
|
||||||
ScreenSetAsset=/Game/ZMMO/UI/InGame/DA_InGameScreenSet.DA_InGameScreenSet
|
ScreenSetAsset=/Game/ZMMO/UI/InGame/DA_InGameScreenSet.DA_InGameScreenSet
|
||||||
|
|
||||||
@@ -55,5 +63,20 @@ ScreenSetAsset=/Game/ZMMO/UI/InGame/DA_InGameScreenSet.DA_InGameScreenSet
|
|||||||
; Convenção: usa o path /Script/<Module>.<ClassName> (sem o "U" do prefixo
|
; Convenção: usa o path /Script/<Module>.<ClassName> (sem o "U" do prefixo
|
||||||
; C++; UClass resolve pelo nome curto).
|
; C++; UClass resolve pelo nome curto).
|
||||||
; -----------------------------------------------------------------------------
|
; -----------------------------------------------------------------------------
|
||||||
|
|
||||||
[/Script/ZMMO.ZMMOPlayerState]
|
[/Script/ZMMO.ZMMOPlayerState]
|
||||||
+ComponentClasses=/Script/ZMMOAttributes.ZMMOAttributeComponent
|
+ComponentClasses=/Script/ZMMOAttributes.ZMMOAttributeComponent
|
||||||
|
|
||||||
|
[/Script/Engine.AssetManagerSettings]
|
||||||
|
-PrimaryAssetTypesToScan=(PrimaryAssetType="Map",AssetBaseClass=/Script/Engine.World,bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game/Maps")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown))
|
||||||
|
-PrimaryAssetTypesToScan=(PrimaryAssetType="PrimaryAssetLabel",AssetBaseClass=/Script/Engine.PrimaryAssetLabel,bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown))
|
||||||
|
+PrimaryAssetTypesToScan=(PrimaryAssetType="Map",AssetBaseClass="/Script/Engine.World",bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game/Maps")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown))
|
||||||
|
+PrimaryAssetTypesToScan=(PrimaryAssetType="PrimaryAssetLabel",AssetBaseClass="/Script/Engine.PrimaryAssetLabel",bHasBlueprintClasses=False,bIsEditorOnly=True,Directories=((Path="/Game")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown))
|
||||||
|
+PrimaryAssetTypesToScan=(PrimaryAssetType="GameFeatureData",AssetBaseClass="/Script/GameFeatures.GameFeatureData",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=,SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=AlwaysCook))
|
||||||
|
bOnlyCookProductionAssets=False
|
||||||
|
bShouldManagerDetermineTypeAndName=False
|
||||||
|
bShouldGuessTypeAndNameInEditor=True
|
||||||
|
bShouldAcquireMissingChunksOnLoad=False
|
||||||
|
bShouldWarnAboutInvalidAssets=True
|
||||||
|
MetaDataTagsForAssetRegistry=()
|
||||||
|
|
||||||
|
|||||||
BIN
Content/BP_TestActor.uasset
Normal file
BIN
Content/BP_TestActor.uasset
Normal file
Binary file not shown.
BIN
Content/Blueprints/BP_CellBoundaryVolume.uasset
Normal file
BIN
Content/Blueprints/BP_CellBoundaryVolume.uasset
Normal file
Binary file not shown.
Binary file not shown.
BIN
Content/Materials/MI_CellBoundary_InnerFade_Default.uasset
Normal file
BIN
Content/Materials/MI_CellBoundary_InnerFade_Default.uasset
Normal file
Binary file not shown.
BIN
Content/Materials/MI_CellBoundary_InnerFade_East.uasset
Normal file
BIN
Content/Materials/MI_CellBoundary_InnerFade_East.uasset
Normal file
Binary file not shown.
BIN
Content/Materials/MI_CellBoundary_InnerFade_North.uasset
Normal file
BIN
Content/Materials/MI_CellBoundary_InnerFade_North.uasset
Normal file
Binary file not shown.
BIN
Content/Materials/MI_CellBoundary_InnerFade_South.uasset
Normal file
BIN
Content/Materials/MI_CellBoundary_InnerFade_South.uasset
Normal file
Binary file not shown.
BIN
Content/Materials/MI_CellBoundary_InnerFade_West.uasset
Normal file
BIN
Content/Materials/MI_CellBoundary_InnerFade_West.uasset
Normal file
Binary file not shown.
BIN
Content/Materials/M_CellBoundary_FogCard_Surface.uasset
Normal file
BIN
Content/Materials/M_CellBoundary_FogCard_Surface.uasset
Normal file
Binary file not shown.
BIN
Content/Materials/M_CellBoundary_InnerFade.uasset
Normal file
BIN
Content/Materials/M_CellBoundary_InnerFade.uasset
Normal file
Binary file not shown.
BIN
Content/Materials/M_CellBoundary_InnerFog_Volume.uasset
Normal file
BIN
Content/Materials/M_CellBoundary_InnerFog_Volume.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Data/Jobs/Beginner/DA_Job_Novice.uasset
Normal file
BIN
Content/ZMMO/Data/Jobs/Beginner/DA_Job_Novice.uasset
Normal file
Binary file not shown.
Binary file not shown.
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Arcanist.uasset
Normal file
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Arcanist.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Artisan.uasset
Normal file
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Artisan.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Devout.uasset
Normal file
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Devout.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Ranger.uasset
Normal file
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Ranger.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Rogue.uasset
Normal file
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Rogue.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Warrior.uasset
Normal file
BIN
Content/ZMMO/Data/Jobs/Vocation/DA_Job_Warrior.uasset
Normal file
Binary file not shown.
Binary file not shown.
BIN
Content/ZMMO/Data/UI/DT_UI_VitalsReadout.uasset
Normal file
BIN
Content/ZMMO/Data/UI/DT_UI_VitalsReadout.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Data/UI/Loading/DA_LoadingProfiles.uasset
Normal file
BIN
Content/ZMMO/Data/UI/Loading/DA_LoadingProfiles.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Data/UI/Loading/DT_LoadingTips.uasset
Normal file
BIN
Content/ZMMO/Data/UI/Loading/DT_LoadingTips.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/Maps/World/L_ZeusIATest.umap
Normal file
BIN
Content/ZMMO/Maps/World/L_ZeusIATest.umap
Normal file
Binary file not shown.
BIN
Content/ZMMO/Sounds/UI/button_click.uasset
Normal file
BIN
Content/ZMMO/Sounds/UI/button_click.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/JetBrains_Mono/JetBrains_Mono.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/JetBrains_Mono/JetBrains_Mono.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/Manrope/Manrope.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/Manrope/Manrope.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-Bold.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-Bold.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-ExtraBold.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-ExtraBold.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-ExtraLight.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-ExtraLight.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-Light.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-Light.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-Medium.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-Medium.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-Regular.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-Regular.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-SemiBold.uasset
Normal file
BIN
Content/ZMMO/UI/Fonts/Manrope/static/Manrope-SemiBold.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/ZMMO/UI/HUD/WBP_PlayerVitalsPanel.uasset
Normal file
BIN
Content/ZMMO/UI/HUD/WBP_PlayerVitalsPanel.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/ZMMO/UI/Materials/M_UI_Gradient_TopToBottom.uasset
Normal file
BIN
Content/ZMMO/UI/Materials/M_UI_Gradient_TopToBottom.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/ZMMO/UI/Shared/Loading/WBP_Loading.uasset
Normal file
BIN
Content/ZMMO/UI/Shared/Loading/WBP_Loading.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Shared/UI_Button_Master_New.uasset
Normal file
BIN
Content/ZMMO/UI/Shared/UI_Button_Master_New.uasset
Normal file
Binary file not shown.
Binary file not shown.
BIN
Content/ZMMO/UI/Shared/UI_ProgressBar_Master.uasset
Normal file
BIN
Content/ZMMO/UI/Shared/UI_ProgressBar_Master.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Themes/Default/Button/UI_M_Button.uasset
Normal file
BIN
Content/ZMMO/UI/Themes/Default/Button/UI_M_Button.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Frame.uasset
Normal file
BIN
Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Frame.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Glow.uasset
Normal file
BIN
Content/ZMMO/UI/Themes/Default/Button/UI_M_Button_Glow.uasset
Normal file
Binary file not shown.
BIN
Content/ZMMO/UI/Themes/Default/Button/UI_M_CornerBrackets.uasset
Normal file
BIN
Content/ZMMO/UI/Themes/Default/Button/UI_M_CornerBrackets.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user