Commit graph

40 commits

Author SHA1 Message Date
FateJH
ee5d0c666c replaced DelayedDeconstructionActor and DeconstructionActor with VehicleRemover, a class that does performs both tasks; all messages to, from, and used by the previous two actors have been removed and replaced with the new messages 2018-05-26 01:04:38 -04:00
FateJH
36b9d81e6c moved current object dropping functionality over to AvatarService entirely; adjusting special support actor messaging for AvatarService; modified calls for DroppedItemRemover and CorpseRemoverActor; Player now has a more sensible check for its VisibleSlots 2018-05-25 21:11:25 -04:00
FateJH
d35536da06 created a generic base model for automated object deletion that isn't user driven; the first instance is the DroppedItemRemover for LocalService 2018-05-23 23:53:50 -04:00
FateJH
f6f7ad5617 unified code paths for dropping an item, and reinforced code path for picking an item back up; LocalService will handle some of the work now; ActionResultMessage embraces its simplistic nature (we don't have enough error messages) 2018-05-22 19:13:59 -04:00
FateJH
185da88db5 small change 2018-05-21 11:12:13 -04:00
FateJH
552206974e rebased to master/v-spawn-pad-redo; added ams spawn refresh when vehicle is deconstructed 2018-05-21 11:01:00 -04:00
FateJH
cd91080c9a Worked ams spawning rules into normal SpawnRequestMessage workflow using the (reliable) spawn group number of 2 2018-05-21 10:58:18 -04:00
FateJH
cc3e1dde86 packets RespawnAMSInfoMessage and SquadWaypointEvent, the latter with tests; system of keeping track of deployed AMS vehicles and displaying their data to interested users added through the VehicleService path 2018-05-21 10:54:32 -04:00
FateJH
54e2e37b54 corpse remvoal should now remove corpses 2018-05-21 10:16:20 -04:00
FateJH
98fc9f5fba more petience with VehicleSeated; added independent DeadState variable (temporary?); changed conditions of vehicle deconstruction scheduler 2018-05-21 09:45:07 -04:00
Fate-JH
12443c6aa5
Merge branch 'master' into feature/VehicleDismountImprovements 2018-05-21 08:34:29 -04:00
Mazo
6f65603942 Add BailType enumeration and update parameters for vehicle dismounting with correct naming and type 2018-05-21 06:47:21 +01:00
FateJH
a513f4996e working vehicle loadouts from repair/rearm silos; code documentation and expanded tests 2018-05-16 00:27:25 -04:00
Fate-JH
ddf2f53d8a
Merge pull request #201 from Fate-JH/move-item
Move item
2018-05-08 22:22:48 -04:00
FateJH
e61f1dbdfc changes to how MoveItemMessage is handled; AvatarService messages for MoveItem purposes; stop shooting and put away weapon when sitting down 2018-05-08 00:07:11 -04:00
FateJH
dab6a4db94 fixed timing in tests 2018-05-06 21:25:14 -04:00
FateJH
4e0085eb20 repairs to corpse removal task; postStop for vehicle deconstruction; previously unhandled condition for MoveItemMessage logic 2018-05-06 16:58:52 -04:00
FateJH
3a9058bee9 attempting to solve issue of corpses with no guid; catching vehicles with no guid as well 2018-05-06 16:09:30 -04:00
FateJH
5d5c609a2f Reorganized vehicle spawning process and wrote tests for process. 2018-04-29 00:13:15 -04:00
FateJH
c87273c351 originally just implemented drive-away speeds and timings for boarding vehicles manually; then attempted a trick where vehicles would be moved up out of the trench manually; finally, discovered how spawn platform rails work and how to find their guids easily and incorporated a nearly fully-functional vehicle spawn system(!); added examples of the 'railless' spawn pads to the East and Southeast of home3 HART C 2018-04-29 00:13:15 -04:00
FateJH
fde49773cd Splitting single vehicle spawn control process into several subtasks. Vehicle event bus attached to zone objects, especially for interacting with VehicleSpawnControl. Importing SouNourS copy of ServerVehicleOverrideMessage packet and tests. 2018-04-29 00:13:15 -04:00
FateJH
29cf59775a working medical terminal and stubs for other proximity-based terminal operations 2018-04-19 08:01:13 -04:00
FateJH
f444a35785 Changes to AvatarService packets and support actors in regards to corpse management and tests regarding corpse management. Seriously, those tests. 2018-03-31 20:03:40 -04:00
FateJH
ddc2450541 Buildings now have simple type distinctions to work using the known output of a SpawnRequestMessage packet. Support for cross-continental respawning (actually a failure case for being unable to spawn). Corpse tuning and testing. 2018-03-31 19:59:11 -04:00
FateJH
20b7726653 Stripped down LivePlayerList functionality, moving player lists onto the appropriate corresponding zones. Corpses are now created, stored, and deleted. 2018-03-31 19:55:44 -04:00
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
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
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
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
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
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
FateJH
c3b3e8a6e6 spawn pad livelock due to client crash 2017-11-27 19:17:58 -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
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
80b2f23b1d missed newline 2017-10-13 18:28:38 -04:00
FateJH
7845508bd3 moved AvatarService and LocalService into their own package 2017-10-13 16:26:10 -04:00