Commit graph

871 commits

Author SHA1 Message Date
Mazo 28beea4e30 MAX Capacitors (#297)
* fix isAnchored / isOverdrived faction check

* Faction specific MAX definitions

* GenericActionMessage documentation

* MAX Capacitor functionality and changes to damage resolution for NC MAX shield
2019-12-10 08:53:11 -05:00
Mazo d168c40093 Kick players from mountable amenties when owner is hacked (#293)
* Re-enable base power loss when silo capacity hits 0

* PSAM documentation

* Kick players from mountable amenities (turrets, implant terminals) when owner is hacked
2019-12-10 08:44:16 -05:00
Fate-JH 9ec97f279a
Zone-local Event Systems (#295)
* all matters related to vehicle events, including tests, adjusted so that the service actor internalizes a specific zone; major adjustments to the order fulfillment logic of vehicle spawn pads; removed a bunch of unnecessary things such as auto-drive guidance

* all matters related to local events, including tests, adjusted so that the service actor internalizes a specific zone; special consideration for proximity units and tests; muted some excessive logging

* all matters related to avatar events, including tests, adjusted so that the service actor internalizes a specific zone; special considerations for resource silos and painbox elements

* explicit trait that acts as an owner of Amenity objects (Building and Vehicle); generalization of <obj>.Owner.Zone statement

* reduced log spam from proximity terminal activity

* tightened vehicle spawn pad control protocol; finally made the player re-appear if the vehicle doesn't spawn/mount correctly; pad operates independent of the person who submitted the current order so less chances for crash

* adjusted workflow for vehicle spawn pad task management
2019-12-10 08:37:57 -05:00
Mazo 885387b734
Merge pull request #291 from Fate-JH/projectiles
Remote Projectiles
2019-12-09 11:21:37 +00:00
Mazo 2662be8778 Standardize constructors to have position as the first param and add positions to terminals (#294)
* Standardize constructors to have position as the first param and add positions to terminals

* Actually assign the position to the terminal object
2019-12-05 09:44:42 -05:00
FateJH d8c9e01d36 my mistake - a merge made a mess of the code for implants; I tinkered with it 2019-11-29 16:43:22 -05:00
Fate-JH b2ec9d2cb6
Merge branch 'master' into projectiles 2019-11-29 11:19:17 -05:00
Fate-JH a5a85e6cc3
Upper Body Angle (#292)
* constrain angles on specialized yaw and pitch fields

* integrated new Angular Codec into OCM and OCDM of avatar; corrected tests; wrote shortcut for whether a unit is moving (under its own power)

* apply clamp

* Accessed containers while moving

Removed unintentional code duplication outside of conditional.
2019-11-29 11:14:25 -05:00
Mazo 9e99dc75e3 Cancel jacking if a vehicle is moving (#290)
* Add Medical / Adv Medical / Expert Electronics to default certs

* Cancel jacking when object is moving more than a small amount
2019-11-29 11:00:30 -05:00
Mazo 31bdf58ea4 Additional checks to ensure players don't heal themselves immediately after dying (#289)
* Additional checks to ensure players don't heal themselves immediately after dying

* Move alive check to cover other kit use

* Don't use ammo on full health/armour players and change adv medical revive to take 5 seconds + 25 ammo

* Fix merge conflict oopsie

* Fix merge conflict oopsie. Properly this time.

* Allow PlayerStateMessageUpstream to be processed even when the player is dead, to prevent corpses sliding from interpolated client side movement
2019-11-29 10:54:25 -05:00
FateJH 63d7fbefa0 accommodating short-lived projectiles, as well as out-of-order and late-to-register projectiles 2019-11-27 08:38:30 -05:00
FateJH 111facc070 added projectile index overrides for gluegun 2019-11-18 08:22:32 -05:00
FateJH f8836f1cc4 no_projectile for Tools that have no projectile; condensing cases in WSA 2019-11-15 16:21:35 -05:00
FateJH ed7406f25f last minute minor corrections 2019-11-14 13:51:08 -05:00
FateJH 693a3a5d78 proper remote projectile handling; allowances for the Decimator alt-fire mode; initial DamageMessage packet and tests; initial DamageFeedbackMessage packet and tests 2019-11-14 13:06:58 -05:00
FateJH 043512d6a3 proper PSM encoding/decoding; normal and alternate projectile flight handling; auto lock field on projectiles, to indicate whether that projectile should produce a warning message on the target's side when weapon is pointed at the target; business logic in WSA 2019-11-04 09:21:36 -05:00
FateJH d1ba353cad 'don't knock it if it works' controlled projectiles 2019-11-01 11:11:47 -04:00
FateJH 8952ab86f6 events for future expansion; added custom projectile remote client data for OCM packet creation; initial projectile velocity calculation; (too many) details when it comes to Enumerations for projectiles; hooked up theoretical projectile creatiuon, management, and deletion 2019-10-30 22:54:45 -04:00
FateJH f1c73688f7 removed fire mode override for the Phoenix; added events for loading and manipulation of remote projectiles to AvatarService; ProjectileStateMessage handles projectile data in a simple way; remote projectiles can now be registered and unregistered 2019-10-30 22:53:16 -04:00
FateJH fa7365e8af modified TrackedProjectileData codec and tests; changed Projectile into a game object; added comments and entries missing from the basic ObjectClass lists; projectile packet converter added but untested 2019-10-30 22:51:26 -04:00
FateJH 56c7c4544e added flags to indicate the projectile must be handled using the server as an intermediary; eliminated obsolete enumeration data; added analysis for the oicw_little_buddy 2019-10-30 22:51:26 -04:00
Fate-JH cea105042c
attempt at mitigating geowarp immortality (#288) 2019-10-30 22:47:04 -04:00
Mazo aec9c15bdd Advanced medical + other bits (#287)
* Allow medical applicator to revive players

* Allow dead players to be repaired

* Refactoring medapp + bank usage

* Make bank + medapp use charges from magazine

* Don't try to heal/repair other players with MaxHealth/MaxArmor <= 0

* Ignore tool use on SpawnTube objects (for example; don't deconstruct from using a medical applicator on a spawn tube)
2019-10-30 22:43:40 -04:00
pschord 53d677dc5d Config: add developer.Netsim.* (#285)
Break out configuration of the UDPNetworkSimulator to worldserver.ini
2019-10-30 22:40:00 -04:00
Fate-JH ad29bfe16a Select Changes from My Original Securities Branch (#286)
* select changes from my original securities branch

* nanoTime -> currentTimeMillis
2019-10-23 17:21:16 -04:00
Chord 21b17b7649 Config: print the right path when loading 2019-10-22 20:32:19 -04:00
Chord cf8d30b5be TravisCI: Just disable coverage 2019-10-22 20:17:37 -04:00
Chord 638c3f975e TravisCI: Once again, try to ignore the coverage job 2019-10-22 14:58:30 -04:00
Chord 9836e48ac7 Fix flaky actor tests by de-parallelizing 2019-10-22 14:35:17 -04:00
Mazo 3e40a2f319 Initial merge of some PTS v3 changes (#281) 2019-10-22 12:15:46 -04:00
Chord 02ab92e537 Fix SquadDetailDefinitionUpdateMessageTest 2019-10-21 23:29:57 -04:00
pschord ce99ea6ffc
Merge pull request #276 from Fate-JH/squad-work
Teamwork
2019-10-21 21:58:20 -04:00
FateJH 5916fa68be SquadAction and SquadResponse were worked into SquadServiceMessage and SquadServiceResponse, respectively, so that traits could be sealed; the continuous join request prompt has been exorcised from squad operations; switching to auto-approve for squads will now resolve all pending join requests; enumerated shared cases in SDAM 2019-10-21 19:41:29 -04:00
pschord 33e4f2b35e
SBT: add support for unified docs (#284)
Unified documentation can be generated with the sbt unidoc command.
2019-10-21 16:29:36 -04:00
pschord 88f4ef293b
Add additional debugging info to server start (#282) 2019-10-21 14:12:57 -04:00
pschord c3d19b5377
Create PSForever config framework (#283)
We can now parse arbitrary INI configuration entries. This will allow
server customization and testing without recompiling the server.
2019-10-21 14:12:26 -04:00
FateJH 93f2264f61 added enumeration for squad waypoints and changed field datatypes where appriopriate; added assertions to squad detail packet; removed old logic from squad request and squad response enumerations; WSA lfs -> lfsm 2019-10-20 15:34:01 -04:00
FateJH aa2e0089a4 stop player from inviting himself to own squad; periodic squad updates; fixed squad listing hangup; fixed damage calculation tests 2019-10-19 17:24:12 -04:00
FateJH 0c105f3826 repaired some broken tests; LoadoutManager respects length; squad ids attempt to reset only when no players are logged in 2019-10-17 16:27:19 -04:00
FateJH 35a8d87941 /kick support; fixing a bug with the supplemental squad id 2019-10-16 15:26:55 -04:00
FateJH 1f578c9e5d removed squad testing crouches 2019-10-14 18:54:03 -04:00
FateJH 16afb63b34 removed redundant subscription; made sure to publish waypoint events properly 2019-10-14 16:20:51 -04:00
pschord 4b71d76cb2
TravisCI: temporary build matrix fix to avoid #279
Reference: https://docs.travis-ci.com/user/customizing-the-build/#build-matrix
2019-10-11 12:14:28 -04:00
Chord 6a876d5b57 Add feature flag to SBT scalac options 2019-10-11 11:50:00 -04:00
Chord f6939098ec Unbreak build 2019-10-11 11:10:06 -04:00
pschord 3c4d1ff2d7
TravisCI: add SBT dependency caching 2019-10-11 10:34:18 -04:00
pschord 1f744f5a5f
TravisCI: Compile everything before testing
This should allow TravisCI builds to fail-fast on any compilation errors instead of wasting time testing on an already failed build (see https://travis-ci.org/psforever/PSF-LoginServer/builds/596611848)
2019-10-11 10:00:37 -04:00
pschord 833b7b1f0a
Pin TravisCI dist to Trusty for Java 8 support
We should migrate to a modern JDK for a supported release of Ubuntu, but for now this should unbreak the initial steps of the build.
2019-10-11 09:47:14 -04:00
FateJH 7d9d5105f6 was going to try blocking characters who have been refused from squad from getting squad updates but forgot it wouldn't be safe to do this here 2019-10-08 20:01:52 -04:00
FateJH 5a1527ae10 small touch-up 2019-10-08 18:47:03 -04:00