Commit graph

766 commits

Author SHA1 Message Date
Fate-JH 961ae1b93b
Proximity Terminal Fix (#241)
* modifications to ProximityUnit and related classes to internalize the effect control for the terminal, removing the flywheel functiuonality from WSA

* proximity operations for medical terminals (the one in the Anguta lobby, specifically) is functional; some entities besides Player now keep track of the continent they possess, a necessary compromise for proximity ops

* repair rearm silos (Anguta courtyard East) demonstrate operational behavior when lattice benefits are active

* proximity terminals may now juggle multiple targets that move in and out of range and change validity over time

* previous rebase; preparing for special location + offset calculations for utilities

* working location-based proximity repair terminals for the lodestar, utilizing new fields in the vehicle definition, new configuration method in the utilities, and new calculations for Vector3 entities; some comments and tests

* separated ProximityTarget; updated existing terminals; restored defaults; preparing to fix tests

* tests involving the proximity unit workflow

* dismantling a portion of the proximity terminal machinery that is no longer necessary and only poses risk to the system; removing temporary code used to quickly test vehicle silo repairs
2018-12-23 21:09:12 -05:00
Fate-JH c4c8609238
Lodestar Terminals (#240)
* added three objects to serve as the terminals for Lodestars; only the multivehicle_rearm_terminal is operational, for now

* giving the new terminal type a setup function for being constructed as an amenity
2018-12-05 01:17:02 -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
Mazo 7cec0bb577 Fix for hackable entities not resetting their hack state when resecured by the empire that owns the hackable (#238) 2018-11-21 20:02:41 -05:00
Mazo 6445883ccf Add 1.5 to Z axis when spawning at respawn tubes to prevent clipping with new spawn tube positions from ubr files (#239) 2018-11-21 20:01:44 -05:00
Mazo 65905b3bdb Add locker/turret constructor that allows setting position (#236)
* Add locker constructor that allows setting position

* Also add a constructor to set position on base turrets
2018-11-21 20:01:21 -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
Fate-JH 5a67fcd88d
Merge pull request #234 from Fate-JH/char-app-data
Character Bitstream Data
2018-11-05 23:45:08 -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 a1ce8ac1f3
Merge pull request #233 from Fate-JH/doors-retime
Re-time Door Close
2018-10-17 12:37:25 -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
FateJH 601bba7aa5 repackaged the door entries to reset timing issues on subsequent tests 2018-10-10 16:27:10 -04:00
Fate-JH 3270ec87b8
Merge pull request #231 from mjsmith707/tweak-readme
Update readme for linux and libpscrypto
2018-09-23 08:01:56 -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
Matt Smith faa78d88e2
Update readme for linux and libpscrypto 2018-09-05 20:44:00 -07:00
Fate-JH 6cd18c5623
Merge pull request #229 from Fate-JH/guid-test
GUID Fix
2018-08-20 19:00:18 -04:00
FateJH fbb3946857 resolution of issue with registering a specific number as a GUID 2018-08-12 20:03:38 -04:00
Mazo abdebf09ba Timed capture consoles & towers / hacking improvements (#228)
* Add capture terminal definitions

* Logging / documentation

* Functionality for timed base hacks

* Disable IFF locks while base is hacked

* Hacking speed based on player's hacking certification level (and hack effect duration data - currently not functional)

* Hack effect duration functionality

* Sync hack states with clients joining the zone

* Whitespace / comments

* Allow IFF locks to be resecured by the owning faction if it has been hacked

* Fix bases with no NTU silo failing to capture

* Reset CC properly on hack that expires with no NTU in silo

* Capture towers instantly and improve handling of hacked objects queue

* Fix handling of neutral IFF Locks and remove unnecessary casting

* Move HackCaptureActor to correct location

* Re-enable Anguta door locks for air pad now hacking/resecuring IFF locks work
Add capture terminals (timed CC only for now) for a few bases & a tower
Add a few missed locks/doors
Add a resource silo to Girru

* Fix merge issues & missing documentation
2018-08-10 18:21:15 -04:00
Fate-JH 8b5073dcbc
accounted for collapsing cert trees, exclusive certifications, and a method of keeping track of certification costs (#227) 2018-07-30 10:20:23 -04:00
Fate-JH 2f0629d83a
Merge pull request #226 from Fate-JH/re-silo
Anguta's NTU Silo
2018-07-30 09:43:58 -04:00
Fate-JH 7901f66324
Damages (#225)
* refactored WSA code handling HitMessage, handling SplashMessage, and handling LashMessage; modified projectiles for future functionality

* players can die from being shot now; the damage model is simplistic since main goal was to write around the potential for negative damage ('healed from getting shot'); HitHint works correctly; dedicated AvatarService channel for each avatar helps reduce message spam

* vehicle destruction, and replacement with lightweight wreckage objects upon continent join; made flushing vehicle terminal more accessible

* simple work on vehicle shield charging (amp station benefit) (that's my commit story and I'm sticking with it)

* a flexible calculation workflow that can be applied, grabbing damage information, resistance information, and then combining it with a resolution function; players and vehicles have resistance values; removed redundant damage calculations from WSA

* broke up DamageCalculations, ResistanceCalculations, and ResolutionCalculations into packages under vital; fixed an error with exo-suit calculation resistances; events for dealing with synchronized player and vehicle damage calculations and building the papertrail of those damages; updating codecov.yml file for ignore classes

* added tests for various components (damage model, destroyed vehicle converter, vitality, etc..) and some functionality improvements

* added a field to keep track of how projectiles will be attributed at the time of target death
2018-07-30 09:28:45 -04:00
FateJH 3939d6eaf3 restored Anguta's ResourceSilo that was lost in map merge; resolved simple todo by accounting for processor count in server startup log message 2018-07-20 08:18:08 -04:00
Mazo fc78d53ecb Fix NTU warning flag having the wrong data type (#224)
Fix LowNtuWarning having the wrong data type
2018-07-18 08:41:28 -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
SouNourS 61a51c1dd1 Map updates (#222)
map elements on Ishundar and home11 from Play-Live (51200)
2018-07-14 20:56:00 -04:00
Fate-JH cfeb9afb6f
Merge pull request #221 from Fate-JH/projectiles
Projectiles
2018-06-23 23:11:25 -04:00
FateJH b733cc68ff 'to -> until' in range to avoid GUID collision during pool allocation 2018-06-18 09:41:34 -04:00
FateJH 41f0cdc0a0 repairing tests 2018-06-16 20:09:25 -04:00
FateJH 20a4fdfe45 documentation for projectiles; moved LocalProjectile construction intoMaps.scala; extensive test corrections 2018-06-16 17:31:49 -04:00
FateJH 000652c969 documentation and tests; added projectile names; changed logging level for ActorTests to OFF to remove the majority of log clutter; issue with number pool hub re-assignment and the existence of fixed objects (LocalProjectile) that requires unrelated tests be modified 2018-06-16 17:31:49 -04:00
FateJH c57999d676 basic projectiles tracked in WSA - generated (WeaponFire), queued, and marked as resolved through any of four packets (RequestDestroy, Hit, Splash, and Lash) 2018-06-16 17:31:49 -04:00
FateJH 1bceb35226 importing the basics of the projectile/damage system from the Sounours Play-Live branch (51200); only modified how damage numbers and modifiers are interacted with and how a projectile's characteristics is accessed from the Tool that emits it; GlobalDefinitions could be imported over almost entirely, fortunately 2018-06-16 17:29:03 -04:00
Fate-JH 8eb2d9cf80
Merge pull request #217 from Mazo/feature/CargoPassengers
Initital functionality for cargo passengers
2018-06-16 17:23:57 -04:00
Mazo 2ebebb416f Merge branch 'master' into feature/CargoPassengers
# Conflicts:
#	common/src/main/scala/net/psforever/packet/game/PlanetsideAttributeMessage.scala
#	common/src/main/scala/services/avatar/AvatarAction.scala
#	common/src/main/scala/services/avatar/AvatarResponse.scala
#	pslogin/src/main/scala/WorldSessionActor.scala
#	pslogin/src/main/scala/services/vehicle/support/DeconstructionActor.scala
2018-06-13 12:52:23 +01:00
Fate-JH 2c2b4f93ca
Merge pull request #215 from Mazo/feature/Nanites
Initial functionality for nanites silos & ANTs
2018-06-13 07:33:01 -04:00
Mazo 7746801371 Move new services from master merge to common 2018-06-12 17:49:37 +01:00
Mazo 5e1a244123 Merge branch 'master' into feature/Nanites
# Conflicts:
#	common/src/main/scala/net/psforever/objects/definition/VehicleDefinition.scala
#	common/src/main/scala/net/psforever/packet/game/objectcreate/VehicleData.scala
#	common/src/main/scala/services/avatar/AvatarService.scala
#	common/src/main/scala/services/vehicle/VehicleService.scala
#	common/src/main/scala/services/vehicle/support/DeconstructionActor.scala
#	common/src/main/scala/services/vehicle/support/DelayedDeconstructionActor.scala
#	pslogin/src/main/scala/WorldSessionActor.scala
2018-06-12 17:30:38 +01:00
Fate-JH 3717d84750
Merge pull request #218 from Mazo/feature/TerminalHacking
Terminal hacking
2018-06-11 19:59:30 -04:00
Fate-JH 3eb49e6b55
Merge pull request #220 from Fate-JH/inventory-items
Minor Inventory Modifications
2018-06-11 19:28:09 -04:00
Fate-JH 117ca9e478
Merge pull request #219 from Fate-JH/char-data
Characters, and Vehicles, and Characters in Vehicles.
2018-06-11 19:21:30 -04:00
Mazo ca8d72cc4c Added correct sounds for hacking terminals/lockers & consolidated FinishHacking function
Wait for target actor to set HackedBy property before sending LocalAction.HackTemporarily to fix crash when run in the wrong order
2018-06-11 18:29:33 +01:00
FateJH a29090890b changing InventoryEquipmentSlot such that it does not perform the same insertion collision check twice anymore; commenting out entirety of RemoverActorTest to align with the other PR 2018-06-10 01:37:37 -04:00
FateJH 58d2a35f9f SetCellsOffset -> SetCells 2018-06-10 01:11:35 -04:00
FateJH 44741b2898 modification to GridInventory to avoid unnecessary leaking of internal support value and unnecessary complication of item access 2018-06-10 00:23:59 -04:00
FateJH 8166a43bdc named parameters for certain longer packets 2018-06-09 20:51:54 -04:00
FateJH ffd8c02de9 some code clean-up; tests for VehicleControl mount behavior override 2018-06-09 01:09:34 -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