Files
ZMMO/Config/DefaultGame.ini
Mateus Rodrigues 21d42d9846 chore(gas): sync GameplayTags do server (Stamina/Kick/Spell/Buff) + flags de debug GAS
ZeusServerTags.ini -- merge gerado por sync_tags.ps1 (14 tags novas vindo do
ZeusServer dump JSON via ZeusTool tags sync):
- Stamina:           Zeus.Attribute.Stamina + MaxStamina
- Kick:              Zeus.Ability.Melee + Zeus.Ability.Melee.Kick
                     Zeus.Effect.Cooldown.Kick + Zeus.Cooldown.Kick
                     Zeus.Cue.Melee + Zeus.Cue.Melee.Kick
- FireballRain rename: Zeus.Ability.Spell.* + Zeus.Effect.Cooldown.FireballRain
                       Zeus.Cooldown.FireballRain
- Buff reorg:        Zeus.Effect.Buff + Zeus.Effect.Buff.StrUp

Tag orfa removida manualmente: Zeus.Ability.Combat.Kick (Kick mudou
de Combat.* pra Melee.*; merge preservou a antiga, limpo aqui).

DefaultGame.ini: flags de debug do GAS pra Kick development:
- bUseDebugTargetFromHud=true   (showdebug abilitysystem aponta pra mira)
- AbilitySystem.LogAbilityTriggers=1
- AbilitySystem.DebugAbilityTags=1

Lembrete: GameplayTags.ini so' eh lido no boot do editor -- reiniciar UE
pra registrar as tags novas (BP_GA_Kick depende de Zeus.Ability.Melee.Kick).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-18 01:37:45 -03:00

102 lines
6.0 KiB
INI

[/Script/EngineSettings.GeneralProjectSettings]
ProjectID=FC3E256F43B2AFD43009F4949B0814BE
ProjectName=Third Person Game Template
; -----------------------------------------------------------------------------
; ZMMO Theme subsystem (see Source/ZMMO/Game/UI/ZeusThemeSubsystem.h and
; ARQUITETURA.md §1.10 / §4.7).
;
; - DefaultThemeAsset is the fallback theme (must define every EZeusThemeKey).
; - ThemeRegistry maps ThemeId -> seasonal DA_Theme_* asset.
; - CalendarTable points to DT_ThemeCalendar (FThemeCalendarRow rows).
; - UIStyleTable points to DT_UI_Styles (FUIStyleRow rows): tokens de estilo
; (cores/fontes/dimensões) keyed por ThemeId; linha "Default" é o fallback.
; - DevThemeOverride forces a theme in non-Shipping builds only. Keep commented
; in production.
;
; Paths use the /Game prefix (cooked Content namespace). Uncomment after the
; assets are actually created in the editor.
; -----------------------------------------------------------------------------
[/Script/ZMMO.ZeusThemeSubsystem]
;DefaultThemeAsset=/Game/ZMMO/UI/Themes/DA_Theme_Default.DA_Theme_Default
;+ThemeRegistry=(("Christmas", "/Game/ZMMO/UI/Themes/DA_Theme_Christmas.DA_Theme_Christmas"))
;+ThemeRegistry=(("Halloween", "/Game/ZMMO/UI/Themes/DA_Theme_Halloween.DA_Theme_Halloween"))
;CalendarTable=/Game/ZMMO/UI/Themes/DT_ThemeCalendar.DT_ThemeCalendar
UIStyleTable=/Game/ZMMO/Data/UI/DT_UI_Styles.DT_UI_Styles
;DevThemeOverride=Christmas
[/Script/ZMMO.UIFrontEndFlowSubsystem]
; Mapa estado->tela. O DA já existe (RootLayoutClass = WBP_PrimaryGameLayout);
; StateScreens fica vazio até os WBPs de página virem do Zeus UMG Forge (§4.8).
ScreenSetAsset=/Game/ZMMO/UI/FrontEnd/DA_FrontEndScreenSet.DA_FrontEndScreenSet
; Fase 4 — char spawn DB-driven. DT_Maps espelha o `maps_config.json` do
; server (Server/ZeusServerEngine/Config/DataTables/maps_config.json) — o
; cliente resolve `mapId -> ClientLevel/spawns` via FZeusMapDef rows.
MapsTableAsset=/Game/ZMMO/Data/World/DT_Maps.DT_Maps
; Loading dinâmico (etapas + dicas). DA_LoadingProfiles tem 1 perfil por
; contexto (EZeusLoadingContext); 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:
; - ScreenSetAsset mapeia EZeusInGameUIState -> WBP (Playing -> WBP_HUD,
; StatusWindow -> WBP_StatusWindow, etc.)
; - Subsystem orquestra: AZeusHUD::BeginPlay chama StartInGame que vai pra
; Playing.
; Asset criado via MCP em /Game/ZMMO/UI/InGame/DA_InGameScreenSet.
; -----------------------------------------------------------------------------
[/Script/ZMMO.UIInGameFlowSubsystem]
ScreenSetAsset=/Game/ZMMO/UI/InGame/DA_InGameScreenSet.DA_InGameScreenSet
; -----------------------------------------------------------------------------
; PlayerState Component Registry (PR 19+). Cada módulo MMO registra seus
; UActorComponent aqui. O AZeusPlayerState lê esta lista no construtor e
; instancia cada classe como subobject — pattern Open-Closed: adicionar
; Inventory/Skills/Guild = mais uma linha aqui, sem editar AZeusPlayerState.
;
; Convenção: usa o path /Script/<Module>.<ClassName> (sem o "U" do prefixo
; C++; UClass resolve pelo nome curto).
; -----------------------------------------------------------------------------
[/Script/ZMMO.ZeusPlayerState]
; UZeusGASComponent (plugin ZeusGAS) — dono unico dos atributos do char (M7).
; Owns UZeusAbilitySystemComponent + UZeusAttributeSet (26 atributos
; espelhados do server CharAttributeSet). Bridge via UZeusGASNetworkHandler
; (UWorldSubsystem) subscribe nos delegates do UZeusNetworkSubsystem.
+ComponentClasses=/Script/ZeusGAS.ZeusGASComponent
; === GAS Cue paths (Batch 2.5 — S_ABILITY_CUE multicast cosmetico) ===
; UGameplayCueManager scaneia esses paths no boot pra mapear FGameplayTag
; -> AGameplayCueNotify_Actor BP. UZeusGASComponent::DispatchAbilityCue chama
; ASC->ExecuteGameplayCueLocal(CueTag, params) -> manager resolve pelo path.
[/Script/GameplayAbilities.AbilitySystemGlobals]
+GameplayCueNotifyPaths="/Game/ZMMO/GAS/Cues"
[/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=()
[/Script/GameplayAbilities.AbilitySystemGlobals]
bUseDebugTargetFromHud=true
[ConsoleVariables]
; mostra cooldowns, ativações, falhas
AbilitySystem.LogAbilityTriggers=1
; mostra effects aplicados/removidos com magnitude
AbilitySystem.DebugAbilityTags=1