Commit graph

1103 commits

Author SHA1 Message Date
Mazo d768b3d62c Restore stamina drain on taking health damage via ResolutionCalculations 2020-04-15 21:14:43 +01:00
Mazo a50612dd99 Merge master 2020-04-14 21:54:22 +01:00
Fate-JH c2f6baf551
Destroy and repair (#346)
* bog-standard order_terminal amenities now take damage up to the point of destruction and can be repaired from destruction to functional to the point of being fully repaired; this is mostly proof fo concept

* restored proper destruction to FacilityTurrets; extended proper rrepairs to FacilityTurrets; co-opted terminal hacking into TerminalControl; started to expand on hacking protocol, but chose restraint

* changes made thus that a clear Definition hierarchy is established; all of this is in line with making future changes to repair/destroy variables, and making generic the repair code

* all meaningful facility amenities take damage and can be repaired; spawn tubes can be destroyed and the base will properly lose spawns (and show it on the map); some hack logic has been redistributed into the appropriate control objects, following in the wake of repair/damage logic

* deployables are repairable; the TRAP has been converted into a ComplexDeployable; changed the nature of the Repairable traits

* player bank repair and medapp heal has been moved out from WSA into PlayerControl

* overhaul of Progress callback system and the inclusion of player revival as a Progress activity

* begun relocating functionality for hacking outside of WSA; set up behavoir mixin for cargo operations, in order to move vehicle hack function, but did not yet integrate

* integration of the actor behavior mixin for vehicle cargo operations to support the integration of vehicle hacking finalization

* establishing inheritance/override potential of Damageable activity; Generator and SpawnTube map behavior behavior (currently inactive)

* ImplantTerminalMech objects now have a 'with-coordinates' constructor and a deprecated 'no-coordinates' constructor; implants mechs and interfaces are now damageable and repairable, and their damage state can also block mounting

* generators are destroyed and repaired properly, and even explode, killing a radius-worth of players

* destroy and repair pass on deployables, except for explosive types

* Damageable pass; client synchronization pass

* helpful comments

* some tests for damageable and repairable; refined output and repaired existing tests

* enabled friendly fire check and recovery

* handled friendly fire against allied mines; moved jammer code to common damageable behavior

* tweaks to damageability, infantry heal and repair, and sensor and explosive animations

* animations; framework for future vitals events; closing database connections

* adding some deployable tests; fixing a bunch of other tests; History is back

* testing for basic Damageable functions; removing a log message

* finicky animation stuff

* event messages to the Generator to represent health changes

* damage against BFR's is now only used against mythical creatures

* test fix
2020-04-14 15:17:32 -04:00
Fate-JH 840006dca8
Priority Fixes (20200405) (#347)
* no longer assuming non-empty equipment slot; restructured the equipment CLOB to remove Option.get assumptions

* bundling move item packets
2020-04-13 00:43:17 -04:00
Mazo 95bd865d67 Stop implant activation/deactivation from affecting other players. 2020-03-31 17:33:57 +01:00
Mazo 9d3a163545 Overwrite shortcut slots 2/3/4 with installed implants, and allow active implants to be reactivated 2020-03-29 23:14:16 +01:00
Mazo 4b25205c32 Fixes after rebasing on master - changed implant initialization from milliseconds to seconds and removed now unneeded implant initialization 2020-03-28 17:49:23 +00:00
Mazo e4902a317c Stamina drain on health damage 2020-03-22 15:38:54 +00:00
Mazo 404e2579ef Implant definitions, stamina audit and initialization 2020-03-22 15:38:54 +00:00
Mazo 28960ad24f Enhanced Targeting functionality 2020-03-22 15:30:26 +00:00
Fate-JH 610f0b092f
Test Fixes (#344)
* building guid fixes for zone tests; spawn pad control allocates messaging targets more carefully; additional check for building registration in ZoneActor

* the nature of the amenity/zone interaction changed
2020-02-14 21:11:40 -05:00
Fate-JH 53ecee566a
Persistence (#337)
* constructed service actor to handle persistence of player on server beyond the reaches of WSA from one login to the next; created in PSLogin, interfaced with and updated in WSA

* for what it's worth, players can be completely logged out of the world after 60s of inactivity, alive Infantry only right now;  some code was removed from WSA to make it accessible to other classes but it's incomparable to the new code; broke, fixed, compromised on the code that handles loadouts, server login time, etc.

* moved another common vehicle function into global space; persistence object for players in vehicles during log-out or relogging in a vehicle

* support for relogging when dead/released/unfound; silenced implant slot setup during character select screen

* tested and commented code for managing player avatar persistence

* clarificaion of WSA postStop

* test fixed

* postStop change to account for WSA being cut short during initialization

* clarification of SquadService logout

* player died during setup; probably a relog

* kill the doppelganger WSA; die when you are actually dead

* created manifest to assist with vehicle gating; vehicle gating now accomodates the persistence model much better

* fixed the test

* fixed initial vehicle seat access permissions; moved a subscription to AvatarService to support persistence

* bug fixes: safer GridInventory collision checks, plus specific exceptions; SessionRouter waits for the account intermediary before allowing itself to be started; WSA - match error colution, and MAX without arm now creates the arm it expects

* adjusted insertion and removal code to make inventory management less prone to partoial insertions of removals; inventory integrity checking code writen, but no plans on implementing it yet
2020-02-14 10:54:52 -05:00
Mazo 06ef3a08c5
More caverns work (#335)
* Add functionality for cavern sentry turrets

* Add missing LastDischarge on Tool

* Fix BuildingControl GUID errors on server startup

* Fix instant REK access to terminals in a cavern facility with a hacked CC

* Simplify CC Amenity matching

* Modify warning to match disabled functionality
2020-02-14 10:52:57 -05:00
Mazo 9d67029238 Feature/caverns (#331)
* Typo fix

* Expand building hack info match to include vanu_control_console

* Fix cavern crystal animations by allowing Amenities without an Owner to be ZoneAware, allowing them to direct to the correct Zone's LocalEvents

* Add logging for when an invalid object reference gets deleted from a client

* Show zipline teleporter animation (locally, at least)

Co-authored-by: Fate-JH <Jason_DiDonato@yahoo.com>
2020-01-19 21:55:55 -05:00
Fate-JH e8fd09aad8
Test fix (#332)
* fix AvatarService tests

* updated README section in regards to PSCrypto

* better wording, imho

* modifying the construction of Building entities so to properly register them with the zone GUID system

* fixed tests
2020-01-19 21:32:14 -05:00
Mazo 80af2e84a9 Ziplines, teleporters and caverns (#323)
* GlobalDefinitions for cave objects and a few fixes for cave functionality

* Fixes for Ziplines, and by extension new functionality to allow for zipline teleporters

* Generated map files for caves

* Add SOI radius for cavern facilities

* Make ziplines bi-directional

* Fix useradius on crystals_health_b

* Reduce cavern CC hack time from 15m to 10m

* Fix /fly /speed and /spectator for GM accounts

* GOSM / PSAM Documentation

* Allow players to be in multiple overlapping SOIs

* Add some extra logging to startup procedure

* Fix orders from zone-owned terminals (non-facility buildings in caverns)

* Fix Extinction map checksum

* Add checksums for cave maps (Special thanks to Chord)

* Initialize ZoneMaps in parallel to reduce server startup delay

* Update SphereOfInfluenceActor.scala

Just line breaks spacing the update `foreach`.  That mistake was on me.

Co-authored-by: Fate-JH <Jason_DiDonato@yahoo.com>
2020-01-17 13:36:15 -05:00
Fate-JH 3869785591
Destruction (#330)
* perform no damage if the target is already destroyed; correct destruction timer override on sensor-type deployables

* framing vehicle remover tasks differently; screening for valid objects at some places in WSA; fixed router's internal telepad utility

* corrected issue with unique control agent Actor names for Players; propagated change to all dynamic objects (not those instantiated at server time)

* test fix

* another test fix; this time, Travis is having trouble with it
2020-01-17 13:25:35 -05:00
Fate-JH eebd5174a0
Player Control (#329)
* basic non-mounted avatar damage and death on the control actor

* deferred passenger death to hand off control from mountable control to player control; removed event-focused messaging path from vehicle control to avatar-appropraiet WSA

* extending manipulation of jammering secondary effects, such as stamina and implants
2020-01-17 13:22:14 -05:00
Mazo d0bd823e9e Few more small vehicle related tweaks (#320)
* Revert back to using vehicle GUID for target gone check when jacking, as GUIDs are now retained when an object is removed from the world

* Don't allow dead vehicles to be repaired

* Don't show repair bar on dead vehicles

* Add IsDead flag to Vehicle
2020-01-17 13:20:33 -05:00
Fate-JH db82b9f01f
Generator (#328)
* established foundations for generator object

* established foundations for generator terminal

* sparse comments added
2020-01-17 13:19:07 -05:00
pschord b1be0ffdb3
Upgrade SBT to 1.3.6 (#322) 2020-01-13 17:59:24 -05:00
pschord ab625d15c4
Add link to quick start guide in README 2020-01-12 20:51:24 -05:00
pschord dd8b2d8071
README spelling 2020-01-12 13:14:23 -05:00
pschord 66903691d7
Revamp README 2020-01-12 13:13:46 -05:00
Mazo 3ed84d86b6
Merge pull request #327 from psforever/db-setup-instr
Improve worldserver documentation on DB setup
2020-01-12 17:30:45 +00:00
Chord a63cfb446d Fix readme instructions on DB creation 2020-01-12 18:22:41 +01:00
pschord 1492309bfb
Improve worldserver documentation on DB setup 2020-01-12 11:33:04 -05:00
Fate-JH 58b45a85a9 Better handle database login errors (#321)
* logging errors for database login ops

* clarified types of messages to expect

* TeardownConnection handled
2020-01-10 19:40:15 -05:00
pschord d08911d07c Account and Character Database and Config Improvements (#317)
* Create Account/DB abstraction

* Fix crash when removing boomers from deconstructed player

* Extend config to include database and worldserver info

* Improve ConfigParser tests

* Add database setup documentation

* Add xTriad to THANKS file

**

* Increase bcrypt rounds and fix readme link
2020-01-10 11:13:37 -05:00
FateJH ae768e1e42 test fixes 2020-01-09 15:32:19 -05:00
FateJH ad2acc13c4 expanded NoGUIDException to include an assignment exception and a base to both exceptions; tests modified 2020-01-09 15:32:19 -05:00
FateJH d43d94377b fixed awkward types.PlanetSideGUID references 2020-01-09 15:32:19 -05:00
FateJH 0c1486dbcc revamped IdentifiableEntity to work with a revamped PlanetSideGUID; GUID's now have a characteristic that they can be valid or stale (this is a container-level distinction, now a value-level distinction); all appropriate behaviors should be roughly the same as before the changes 2020-01-09 15:32:19 -05:00
FateJH 03bc52f52d moved PlanetSideGUID from .packet.game to .types; project threw a hissy fit 2020-01-09 15:32:19 -05:00
FateJH f9414a6798 registered object retain their GUID after being unregistered 2020-01-09 15:32:19 -05:00
pschord ae7f8bf71d Enable quiet tests using SBT config (#318)
* Enable quiet tests using SBT config

* Add logback-test.xml config to reduce log messages

* Hide "resolving" messages in CI environment

* Improve ScalaTest options to reduce SuiteStart events

* Hide EVEN MORE Specs2 output
2020-01-08 08:33:25 -05:00
Mazo 50df2bace0 Basic functionality for capitol force domes (#315) 2020-01-08 08:31:02 -05:00
Mazo ddf702eea9 Vehicle fixes (#313)
* Send shield + capacitor state to players mounting a vehicle

* Allow players to dismount vehicles that are slightly moving (e.g. rotating magrider, deployed vehicle with phantom velocity from pre-deployment), or vehicles in a deployed state

* Add vehicle ntu capacitor, keeping old capacitor for EMP functionality when implemented, send capacitor / ntu values on vehicle mount if definition has a maximum set
2020-01-08 08:24:14 -05:00
Mazo 9331a0136b
Merge pull request #314 from Fate-JH/nonsense
Player Kills Game
2020-01-05 10:11:58 +00:00
FateJH 1676b2cdf9 yeah, this 2020-01-05 00:35:28 -05:00
Mazo 11f1a5d7c2 Reduced precision when ordering GUIDs to match expected client GUIDs (#312)
* Reduced precision when ordering GUIDs to match expected client GUIDs

* Fat fingers, apparently.
2020-01-04 22:59:56 -05:00
Mazo ebd8170de4 NTU Related fixes/changes (#308)
* Send map updates when NTU bar changes

* Make bases turn neutral when NTU hits 0

* Fix sync of low NTU warning light to players joining zone

* Swap IFF Lock logic around to allow for more efficient short circuiting of checks

* Small fix to stop player disconnect when hacking an object that no longer has a GUID
2020-01-04 22:58:48 -05:00
Mazo 16c20eaeac
Merge pull request #311 from Fate-JH/optimize
Painbox Opt-In
2020-01-04 09:40:50 +00:00
FateJH d7ee2be46b condition to restrict soi selection if no soi information was constructed 2020-01-04 00:39:59 -05:00
FateJH 6e678373d2 removed developer messages for soi management 2020-01-03 23:01:31 -05:00
FateJH 837e9cb2ff how painbox doors work; moved constant chat system subscriptions; swapped around medical terminal coordinates on home3 2020-01-03 20:37:11 -05:00
FateJH d2ef5a76a4 added painbox damage history event 2020-01-03 20:37:11 -05:00
FateJH 4261693ae1 sphere of influence is now activated by zone denizens; painboxes are activated by sphere of influence denizens 2020-01-03 20:31:39 -05:00
Mazo a5f1638fd6
Merge pull request #309 from Fate-JH/jammered
Jammering
2020-01-02 16:21:00 +00:00
FateJH 9d972351cf commentary; adjusting the GOAM used to cause mines to explode in accordance with the change in field bitsize 2020-01-01 22:41:43 -05:00