Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coherent Integration #240

Open
55 of 58 tasks
saddieeiddas opened this issue Sep 29, 2018 · 2 comments
Open
55 of 58 tasks

Coherent Integration #240

saddieeiddas opened this issue Sep 29, 2018 · 2 comments

Comments

@saddieeiddas
Copy link

saddieeiddas commented Sep 29, 2018

This is an issue to keep track of coherent integration:

Components

  • Announcement
  • Compass
  • CompassTooltip
  • DevUI
  • DragAndDrop
  • ErrorMessages
  • GameMenu
  • HealthBar
  • HUD
  • HUDDrag
  • HUDNav
  • InteractiveAlert
  • ObjectDisplay
  • PlotControl
  • Progression
  • RefillAmmo
  • ReleaseControl
  • Respawn
  • ScenarioPopup
  • ScenarioResults
  • SkillBar
  • SkillQueue
  • WarbandDisplay
  • Console
  • EnemyTargetHealth
  • FriendlyTargetHealth
  • HudNavWindow
  • MOTD
  • PlayerHealth
  • SiegeHealth
  • ZoneName

Services

  • actions/compass
  • actions/contextMenu
  • actions/player
  • actions/trade
  • actions/warband
  • services/clientCommands
  • services/emoteCommands
  • services/generalCommands
  • services/uiCommands
  • services/index
  • session/invites
  • session/layout
  • session/reducer
  • session/layoutItems/Chat
  • session/layoutItems/HUDNav

Widgets

  • Building
  • Crafting
  • GameInfo
  • HUDFullScreen
  • HUDFullScreen/CharacterInfo
  • HUDFullScreen/Inventory
  • HUDFullScreen/ItemShared
  • HUDFullScreen/Map
  • HUDFullScreen/PaperDoll
  • HUDFullScreen/Tooltip
  • HUDFullScreen/TradeWindow
  • Settings

Issues

client.OnAbilityError((message: any) => {}) is missing

client.FOV(degrees) is missing

plotPermissions is missing

plotPermissions {
  Self = 0,
  Group = 1 << 0,
  Friends = 1 << 1,
  Guild = 1 << 2,
  Realm = 1 << 3,
  All = 1 << 4,
  COUNT = 1 << 5,
}

How can siege targets be handled, currently only have access to siege which is controlled by self/friendly/enemy, but no targeting siege directly.

client.SnapMode() is missing

client.Emote() is missing

client.CrashTheGame() is missing

UI methods are missing OpenUI CloseUI ShowUI HideUI

client.CopyBlueprint(); is missing

client.PasteBlueprint(); is missing

client.DropItem(id); is missing

client.OnSkillBarChanged is missing

@codecorsair
Copy link
Member

codecorsair commented Oct 3, 2018

Hijacking for client API status as well 🚗

Game Client API

GameModel

See GameModel interface

  • patchResourceChannel
  • accessToken
  • webAPIHost
  • serverHost
  • shardID
  • pktHash
  • reloadUI
  • quit
  • triggerKeyAction
  • sendSlashCommand
  • playGameSound
  • keybinds
  • setKeybind
  • clearKeybind
  • resetKeybinds
  • options
  • resetOptions
  • startItemPlacement
  • commitItemPlacement
  • resetItemPlacement
  • cancelItemPlacement
  • changeItemPlacementMode
  • _cse_dev_beginTriggerKeyActionLoop
  • _cse_dev_endTriggerKeyActionLoop

Game Model Tasks

Methods that return a Task<T> result

  • _cse_dev_listenForKeyBindingTask
  • _cse_dev_setOptions
  • _cse_dev_testOption
  • _cse_dev_takeScreenshot

Engine Events

See Engine Events

  • beginChat
  • systemMessage
  • scenarioRoundEnd
  • combatEvent
  • consoleText
  • updateDevUI
  • announcement
  • navigate
  • keybindChanged
  • optionChanged

Entity States

See EntityStateModel.

Shared

  • Update event - 'entityState.update'
  • faction
  • entityID
  • name
  • isAlive
  • position
  • statuses

Kinematic

  • type 'kinematic'

PlayerState

  • type 'player'
  • health
  • race
  • gender
  • classID
  • stamina
  • blood
  • characterID
  • controlledEntityID

SiegeState

  • type 'siege'
  • health
  • controllingEntityID

Self Player State

See SelfPlayerStateModel.
Inherits all values of PlayerState from Entity States

  • Update event - 'selfPlayerState.update'
  • zoneID
  • facing
  • cameraFacing
  • respawn
  • stuck
  • changeZone
  • equipItem
  • unequipItem
  • requestFriendlyTarget
  • requestEnemyTarget

Friendly Target Player State

See FriendlyTargetPlayerStateModel interface.
Inherits all values of PlayerState from Entity States

  • Update event - 'friendlyTargetPlayerState.update'

Enemy Target Player State

See EnemyTargetPlayerStateModel interface.
Inherits all values of PlayerState from Entity States

  • Update event - 'enemyTargetPlayerState.update'

Key Actions

See KeyActionsModel.
Properties match the ButtonFunction enumeration found in Input.h on the game client. I will skip listing them all here.

Loading State

See LoadingStateModel.

  • percent
  • message
  • visible

Plot

See PlotModel.

  • isOwner
  • permissions
  • ownerCharacterID
  • ownerEntityID
  • buildingMode
  • activeBlock
  • materials
  • setBuildingMode
  • selectBlock
  • replaceMaterials
  • replaceMaterialsInSelection
  • replaceShapes
  • replaceShapesInSelection
  • dropLight
  • resetLights
  • removeLight
  • countBlocks
  • selectBlueprint
  • getBlueprints
  • deleteBlueprint
  • createBlueprintFromSelection

Client Tasks

  • Engine event 'taskComplete'

Task type

See Task interface.

  • id
  • statusCode
  • value
  • reason
  • cancel

Still TODO

Skill Button API

@codecorsair
Copy link
Member

client.OnAbilityError((message: any) => {}) is missing

Skill interface is not yet completed

client.FOV(degrees) is missing

This is removed, will just use a normal GameOption

plotPermissions is missing

plotPermissions {
  Self = 0,
  Group = 1 << 0,
  Friends = 1 << 1,
  Guild = 1 << 2,
  Realm = 1 << 3,
  All = 1 << 4,
  COUNT = 1 << 5,
}

Not used currently, will get added if it does

How can siege targets be handled, currently only have access to siege which is controlled by self/friendly/enemy, but no targeting siege directly.

Resolved.

client.SnapMode() is missing

This was intentionally removed as it is no longer supported by the client.

client.Emote() is missing

This was intentionally removed, emotes will function more like skills in the future.

client.CrashTheGame() is missing

This was intentionally removed, will be available via a slash command only

UI methods are missing OpenUI CloseUI ShowUI HideUI

These are no longer relevant with coherent

client.CopyBlueprint(); is missing

client.PasteBlueprint(); is missing

Removed in favor of key action commands.

client.DropItem(id); is missing

Removed intentionally, drop item is done via an WebAPI move item request

client.OnSkillBarChanged is missing

Removed as won't be relevant in the new skillbar api, which is not yet complete however.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants