Commit graph

746 commits

Author SHA1 Message Date
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
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
Mazo
9707e88924 Merge psforever/master 2018-06-05 20:13:25 +01:00
Mazo
0c964ddfca Locker hacking
Terminal hacking (cert / equipment / medical)
Hacking speed based on certification level
REK beam colour based on hacking level
QoL change - show hacked object as belonging to faction that hacked it for the duration of the hack (only for that faction's players)
2018-06-05 20:01:30 +01:00
Mazo
21b0f07fb7 Documentation update 2018-06-05 20:01:30 +01:00
Mazo
c6eff22df7 Add Hackable trait to all terminals / IFF locks / lockers 2018-06-05 19:43:44 +01: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
Fate-JH
a9db4b5820
Merge pull request #216 from Fate-JH/drop-item
Dropping Items, Picking up Items, Cleaning up Items
2018-06-04 08:00:16 -04:00
FateJH
a96d76a3d6 two clarifying comments requested 2018-06-04 07:35:44 -04:00
Mazo
8dc4a20332 Initial functionality for vehicle cargo holds & cargo passengers 2018-06-02 14:17:22 +01:00
Mazo
447f6de2d6 Add definitions/objects for cargo holds and cargo 2018-06-02 14:11:19 +01:00
Mazo
27d8f91cec Update documentation 2018-06-02 14:09:42 +01:00
Mazo
5347b78e7c Add CargoMountPointStatusMessage / DismountVehicleCargoMsg / MountVehicleCargomsg packets 2018-06-02 14:08:13 +01:00
FateJH
9e75fd1191 even more generosity with the tests 2018-05-28 09:04:09 -04:00
FateJH
d26e8834c6 hopefully more generous timing for the tests 2018-05-28 08:24:57 -04:00