Commit graph

820 commits

Author SHA1 Message Date
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
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
FateJH f7098618d7 Members and Squads now deal with their own inherent availabilities; code to transfer knowledge of character squad association by color; old code 2019-10-08 09:12:22 -04:00
FateJH 2a93e6a8be too much to itemize; still getting squads working, more or less 2019-10-08 09:11:44 -04:00
FateJH 3e631657b8 significant refactoring in SquadService operations; properly force the player to leave any participating squad when WSA stops 2019-10-08 09:10:56 -04:00
FateJH ad4b259014 Looking For Squad player operations and interaction with squad services; evene more conditions to resolve joining/forming a squad 2019-10-08 09:10:56 -04:00
FateJH 60d65e22d3 added a refactored squad joining entrypoint; initial work and test on SquadWaypointEvent packet; initial work on SquadWaypointRequest packet; squad waypoints up to #5 (squad experience) should be working 2019-10-08 09:10:56 -04:00
FateJH 56d8748e99 modified squad user initialization messages to better focus on specific steps of the process; dealt with different methods of communicating squad information to users, though not yet ready to implement the switchboard protocol 2019-10-08 09:10:56 -04:00
FateJH e5b2efd381 better support for the various ways to join a squad, and the various ways to leave a squad; squad-based messages; jury-rigged 'player wants to join' operations 2019-10-08 09:10:56 -04:00
FateJH 24691ec239 initial work on SquadInvitationRequestMessage packet, originally by aphedox; initial work on packet and tests for CharacterKnowledgeMessage; re-organization of SquadService workflow; prototyping for SquadSwitchboard 2019-10-08 09:10:56 -04:00
FateJH f81c87ce22 split original aphedox SquadRequestType's into two different enumerations, one for Request and the other for Response; added functionality for more squad interactions; squad favorites, excepting the ability to actually load them onto one's client; extensive comments about SquadResponseMessage events 2019-10-08 09:10:56 -04:00
FateJH 640a96ae9c wrote comments for SquadState, SquadMembershipRequest, and SquadMembershipResponse; messaging for players joining and leaving squads in WSA and SquadService; char_id is now a required field for Avatars 2019-10-08 09:10:06 -04:00
FateJH 60a11b8c52 sufficient functionality that allows the UI for squads to display properly on squad joining and on squad leaving; clarification for SquadMemberEvent fields; QoL support functionality intergrated into SDDUM streams 2019-10-08 09:10:06 -04:00
FateJH 2a1b051710 completed form of SquadDetailDefinitionUpdate 2019-10-08 09:09:33 -04:00
FateJH d9619e4185 conversion of variable field SquadDetailDefinitionUpdateMessage mostly complete, handling more than 99% of cases in our captures; modifications to existing test-important SSDUM packet in WSA 2019-10-08 09:09:33 -04:00
FateJH fd9a3a0216 commit before changes, and to switch gears momentarily; making charId somewhat native to Avatar and its converter, though not yet essential; protype for squad definition loadouts, even though no example of functionality exists; a lot of unimplemented work in preparation to convert SquadDetailDefinitionUpdateMessage from a static format to a variable-field format 2019-10-08 09:09:33 -04:00
FateJH 14bdcb7a7e a lot of squad-relatd setup for little payoff; initial packet and test for SquadMemberEvent, originally by Aphedox; initial packet and tests for SquadState; new SquadDefinitionAction actions; a common initial SquadDetailDefinitionUpdate form 2019-10-08 09:09:33 -04:00
FateJH 9cf1cd92cc communication of the details information for a squad and refactored messaging back to WSA; removed an unused description field from the squad and added two fields that were actually represented 2019-10-08 09:09:33 -04:00
FateJH 5c433204cf initial work and dummy tests for SquadDetailDefinitionUpdateMessage packet; 46-bit certification encoding; indicating four previously unhandled SquadAction types; the squad leader is allowed to move around his squad 2019-10-08 09:09:33 -04:00
FateJH ceb145d94f introduced service-level squad management operations, specifically to read SquadDefinitionAction packets from WorldSessionActor and send ReplicationStreamMessage packets back to relevant WSA when necessary 2019-10-08 09:09:33 -04:00
FateJH afb10f57c3 restored SquadDefinitionActionMessage to the past upgrade form that was lost; preliminary objects for squad infromation and squad member position information 2019-10-08 09:07:52 -04:00
FateJH 6fdc617a87 overhaul of ReplicationStreamMessage to make the object form of the packet less of a hassle to compose; updated tests for RSM 2019-10-08 09:07:52 -04:00
FateJH e44d21520a initial SquadMembershipResponse packet and tests; re-naming some SquadRequestType values 2019-10-08 09:06:57 -04:00
FateJH f45420b511 ; moved from brnach squad-req, due to branch incompatibilities 2019-10-08 09:06:57 -04:00
Fate-JH 1fb35bacd1
Hotspots (#260)
* basic information processing actor for projecting hotspot information back to the clients

* added measurements to the continents to keep track of their coordinate-sizes; corrected an old regex issue affecting some (few) CSR zone names

* started on zone storage for active hot spots

* moved (Zone)HotSpotProjector onto the top of each of the zones and adjusting the GalaxyService workflow; added a map blanking routine for outdated hotspots; different damage targets cause different amounts of hotpot lifespan (test)

* separated hotspots by the faction that should have those specific hotspots depicted; hard cap on the number of entries that can be added to the packet HotSpotUpdateMessage to correspond to the capacity of the size field; increased hotspot sector mapping (64 -> 80) and lowered the blanking period delay (30 -> 15)

* adding comments to the majority of classes involved in hotspot management; moved hotspot coordination mapping and duration selection functions into the zone itself rather than the projector (though calls will still be made to perform updates to the existing projectiles through the projector); the formal continents have been assigned some default hotspot functionality

* rebase, plus 'galaxy' channel name

* capped the amount of heat a hotspot can accumulate to avoid overflow; vehicles being damaged now generate hotspots; corrected a long-standing issue involving cargo vehicles when the ferrying vehicle is destroyed

* from > to <
2019-08-21 10:40:29 -04:00
Mazo 2048fa19cb Vehicle jacking (#264)
* Jacking changes

* GOAM documentation

* Don't disable a deployed router's internal telepad when cleaning up remote telepads (i.e. when router is hacked)

* Reduce some log spam
2019-08-21 10:39:44 -04:00
Mazo 0730c0deb6 Playtest crash fixes (#265)
* Fix BIUM getting hack time in nanoseconds instead of milliseconds

* Remove blocking call to calculate remaining hack time on CC

* Fix HackClearActor crash when trying to schedule next check when no hacked objects are left

* Potential fix for client disconnect when looting a corpse that gets removed
2019-08-21 10:38:49 -04:00
Fate-JH ef65c91740
fixed encodings on DetailedCharacterData, DetailedConstructionToolData, DroppodData, HandheldData, OMFTData, and REKData patterns; added a deprecated pattern for weapon data that permits no ammunition fields; adjusted relevant tests (#263) 2019-08-21 10:36:56 -04:00
Mazo ad60b443e1 Few small tweaks to silo / vehicle capacitor displays suggested by Sounours that I forgot about (#266) 2019-08-21 10:33:26 -04:00
Mazo 58d5f1c0fc Fix some GUIDs being assigned incorrectly when first two decimal places of X coordinate are the same (#261) 2019-08-21 10:32:43 -04:00
Mazo 6454042037 Turn off "festive" backpacks (#262) 2019-08-21 10:32:16 -04:00
Mazo f424fa637e Extra information gleaned from beta client (#256) 2019-05-06 09:17:25 -04:00
Fate-JH a467a79c71
Cargo Bail (#258)
* deconstructing a vehicle that has cargo will eject the cargo before despawning the vehicle

* cargo that dismounts without a driver is scheduled for deconstruction; any player that disconnects while in a vehicle that is flying has the vehicle scheduled for immediate deconstruction instead of the standard deconstruction time

* modified routine for disowning vehicles outside of the conventional 'driver is owner' system

* standardized player-driven ownership fields; adjusted how vehicles transfer and announce ownership on zone join events (SetCurrentAvatar)

* stop /zone and /warp if in a cargo vehicle (even if driver)

* fix for landed-dismount cargo logic not starting distance checking loop

* concatenated Owner and OwnerName assignment to a singular object method, and the vehicle use of assignment to a singular WSA function
2019-05-06 09:10:39 -04:00
Fate-JH fca14e6b1b
Degraded Lash Damage (#257)
* formulas to calculate consistent distance between origin and impact; lash damage degrades as a function of distance

* clamped the degrade value for lashing damage; clamped the distance value; implemented a rudimentary and unsophisticated shot origin to shot owner distance validation test; fixed a mounting bug

* lashing damage is primarily targeted at exo-suit armor; lashing calculates damage starting at the same distance at which it starts being detected

* clarifying the weapon fired in the warning message
2019-05-06 08:48:11 -04:00
Mazo 78eb7906c9 Door closing modifications (#255)
* Increase the distance on the door close check to stop doors bouncing open/closed and add a check to make sure the player is alive when holding the door open

* Dead players hold doors open, zone is now checked if the player is a backpack instead of the player object itself
2019-05-06 08:46:55 -04:00
Fate-JH 5209f9ec21
Gating Fixes (#254)
* rescheduling of passenger gating summons to increase chances of detecting passengers joining same zone; short-circuit new spawn requests and new warp gate requests while a previous request is already being processed

* changing respawn delays for warp gate spawn points

* adjusting how warp gates store broadcast data and how broadcast gates are declared in packets; activating TR sanctuary warp gates and making Solsar warp gates broadcast for the TR

* changes to vehicle disowning and what happens to an AMS when it is unloaded
2019-04-21 08:23:12 -04:00
Fate-JH 6399963e68
Exclude Equipment from Loadouts (#249)
* routines for eliminating equipment and configurations from loadout availability depending on the terminal type

* fix to FavoritesMessage use of exo-suit type and subtype causing entries to identify incorrectly; standard is the fallback exo-suit type should a player try to load a suit type they no longer have certed

* factored subtype value into exo-suit fallback selection

* when in a vehicle, and accessing a terminal, the item purchased will attempt to be placed in the vehicle's trunk before testing the player's free hand; the item will not go into the player's backpack
2019-04-21 08:22:14 -04:00
Mazo c91b3caa99 Subslot error on zoning fix - functionality to handle resending SlottedMetaPackets if the client indicates it is missing one (#252) 2019-04-16 09:24:13 -04:00
Mazo 473d4d14c5 Hacking fixes (#253)
* Remove QoL change to show faction colours on hacked objects as unfortunately it causes side effects like doors opening for the hacker but saying the door is locked

* Only send map updates if the resecured object is a capture terminal

* Centralise logic to check if a Capture Terminal is hacked for a Building object

* Fix hacking a terminal where the base CC has been hacked and add a bit of extra logging for possible edge cases

* Clear all hacks from hacked amenities when the CC is resecured

* Fix AMS terminals being broken

* Clear amenity hacks when CC is both hacked and resecured
2019-04-16 09:23:43 -04:00
Mazo 6c68bda97c Fix implant terminal hacking (#251)
* Fix hacking implant terminals

* Remove duplication and apply some DRY
2019-04-16 09:22:38 -04:00
Mazo e5b94246b4 Update maps to include warpgates, geowarps and sanctuary spawn tube definitions (#250)
* Update maps to include warpgates, geowarps and sanctuary spawn tube definitions

* Add missing warpgate_small objects
2019-04-16 09:20:15 -04:00
Fate-JH c38c619a23
Gating (#248)
* resolved merge of multi-PR-merge master branch supporting gating branch

* making adjustments to the distinctions between building map id and building GUID, where necessary, to assist with the loading process

* custom spawn tube definitions for the sanctuary VT_building's
2019-04-08 08:05:15 -04:00
Mazo 7fcbf7bf41 Full map configs for all above ground continents including battle islands and oshur prime (#245)
* Move door orientation logic from the door itself to the IFF lock, as the lock has the correct orientation in the UBR files, whereas the door does not.

* Remove ModelID from buildings (is now GUID) and change "ID" to be "MapId". A building can also be constructed with both a GUID and MapID.

* Update Maps.scala and Zones.scala to (for the moment) only have Ishundar configured with Sounours V3 playtest base ownership. Default starting zone is also moved to Ishundar for now.

* Fix oopsie with West Zaqar Tower

* Add proximity terminal positions to constructors

* Offset vehicle spawning by the correct amount from game_objects.adb.lst

* Orient players correctly when spawning at a respawn tube

* Apply a 90 degree offset to tech plant garage locks, as these are the only locks where the orientation does not match the orientation of the door

* Add missing spawn terminals, repair/rearm terminals for both ground and air.

* Additional documentation for GOAM / PAM packets

* Add extra arguments to building LocalObjects to make it a bit more DRY and reduce line count for map files

* Split maps configuration into separate files and add every above ground map (including battle islands and oshur prime)

* Fix ZoneTest typo

* Update vehicle spawn pads to use the correct object types, Z offsets and Z orient offsets

* Update ZoneMaps with the new vehicle spawn pad definitions and fix a few issues with sanctuary GUIDs (special thanks to the one person that used capitals in the .lst files when no other object uses them)

* Comment out duplicate instance of ObjectDetachMessage being sent

* Apparently TR sanc has an extra 6 repair silos, now accounted for.
2019-04-04 14:44:57 -04:00
Mazo 3738feec12 IFF/Door orientation - Building MapID/GUID changes - Ishundar full config (#244)
* Move door orientation logic from the door itself to the IFF lock, as the lock has the correct orientation in the UBR files, whereas the door does not.

* Remove ModelID from buildings (is now GUID) and change "ID" to be "MapId". A building can also be constructed with both a GUID and MapID.

* Update Maps.scala and Zones.scala to (for the moment) only have Ishundar configured with Sounours V3 playtest base ownership. Default starting zone is also moved to Ishundar for now.

* Fix oopsie with West Zaqar Tower

* Add proximity terminal positions to constructors

* Offset vehicle spawning by the correct amount from game_objects.adb.lst

* Orient players correctly when spawning at a respawn tube

* Apply a 90 degree offset to tech plant garage locks, as these are the only locks where the orientation does not match the orientation of the door

* Add missing spawn terminals, repair/rearm terminals for both ground and air.

* Additional documentation for GOAM / PAM packets
2019-04-04 14:32:28 -04:00