Mateus Rodrigues ff75ad92eb feat(gas): Batch 2 - Vertical slice Dash client (input bind + assets)
ZeusCharacter:
- DashAction UPROPERTY + load /Game/Input/Actions/IA_Dash.IA_Dash no ctor.
- SetupPlayerInputComponent: BindAction(DashAction, Triggered) -> OnDashTriggered.
- OnDashTriggered: resolve UZeusGASComponent via PlayerState -> chama
  RequestActivateAbilityByTag(Zeus.Ability.Movement.Dash). Bridge envia
  C_ABILITY_TRY_ACTIVATE pro server (handle, tagHash) e o ASC local executa
  ActivateAbility (LaunchCharacter) quando server confirma S_ABILITY_ACTIVATED.

Assets (criados via MCP):
- DT_Abilities (/Game/ZMMO/Data/Abilities/) — row "Zeus.Ability.Movement.Dash"
  apontando pro BP_GA_Dash_C. Row name = tag canonica (hash bate com server).
- BP_GA_Dash (/Game/ZMMO/GAS/Abilities/) — parent UZeusGameplayAbility_Dash.
- IA_Dash (/Game/Input/Actions/) — Boolean InputAction.
- IMC_Default — bind LeftShift -> IA_Dash com trigger Pressed (13a mapping).

Fluxo completo (apos rebuild + server na branch GameplayAbilitySystem):
  LShift -> OnDashTriggered -> RequestActivateAbilityByTag ->
  C_ABILITY_TRY_ACTIVATE -> server valida cost SP/cooldown ->
  S_ABILITY_ACTIVATED + S_ATTRIBUTE_HP_SP_UPDATE (-10 SP) ->
  ASC.TryActivateAbility(local) -> BP_GA_Dash::ActivateAbility ->
  LaunchCharacter(forward * 2400 cm/s) + HUD SP cai 10 + cooldown 3s.

Branch GameplayAbilitySystem (criada a partir do main pro escopo GAS).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-03 03:02:51 -03:00
2026-05-07 20:17:53 -03:00

ZMMO — Cliente Unreal Zeus MMO

Cliente Unreal Engine 5.7 do projecto Zeus. Implementa o pipeline "cliente solto + servidor valida input/velocidade" definido em ADR 0038 (landscape autoritativo no cliente; servidor reservado para colisao de objectos).

Arquitectura

  • Source/ZMMO/Game/Entity/IZMMOEntityInterface, AZMMOEntity, AZMMOPlayerCharacter (local, CMC livre), AZMMOPlayerProxy (remoto, snapshot-only).
  • Source/ZMMO/Game/Controller/AZMMOPlayerController com Enhanced Input + virtual joystick opcional.
  • Source/ZMMO/Game/Modes/AZMMOGameMode e UZMMOGameInstance (auto-connect ao servidor Zeus em Init).
  • Source/ZMMO/Game/Network/UZMMOWorldSubsystem (registry EntityId -> AActor*, dispatch dos delegates do UZeusNetworkSubsystem).

Dependencias

  • Unreal Engine 5.7
  • Plugin ZeusNetwork (do projecto servidor, em Server/Plugins/Unreal/)
  • Plugin ZeusMapTools (editor-only, opcional)

Smoke test

  1. Servidor Zeus a correr em 127.0.0.1:27777.
  2. Abrir ZMMO.uproject, aguardar build do modulo ZMMO.
  3. PIE: confirmar [Zeus] Connected to server 127.0.0.1:27777 no Output Log e o spawn do pawn local com EntityId autoritativo.

Configuracao

  • bAutoConnectOnStart (default true) em UZMMOGameInstance. Desligar quando existir UI de login.
  • Config/DefaultEngine.ini aponta GlobalDefaultGameMode=/Script/ZMMO.ZMMOGameMode.
Description
No description provided
Readme 80 MiB
Languages
C++ 93.1%
C 5.2%
C# 1%
Python 0.5%
PowerShell 0.2%