Commit graph

499 commits

Author SHA1 Message Date
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
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
d43d94377b fixed awkward types.PlanetSideGUID references 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
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
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
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
FateJH
9c0738e864 made all jammable objects have the same duration for the jamming effect and the jamming sound, except for Infantry which have a longer sound time 2020-01-01 09:21:17 -05:00
FateJH
6c76997675 adjusted CommonFieldData to support jammering effect flag; fixed tests; made jammering sound and status contingent on state, but made cancelling sound and status always call up 2020-01-01 09:21:17 -05:00
FateJH
879be93863 converted explosive-type and sensor-type deployables into complex deployables that have integrated control actors 2020-01-01 09:21:17 -05:00
FateJH
555ee35f8c proper jammering behavior for mines, in general 2020-01-01 09:21:17 -05:00
FateJH
036f00f119 proper jammering behavior for boomers 2020-01-01 09:20:20 -05:00
FateJH
fee001596f correcting the inheritance of turrets (FacilityTurret and TurretDeployable) by untangling their definition structures; damage and jammering code for ComplexDeployable objects moved onto that object's control actor; setting up SimpleDeployable objects for jammering status; correcting an oversight with FacilityTurret jammering 2020-01-01 09:20:20 -05:00
FateJH
a568e52590 moved common jammering behavior into a mixin trait and redundant code out of the specific object control actors; created placeholder PlayerControl actor but am not ready to move damage/jammering functionality out from WSA; common jammering behavior modified for WSA use 2020-01-01 09:20:20 -05:00
FateJH
fa2123f253 proper jamming behavior for facility turrets; moved certain facility turret operations onto FacilityTurretControl actor; corrected issue with revisiting jammed status 2020-01-01 09:20:20 -05:00
FateJH
bb26c5d56e proper jammering behavior for both infantry and vehicles; moved certain vehicle operations onto the VehicleControl actor 2020-01-01 09:20:20 -05:00
FateJH
cf8faa207d test jammering of avatars 2020-01-01 09:19:05 -05:00
FateJH
686676f9b9 jammering criteria selection and determination added; applying calculations to damage target (for projectiles) exposes the underlying cause of the damage 2020-01-01 09:19:05 -05:00
FateJH
515de6c507 transforming an 8u field into a 6u field; modifying all other values in code 2019-12-31 23:38:20 -05:00
Mazo
73298a2e06 Painfield fix (#305)
* Fix missing ObjectType on LocalBuildings, causing pain fields to stop working due to no SOI radius being set

* Fix damage logic for pain fields that don't rely on the nearest door
2019-12-27 11:48:55 -05:00
Chord
83ac66a3bf Increase SessionReaper timeouts and add to config file
This should fix issues disconnecting at loading screens/zone changes as
no packets are being transmitted during this window. If the
WorldSessionsActor is also slightly overloaded, the session reaper can
drop the session mistakenly due to no outbound traffic.

Also fix-up WorldConfig.Get with better error messages along with more
tests.
2019-12-21 15:20:07 -05:00
Chord
a54ee2f0b7 Refine VNL multi-world with new vector codec 2019-12-18 13:39:02 -05:00
Chord
37ad423820 Packet: Fix VNL packet to support multiple servers 2019-12-18 13:39:02 -05:00
Chord
6a0c2a6955 Pass flaky VehicleSpawnControl*Test using delay 2019-12-13 13:46:21 -05:00
Fate-JH
e4d607533f
moving ActorTest-style tests from common to pslogin (#300) 2019-12-13 03:00:55 -05:00
Fate-JH
1b26396bb3
resolutions 5; timeSurge -> timeDL (#299) 2019-12-12 13:10:46 -05:00
FateJH
a782e7bc46 resolutions 3; exo-suit conventions 2019-12-11 10:18:25 -05:00
FateJH
3402ea2155 resolutions 1 2019-12-10 10:11:23 -05:00
Mazo
7b6063055a Basic lattice functionality (#296)
* Move isMoving check to outer block to fix scoping issues

* Initial basic lattice functionality

* Small tweaks to tests
2019-12-10 09:17:54 -05:00
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