Commit graph

556 commits

Author SHA1 Message Date
FateJH 0fe46311ad Deployment:
Class and Actor mixins for Deployment state.  The logic is surprisingly self-contained, mostly.

DriveState:

This is not the former DriveState Enumeration of /packet/game/objectcreate/.  This is now a /types/ Enumeration shared across /common/ objects and serves the functionality of both, at least to the extent that it is understood.  Functions are includes that define the logic order or state changes and divides states into (two) groups.

VehicleService:

The directory /pslogin/src/test has been created and tests have been migrated there.  Originally, the tests were located in the wrong place and were being skipped when not executed manually.  They should now appear in coverage reports and be run as a part of continuous integration.
2018-02-17 17:37:53 -05:00
Fate-JH 27d86af015
Merge pull request #187 from Fate-JH/ams-terminal
AMS Terminals
2018-02-17 17:34:02 -05:00
FateJH 62b2c54b67 added utility filtering so that only valid indexed utilities are assigned GUIDs and are translated into OCM 2018-02-12 09:59:07 -05:00
FateJH 860edf9a97 Utility:
A container class for vehicle-installed Amenity objects that are owned by the vehicle.  It not only constructs the internalized Amenity but harbors logic that is required to setup the object at a more appropriate time (at start of VehicleControl).

OrderTerminalABDefinition:
Terminals built into the sides of the advanced mobile spawn, accessible when it deploys.

OCM packet converters, GUID registrtaion, and setup code allows the code to wire into the vehicle.
2018-02-12 00:22:57 -05:00
Fate-JH fb1c365bc2
Merge pull request #186 from Fate-JH/facilities
Buildings and Stuff
2018-02-10 15:15:03 -05:00
FateJH eefe4d2e20 Building:
Replaces class object/serverobject/door/Base.scala.  It performs nearly the exact same purpose but now has a list of owned objects called Amenities.  Buildings are now a PlanetSideServerObject (PSSO), which allows them to have accept a *Control Actor and possess FactionAffinity.

FoundationBuilder:
FoundationBuilder : Building :: ServerObjectBuilder : [T <: PlanetSideServerObject]

Amenity:
Most PSSO's now accept Amenity as their parent in class hierarchy.  Flagged PSSO's like Building and Vehicle are, on the other hand, capable of becoming the owner for these Amenity PSSOs, which allows them to inherit the same FactionAffinity.

FactionAffinity:
A trait that connects objects that are intended to communicate PlanetSideEmpire values.

MountableBhevaior:
Split between Mount and Dismount behavior.  Passes appropriate messages to ensure coherent workflows.

Control Actors:
FactionAffinityBehavior and MountableBehavior are PartialFunctions that get processed in series.

VehicleControl:
Distinguished behavior allowed between an operational vehicle and a deactivated one.

WSA:
Tightened up DismountVehicleMsg handling code, since MountableBehavior has been enhanced.

Minor:
Shotgun shell stacking goes from 32 to 16.  Various PSSO classes now have reliable Definition objects.

Tests:
We now have 1012 tests, some of them useful.
2018-02-08 14:22:05 -05:00
Fate-JH 8c02f8d519
Merge pull request #185 from Fate-JH/escape-plan
Doors Open from Inside
2018-02-02 20:59:20 -05:00
FateJH 5c8e8afc76 three of the four tower doors previously had the same x,y coordinates; the upper south-facing door was incorrect 2018-01-26 19:25:19 -05:00
FateJH f4b913a5d9 Vector3 normal vector functions; locked door opening from inside mechanics; correction to item/equipment identification in WSA; quick solution to stop door from closing on player who opened it if that player is still standing within sqrt(15)m from it 2018-01-24 20:44:30 -05:00
Fate-JH c5246d5f10
Merge pull request #184 from Fate-JH/locker
Lockers
2018-01-24 19:22:40 -05:00
FateJH f5182030da added support for Lockers and access to Locker contents; modified RequestDelete to handle Locker, as well as previously neglected vehicle trunk contents; added Lockers to Hart C shuttle observation room 2018-01-22 20:45:05 -05:00
Fate-JH af796167b5
Merge pull request #183 from Fate-JH/pewpews
Pew Pew
2018-01-21 12:41:41 -05:00
FateJH c2bcb63725 corrections for the shared magazine fire modes of the Aurora; conditions for character rendering when in a vehicle; WeaponJammedMessage -> WeaponDryFireMessage 2018-01-20 15:11:11 -05:00
FateJH 4059d50e72 shotgun pellet fire modes; fire mode for melee weapons; cleanup code for phoenix (decimator) and handling last phoneix rocket fire; temporary cleanup of grenades 2018-01-17 07:51:42 -05:00
FateJH 53c5902512 suspend fire state change when ammo in weapon is zero 2018-01-15 19:19:15 -05:00
FateJH 065cd0c885 adding a variety of Punisher ammo for testing 2018-01-15 09:23:51 -05:00
FateJH 1f04c840d2 synchronized change fire mode; addsupport for fire mode in DetailedWeaponData; corrected bug with LastDrawnSlot/ObjectHeldMessage 2018-01-15 08:15:18 -05:00
FateJH 9e51e33246 synchronizing change ammo 2018-01-15 08:14:17 -05:00
FateJH b292739b54 synchronized weapon fire, weapon dry fire, reload cycle, and reload of ammunition from inventory contents 2018-01-15 08:14:16 -05:00
Fate-JH 642f28e162
Merge pull request #182 from Fate-JH/vsubstate
Packet: VehicleSubStateMessage
2018-01-15 07:58:53 -05:00
FateJH 26d388d7ff initial VehicleSUbStateMessage packet and test; borrowing angle codec from VehicleStateMessage 2018-01-03 15:31:11 -05:00
Fate-JH 3ed695d31b
Merge pull request #181 from Fate-JH/exo-suits
MAX and Infiltration Suit
2018-01-03 15:19:13 -05:00
FateJH 35a028d551 quick fix for stopping drawn slot from changing by client after exo-suit change 2017-12-31 16:04:35 -05:00
FateJH 335b40cdfc correction for LoadoutTest 2017-12-30 21:44:10 -05:00
FateJH 524d6678e6 added Infiltration Suit and Mechanized Exo-Suit to the spawnable exo-suit options for all factions; also works correctly with InfantryLoadouts; better support to dropped items; fixed an issue with Terminal.BuyVehicle from the last merge 2017-12-30 20:51:01 -05:00
Fate-JH abbd5c35ed
Merge pull request #180 from Fate-JH/all-zones
All Zones
2017-12-28 19:04:52 -05:00
Fate-JH 86fc5e44d0
Merge pull request #179 from Fate-JH/vehicle-loadout
Vehicle Loadouts
2017-12-28 19:04:06 -05:00
FateJH 17a8b8bf38 Zones:
Added continent stubs to InterstellarCluster init list.  All Maps and Zones are defined in temporary objects that may be subdivided further as they grow.

Builder:

Replaced trait ServerObjectBuilder[A] with class ServerObjectBuilder[A] that allows for much greater power.  In ZoneMap.Init override, LocalObject invocations that were previously 'LocalBuilder(FooObjectBuilder(ObjectDefintion, Int))` have been transformed into `LocalObject(ServerObjectBuilder(Int, (Int=>Foo))` where `Foo` is the type of object to be created by the curried function `(Int)=>Foo`.  The examples with Terminals and the VehicleSpawnPad should demonstrate what kind of power this syntax possesses in isolating constant (or at least initial) configuration settings.  At least five files, and some files not yet written, have been rendered obsolete and have been eliminated from the sim pertaining to these created objects.
2017-12-25 17:01:53 -05:00
FateJH 8fbbd31967 modified how subscriptions can subscribe and unsubscribe from specific channels (works now); vehicles now come with default loadouts at time of spawn; MoveItem is now a much more generic process that handles all Container objects; alternate fire modes now have correct ammunition values, but still do not change ammunition type properly; terminals are now distinctively split a bit more; LootItemMessage packet 2017-12-23 01:29:48 -05:00
Fate-JH 01c5d37aef
Merge pull request #178 from Fate-JH/codecov
Code Coverage
2017-12-22 09:06:39 -05:00
FateJH 36d4ee0895 implant adjustments; case for Infiltration Suit which has 0 armor 2017-12-11 20:01:18 -05:00
FateJH 1931ae3a7b fixing cosmetics issue that was blocking seeing the inventory for other players BR25+ 2017-12-06 23:33:17 -05:00
FateJH 3aee0ab4e8 added and expanded tests in hopes of increasing code coverage score
added tests for AvatarService and PacketCodingActor; especially PCA tests
2017-12-06 19:51:43 -05:00
Fate-JH 0e5afe6cfd
Merge pull request #177 from Fate-JH/implant-terminal
Implant Terminal
2017-12-06 19:50:03 -05:00
FateJH f9beb47073 Implant Terminals:
Implant terminals (mech) are now properly mountable and implant terminals (interface) are also properly interactive.  Player can select to equip or to remove implants properly.

Mountable:

Vehicles and implant terminal mechs now use common Mountable logic.

home3 Hart C:

All doors, save for those to the shuttle, and all implant terminals in this building are now rigged to operate.
2017-12-03 21:00:58 -05:00
Fate-JH 47a0aa3e0c
Merge pull request #176 from Fate-JH/vehicle-terminal
Vehicle Terminals
2017-11-29 07:57:48 -05:00
FateJH e62adc4bc1 broke up GUIDTask tests into separate files; attempting to increase code coverage by modifying the first registering test 2017-11-28 22:58:54 -05:00
FateJH ab2e2959b5 modified dismount vehicle conditions 2017-11-28 19:33:52 -05:00
FateJH c3b3e8a6e6 spawn pad livelock due to client crash 2017-11-27 19:17:58 -05:00
FateJH 658b4f3b07 an attempt to shrink the size of the init function in GlobalDefinitions and not offend Travis-CI 2017-11-26 00:00:41 -05:00
FateJH 5428bbbfbf Operational vehicle terminals:
Vehicles can now be pulled from assigned and initialized terminals.  The vehicle's chosen spawn pad controls (or paces) all aspects of the spawning process.  Support Actors ensure that a fully-realized Vehicle will be unloaded and unregistered if left alone, either right after spawning on the pad or after an extended period of time.  The latter half of the procedure used for spawning vehicles is a temporary workaround until future analysis and functionality of the server vehicle override packet is incorporated.

Weapons:

Weapons will now construct their own default magazines thanks to a switch from Ammo.Value to AmmoBoxDefinition in the ToolDefinition.

GenericObjectActionMessage :

The only thing this packet does, at the moment, is obscure the player when he is being promoted into the owner of a vehicle.
2017-11-25 20:55:12 -05:00
Fate-JH f88543c77e
Merge pull request #175 from Fate-JH/vehicle-sync
Vehicle Sync
2017-11-10 19:21:40 -05:00
FateJH 73d0553b2c added error messaging for vehicle-decon Actor, should something go wrong with the unregistering process 2017-11-06 18:16:23 -05:00
FateJH f24911cde8 tests for a variety of objects and scripts (currently 810); minor changes to align with proper object behavior 2017-11-06 10:24:36 -05:00
FateJH 8f658aa688 test Harasser to demonstrate synched vehicle actions: mounting, disembarking, driving, gunning, changing access permissions, changing ownership, kicking passengers, deconstructing 2017-11-04 01:11:28 -04:00
FateJH 211eb838aa standardizing VehicleData Codec; clarifying field data for CommonFieldData; added various Vehicles that were not part of the earlier updates, leaving only the BFRs untouched; fixing PacketConverters for Vehicles; cleaning-up ObjectClass 2017-11-04 01:10:22 -04:00
Fate-JH ab56a9f11b
Merge pull request #174 from Fate-JH/quick-fix2
Quick Fixes
2017-10-30 20:15:39 -04:00
Fate-JH 516c8c3f29
Merge pull request #166 from SouNourS/AvatarImplantMessage
Packet: AvatarImplantMessage changes
2017-10-30 20:14:47 -04:00
FateJH b06fa6d23e Merge branch 'quick-fix2' of https://github.com/Fate-JH/PSF-LoginServer into quick-fix2 2017-10-26 19:36:03 -04:00
FateJH 14213affe0 changed logic in aroundPostStop in regards to onSuccess 2017-10-26 19:33:04 -04:00