Commit graph

167 commits

Author SHA1 Message Date
Fate-JH
337cfbe5d2
ObjectCreateMessage Alterations, Class Object Adjustments (#243)
* power outage failure resulting in the destruction of the original ocm-fixes branch; the git branch refs were corrupted during commit, but the up-to-date changed files remained intact

* eliminating the need for CommonFieldData2 and CommonFieldData2WithPlacement

* in the middle of integrating CommonFieldData into DetailedLockerContainerData (but not standard LockerContainerData); added field for final boolean in WeaponData

* adding faction affinity to Equipment (to match functionality; not becuase I know what ends ...)

* in the middle of integrating CommonFieldData into DetailedCommandDetonaterData

* applying faction affinity to objects at time of terminal production (but to what ends?); required BoomerTrigger and AmmoBox to always report as NEUTRAL internally

* completed the transition from using the old class-based order terminal system to the page-based order terminal system; unused terminal classes have been eliminated

* more closely aligned TelepadDeployableData and InternalTelepadDeployableData

* modifying TelepadDeployableData make it generic and eliminate the need for InternalTelepadDeployableData after fixing a packet converter to utilize DroppedItemData

* modified Terminal operation to branch further outwards from Terminal.Request to the TerminalDefinition's Request method; modified tests to reflect update

* loosening up matrix terminal definition limitations

* modified ProximityTerminal to support a custom defintition class

* rendered the message passing system for Terminals general (Any) in the full scale so it can be specific in instance cases

* refactored and moved both EquipmentSlot and ExoSuitDefinition

* (re)load Favorites each time player (re)spawns
2019-03-03 08:23:30 -05:00
Fate-JH
5fc9e191fe
initial PlanetsideStringAttribute packet and tests (#242) 2019-02-05 21:28:06 -05:00
Fate-JH
4eca226b5b
Damage Fix, and Stuff (#235)
* redid splash damage radial degrade calculations; lasher damage fixed to 6/0 or 2/4 depending on armor; fixed direct hit distance for weapons that act like slash weapons; gave Falcon a valid projectile

* delayed resource silo startup to avoid crash; discovered issue with MAX armor resulting from incorrect manipulation of inventory items during suit transfer

* modifications to consider a specific modifier that exists on some vehicles and armored equipment called Subtract, a DamageProfile that reduces damage due to a set flag; manually controlling damage tick marks rather than relying only on HitHint (from client)

* Tools now have default firemodes (temporary?); ammo gotten from loadouts is always full; loadouts and exo-suits juggle armor values differently on being changed; log messages for damage to players and vehicles

* weapons with one (last) shot need support communicating that one (last) shot

* fixing tests

* correcting the codec for BindPlayerMessage

* changed wording that identifies the damage log entries

* switching exosuit no longer causes butterfingers

* extending exosuit swap armor value changes to infantry loadout changes

* ranges removed from non-vehicle containers

* enabled partial damage functionality to facility turrets

* BindPlayerMessage replacing BattleplanMessage for purposes of depicting the closest AMS spawn point; specific enums in relation to spawning in BPM and SpawnRequestMessage

* rewrote exo-suit switching and loadout switching code, paying extra-special attention for the needs of MAX's

* quick amendment for previous commit

* switching from mount point check to seat checks in VehicleRemover; started refactoring of Cargo functions before realizing how complicated the full effort would be, so these changes are merely wrapping object identification by GUID

* adding a minor server delay to terminal operations
2018-11-21 20:31:51 -05:00
Fate-JH
7588166ac0
Maxes and Turrets Fixes (#237)
* modified DCData to account for Max suit encoding; modified converters for the avatar that would make use of DCData changes; corrections to enforce that Max/ex-Max always has correct hand showing

* separating initialization-time random GUID assignments from initialization-time fixed GUID assignments by performing them all later
2018-11-21 20:00:33 -05:00
FateJH
19f77fc9b5 adding comments to OC*M Codec files; modifying converters to take advantage of the new packet field extensions; fixing two pieces of GUID code that relied on throwing Exceptions to function correctly 2018-10-17 12:39:57 -04:00
FateJH
3ac0010052 added params for all DetailedCharacterData regions; wrote a function to handle proper string padding for the latter half of DCD (DCB); repaired all existing DetailedCharacterData tests 2018-10-17 12:39:57 -04:00
FateJH
59569f1a7d added params for all CharacterAppearanceData codec regions; added a param for the three bits of CharacterData not previously supported; repaired CharacterData tests; over-all: padding calculations are not yet adequate 2018-10-17 12:39:57 -04:00
FateJH
bf72d553e1 enhancing the three primary character codecs thanks to new analysis 2018-10-17 12:39:57 -04:00
Fate-JH
9340777c00
Router and Telepad (#232)
* added short and detailed codecs for Telepad, and converter for switching between Telepad and packets; modified Utility to construct a formal TeleportPadTerminal that associates the Telepad with a Router; can now pull telepad Equipment from Router terminal utilities

* this code supports operation of the deployable-side telepad

* basic teleportation between the Router and the remote telepad is functional; an ever-present internal telepad utility was added to the Router to facilitate this teleportation

* breakdown of Router teleportation code for the purposes of client synchronization; supports Router being set up first or Telepad being set up first, either order; background timer for eventual activation of Router

* refactored the router telepad system to remove unecessary function diversions; telepads now are properly linked where appropriate and links are properly broken in appropriate situations; message passing has been simplified

* fixed inventory size of the telepad; transferred router telepad activation systems from VehicleService to LocalService, and from the Ruoter to the TelepadDeployable; cleaned up code that handled the TelepadDeployable the Router relationship in WSA

* tests, mostly; no-router conditions for certain telepad-related converters

* adjusted (made constant) quantities for owned telepads

* resolved issue with router and telepad crashes; properly handles deployment states of AMS and Router upon zone entry; changed ownership/decon requirements to ownerless only
2018-10-17 12:36:43 -04:00
Fate-JH
5f3e7e5df8
Deployables (#230)
* functions for certifcation ui updates (that don't work)

* initialization of combat engineering deployables ui on load and certification change

* representation classes for ACE and FDU; ability to pull ACE and FDU from equipment terminals

* ammo change functionality and fire mode change functionality for ConstructionItems refactored from Tool operations and supported properly (switch between deployable options)

* zone-specific structure for keeping track of deployables; abaility to dismiss deployables from the map screen (previous functionality); local client creation of explosive-type deployables

* refactored MannedTurret into FacilityTurret and lesser traits to be used in the deployable spitfires and the OMFT's; all ACE deployables are available for placement; partial management of the construction items after the deployable is placed; boomers create boomer triggers

* Avatar-specific storage for deployables and for updating UI elements

* refactored quite a bit of code in WSA for the benefit of deployable management; refinements to deployable creation; server messages about deployable quantities; corrected the FDU encoding pattern; lots of work dedicated just to synchronizing BoomerTrigger objects

* added RemoverActor for deployables and redistributed deconstruction functionality away from WSA to new DeployableRemover; added events to facilitate activities not inheritable with this model

* refactored and distributed Deployables classes; copious amounts of testing and document-writing

* boomers now explode from trigger; support for deployables being destroyed by weapon discharge, including individual health, soure identification, and damage model; shuffled deployable classes to build different hierarchy

* sensor_shield was skipped by accident

* identified stray object in Hanish, Ishundar, and added Irkalla, Ishundar's capture console; fixed issue with Warp command and 'Irkalla'; modified building amenity setup and setup testing in Zone; players load and die properly when seated in an omft; reserve ammunition in omft properly registered

* added local service channel, capture consoles, fixed tests as much as posible

* fixed LocalService tests by booting the ServiceManager; added avatar and local tests

* a simple attempt to refactor Actor messages in a way that is acceptable to Travis CI

* making the explosive deployables vanish upon explosion; sensor health bars are now supported
2018-09-23 08:00:58 -04:00
Fate-JH
b81ff2bbf4
Facility Turrets (#223)
* object class, actor class, and definitions for base turrets; untested

* wired base turrets into existence, with hoop jumping; created interface for objects with mounted weapons (vehicles and turrets); working example phalanx_sgl_hevgatcan in Anguta, Ceryshen

* re-wiring manned turrets so that the turreted weapon itself never changes externally but merely identifies different and changes internally; workflow for upgrading wall turrets in place (30s); clarifications and documentation for HackMessage and UseItemMessage; getting rid of orphaned packages from previous location of services

* added a simple task that reverts upgraded manned turrets to their None state after a certain amount of time has passed; it works but need improvement

* turret weapon upgrades now last for a duration of 30 minutes before reverting; created a service support actor base actor that underlies all current support actors; nano-dispenser now properly loads 1 unit of upgrade canister, rather than 100 units; all canister types have appropriate 2x3 inventory size

* forgot to hurry; moved over the Services tests from main/test folder into the common/test folder and needed to change the location of ActorTest to accommodate it; test and documentation for MannedTurret; codecov ignore update

* wired facility turrets in Anguta, Ceryshen; Akna tower, Ceryshen; and S.Villa tower, home3 (Anguta tower is a watchtower); attempted workaround for Travis CI issues with receiveN; re-introduced RemoveActorTest, at least the first test; expanded how ZoneActor performs tests on MannedTurret setup

* getting rid of useless commented-out code; making common operations for mounting and dismounting

* removed outdated comment; added ResourceSilo tests; added extra test for Zone
2018-07-14 21:25:44 -04:00
FateJH
a20e75d07c added an enumeration for character voices, which prompoted a massive file update; separated BasicCharacterData from CharacterAppearanceData; added some yet unimplemented support to WSA and VehicleData; completely commented out RemoveActorTests for later repairs so they do not break in Travis CI 2018-06-08 21:07:47 -04:00
FateJH
c664f96bd4 a little bit of vehicles everything; work on the endocder/decoder for vehicles and seated players and bitstream size; vehicle ownership is extremely passable right now; seat restrictionsfor getting into vehicles is now in place; tests repaired; adjustment to vehicle spawn pad (again) to hopefully increase tolerance and recovery 2018-06-06 19:13:39 -04:00
FateJH
b2e0fd1276 resolved issue with failing tests; padding value of outfit name must always be observed 2018-06-04 08:03:03 -04:00
FateJH
f730be261a in the middle of testing 2018-06-04 08:03:03 -04:00
FateJH
292a9bad23 attached version of the OCM for avatars works; known encoding issues with OCDM encoding for avatars, specifically the calculated bit length 2018-06-04 08:03:03 -04:00
FateJH
caf56c4e72 added a door in home3 HART C that I missed; modified AvatarConverter and VehicleConverter to correctly handle multiple players in vehicles at world join time; began implementation of this procedure in WSA, but independent creation of players in implant terminals is giving trouble; fixed a ludicrous oversight with the bitsize of players without outfits 2018-06-04 08:03:03 -04:00
FateJH
389d0b4d82 added documentation and refined comments; corrected stream length calculation issues where padding lengths were not being properly retained or updated; working tests 2018-06-04 08:03:03 -04:00
FateJH
4e41468cd0 meta-stability in terms of the underlying structure that will eventually read off seated passengers in vehicles; the padding offsets just need tuning 2018-06-04 08:03:03 -04:00
FateJH
052a318285 Refactored CharacterData and DetailedCharacterData to be a component of PlayerData and DetailedPlayerData, respectively. Position information is now optional; inventory data and exposed hand data are also removed into PlayerData and DetailedPlayerData. String padding management has been preserved. Tests and packet converters have been repaired. 2018-06-04 08:03:03 -04:00
FateJH
f6f7ad5617 unified code paths for dropping an item, and reinforced code path for picking an item back up; LocalService will handle some of the work now; ActionResultMessage embraces its simplistic nature (we don't have enough error messages) 2018-05-22 19:13:59 -04:00
FateJH
e00202e8fb Tuned positioning on player spawned at an AMS; fixed 'AMS' label draw and clear issue by expanding deployment options; modifications to BattlePlanMessage packet 2018-05-21 10:58:18 -04:00
FateJH
cc3e1dde86 packets RespawnAMSInfoMessage and SquadWaypointEvent, the latter with tests; system of keeping track of deployed AMS vehicles and displaying their data to interested users added through the VehicleService path 2018-05-21 10:54:32 -04:00
FateJH
e2dcf998e0 in an attempt to decipher the pickup sound, it seems every item pickup comes with a 'congratulations' packet 2018-05-21 10:15:05 -04:00
Fate-JH
1d732196f0
Update DismountVehicleMsgTest.scala
0 -> BailType.Normal
Should have caught this in the prior merge.
2018-05-21 08:48:14 -04:00
Fate-JH
12443c6aa5
Merge branch 'master' into feature/VehicleDismountImprovements 2018-05-21 08:34:29 -04:00
Mazo
6f65603942 Add BailType enumeration and update parameters for vehicle dismounting with correct naming and type 2018-05-21 06:47:21 +01:00
FateJH
e9aac5514a more tests for the proximity amenities; added the other silo in Anguta, Ceryshen and the terminal-facing silo in home3; initial work on FacilityBenefitShieldCharge packet and tests 2018-05-16 19:24:50 -04:00
FateJH
2a4fe4865e partially-working vehicle favorites system; modifications to existing favorites system, identification of packet parameters 2018-05-15 08:05:33 -04:00
FateJH
68422401e5 Another revamp to vehicle spawn process. Wrote tests. 2018-04-29 00:16:55 -04:00
FateJH
c87273c351 originally just implemented drive-away speeds and timings for boarding vehicles manually; then attempted a trick where vehicles would be moved up out of the trench manually; finally, discovered how spawn platform rails work and how to find their guids easily and incorporated a nearly fully-functional vehicle spawn system(!); added examples of the 'railless' spawn pads to the East and Southeast of home3 HART C 2018-04-29 00:13:15 -04:00
FateJH
fde49773cd Splitting single vehicle spawn control process into several subtasks. Vehicle event bus attached to zone objects, especially for interacting with VehicleSpawnControl. Importing SouNourS copy of ServerVehicleOverrideMessage packet and tests. 2018-04-29 00:13:15 -04:00
FateJH
82c68ebedb Modifying AvatarDeadStateMessage to manipulate visible respawn points on deployment mpa; improving postStop conditions on WSA to consider player in different situations; added basic Zone.Population.(message) case statements 2018-04-09 19:12:23 -04:00
FateJH
7f40b31a34 Akna Air Tower, Ceryshen, has its amenities wired. The default spawn point has been moved to allow for the tower at Akna to interfere with the tower at Anguta. 2018-03-31 20:02:40 -04:00
FateJH
e76b4de2ea repairs to ZFCCM test 2018-03-08 21:27:19 -05:00
FateJH
d965b5b3c8 added initial AvatarStatisticsMessage packet and tests; gave an Enumeration type to AvtarImplant action field 2018-03-08 15:48:19 -05:00
FateJH
2475b468b8 added initial AvatarSearchCriteriaMessage packet and tests; worked ASCM into WSA login workflow 2018-03-07 22:58:42 -05:00
FateJH
0578d291a5 add initial SetChatFilterMessage packet and tests; gave FriendsResponse a valid action enumeration; changed continent id and building id in DensityUpdateLevel to use simple data type rather than PlanetSideGUID; worked these packet changes into WSA initialization workflow 2018-03-07 22:32:27 -05:00
FateJH
2526f15406 changing continent id to normal data type in HotSpotUpdate; implementing token logic for HotSpotUpdate in WSA; updating tests 2018-03-06 15:27:17 -05:00
FateJH
33a7636f5e changing continent id and building id to normal data types in BroadcastWarpgateUpdate and BuildingInfoUpdate; implementing warp gates and branched logic for warp gate initialization in WSA; updating tests 2018-03-05 23:26:38 -05:00
FateJH
f0bec9cf3a changing continent id to normal data types and away from PlanetSideGUID in ZoneForcedCavernConnections and ContinentalLockUpdate; implementing ForcedZoneCavernConnections and ContinentalLockUpdate in WSA 2018-03-05 20:21:13 -05:00
FateJH
b61097a22d changing continent id to normal data types and away from PlanetSideGUID in DensityLevelUpdate, ZoneInfo, and ZoneLockInfo; implementing better init ZoneInfo, ZoneLockInfo, and ZonePopulationUpdate packets in WSA 2018-03-05 20:21:13 -05:00
FateJH
3965437116 added DensityLevelUpdateMessage packet and tests; including default packet during initialization phase 2018-03-05 20:21:13 -05:00
FateJH
72b7c35b3f tests and corrections 2018-03-01 10:39:34 -05:00
FateJH
e93c510d22 added initial DestroyMessage packet and tests 2018-03-01 10:24:42 -05:00
FateJH
e1581c94e7 adding the ams utility: ams respawn tube 2018-03-01 10:23:53 -05:00
FateJH
0fe46311ad Deployment:
Class and Actor mixins for Deployment state.  The logic is surprisingly self-contained, mostly.

DriveState:

This is not the former DriveState Enumeration of /packet/game/objectcreate/.  This is now a /types/ Enumeration shared across /common/ objects and serves the functionality of both, at least to the extent that it is understood.  Functions are includes that define the logic order or state changes and divides states into (two) groups.

VehicleService:

The directory /pslogin/src/test has been created and tests have been migrated there.  Originally, the tests were located in the wrong place and were being skipped when not executed manually.  They should now appear in coverage reports and be run as a part of continuous integration.
2018-02-17 17:37:53 -05:00
FateJH
1f04c840d2 synchronized change fire mode; addsupport for fire mode in DetailedWeaponData; corrected bug with LastDrawnSlot/ObjectHeldMessage 2018-01-15 08:15:18 -05:00
FateJH
26d388d7ff initial VehicleSUbStateMessage packet and test; borrowing angle codec from VehicleStateMessage 2018-01-03 15:31:11 -05:00
FateJH
8fbbd31967 modified how subscriptions can subscribe and unsubscribe from specific channels (works now); vehicles now come with default loadouts at time of spawn; MoveItem is now a much more generic process that handles all Container objects; alternate fire modes now have correct ammunition values, but still do not change ammunition type properly; terminals are now distinctively split a bit more; LootItemMessage packet 2017-12-23 01:29:48 -05:00