Commit graph

220 commits

Author SHA1 Message Date
Fate-JH f1a9809c54
Battleframe Branch Bugfixes (#985)
* restored control of bfr gunner weapon; attempted to restore shield functionality given unspecified problem statement; bfr's can drown like ground vehicles, not aircraft; siphons can not drain a facility when equal to or less than 40% ntu; corrected oversight with implant timers; accidentally got assertion for TradeMessage backwards

* fixed bfr shield charge display; phantasm driver seat is now bailable

* this test never passes, but the test based on this test passing passes

* correction to support bfr flight variant waterlog recovery
2022-02-03 23:23:22 -05:00
Fate-JH 6ae0b44848
Lump of Coal (#982)
* preliminary elements needed to battle frame robotics; mostly from previous branch

* introduction of FrameVehicleStateMessage and anticipated event system paths for BFR's; spawning amenities for BFR's are parsed and built from the zonemap files, but their coordinates are currently incorrect, and the resulting entity will not function atm

* bfr's spawn correctly; default arm weapons will spawn correctly; bfr rearm terminal added but arm swap not working correctly; bfr shields charge if not full; proper separation of vehicle spawn pad types

* arm weapon swapping in bfr's; swapped weapons switch, contextually, to either *_left or to *_right depending on the mounting; partial support for entities that do not have an OCDM packet form

* crouching improves shield regeneration

* some projectiles damage the bfr regardless of its shield

* delay the final vehicle explosion; start of vehicle subsystems

* handling for bfr shield ui updates; more of vehicle subsystems; corrections to TradeMessage packet; clarifications for FrameVehicleStateMessage package; report on flight status of bfr's

* control agency support for vehicle subsystems for arm weapon fire control

* vehicle capacitor, for what it's worth; shield and capacitor are influenced by recharge freeze and drain

* initial packet and tests for AvatarAwardMessage; update the fields of FreindsResponse, DetailedCharacterData, and LoadoutType for FavoritesMessage; corrections to intiailization packets in SessionActor; players start as imprinted by default

* support for GOAM and GAM integration into vehicle control agencies using a basic actor superclass; addition of vehicle subsystems; modifications to bfr control agency to allow for weapon handiness and subsystem control; fixed Fit mapping for vehicle override; made mountable seat transcoders independent

* delayed explosions to accompany the delayed death for the bfr; bfr terminal window closes on successful purchase

* the bfr armor siphon works

* clarification for bfr inventory item manipulation; corrections to length of bfr transcoder for flight variants; everything else in in support of the various arm weapons that can be assigned to the bfr, including damage proxy support for causing/interacting with/cleaning up after radiation cloud projectiles

* fixed the apc emp burst; fixed bfr arm weapon manipulation for activated subsystem; armor and ntu siphon support

* battleframe loadouts available upon vehicle spawn (vs and tr only)

* adb values for siphons; subsystem update message; some repairs

* cargo vehicles are subject to radiation damage; damage for battleframes are different depending on shield evasion status; battleframe loadout deleting supported; bfr kill box; automatically wire bfr sheds, includeing the ones in sanctuary

* proper bfr spawn angles; bfr vehicle timers; projectiles are no longer radiation clouds by default; better remote projectile cleanup; resolving incorrect weapon arm enabled states for bfrs

* added tests for FrameVehicleState and GenericObjectActionAtPosition; pass around maximum sector for zone interactions

* changed the triggers for the stamina regeneration timer

* potential fix for issue related to finding arm weapon mounts

* modifications to how vehicle subsystems are automated; jammer field updates; support and passing around custom block map ranges; does include activated dev tests for battleframe PAM, which will need to be stripped out later

* commit while working on subsystems mk2

* subsystems fail when jammed; an unoccupied bfr does not have shields active; pulling a bfr of one variant should block the other variant too

* fix distance check with radiation clouds; blocked bfr weaponry from anywhere but bfr arm mounts and cursor; ammunition depletion of aphelion laser; bfr shields deactivates when unoccupied

* significant modifications to vehicle subsystem operations; disambiguation of weapon subsystems; debuffs to charge rate and use rate for the capacitor and shield of bfr; test for ComponentDamageMessage; somewhat proper jammering operations for bfr
2022-01-27 09:57:51 -05:00
Fate-JH 46763b7877
Stamkit Fixed, Maybe, Sorta, Not Really, Take Two (#966)
* fixed stamina kit, maybe

* ui field updates for stamina on kit use
2021-11-11 09:03:08 -05:00
Jason_DiDonato@yahoo.com 6d61ff034a streamlined messaging; no longer query database if no need to query database exists 2021-11-01 10:44:18 -04:00
Jason_DiDonato@yahoo.com 92ada951e5 re-use old locker entity during cases of player relog to fix registration issues 2021-10-31 19:24:21 -04:00
Fate-JH 1e5e11be6b
Merge pull request #947 from Mazo/relative-object-coordinate-fix
Fix pse_relativeobject positioning
2021-10-05 15:21:54 -04:00
Mazo b06bdff98f Fix erroneous data 2021-10-05 19:53:01 +01:00
Mazo 2da4d1d3a7 Fix pse_relativeobject positioning in zonemap json, and for some reason llm_socket data was also missing 2021-10-05 19:30:31 +01:00
Fate-JH 93a544c07c
Collisions (#932)
* pattern for applying damage to player avatar and player-controlled vehicle collisions

* pattern for applying damage to targets due to collisions, falling damage and crashing damage individually; fields to support these calculations are provided

* modifiers to translate 'small step velocity' to real game velocity, as reported by the HUD; corrections for velocity; corrections for velocity in other packets

* fall damage calculations moved to function

* basic two-body collisions between GUID-identified game entities and a ward against too many collisions in a short amount of time

* bailing mechanics

* vssm for non-driven vehicles

* comment about vehicle state message field

* comments and minor refactoring for current collision damage calc; tank_traps modifier; potential fix for blockmap indexing issue

* fixed cargo/carrier vehicle ops

* corrections to initialization of ce construction items; adjustments to handling of modifiers for collision damage

* modifier change, protection against flight speed and spectator crashes; submerged status is once again known only to the actor

* appeasing the automated tests

* hopefully paced collisions better; re-did how Infantry collisions are calculated, incorporating mass and exo-suit data; kill feed reporting should be better

* adjusted damage values again, focusing on the lesser of or middling results; collision killfeed attribution attempt

* kicking offers bail protection; lowered the artificial modifier for one kind of collision damage calculation

* correction to the local reference map functions

* fixed tests; attempt to zero fall damage distance based on velocity; attempt to block mine damage when spectating
2021-10-05 09:59:49 -04:00
Jason_DiDonato@yahoo.com f0d11ad1f5 added ability to hint invalid objects, maybe 2021-08-28 00:40:51 -04:00
Fate-JH 0bbe7e3959
Vehicle Loadout Weapon Ammunition (#914)
* correcting vehicle loadout change to account for capacity of weapon magazine, not default ammunition box capacity

* inventory items in vehicle trunks express proper ammunition capacity
2021-08-25 10:36:33 -04:00
Fate-JH 9841b7e97d
Unique Number System Operations (#906)
* propagation of the ask pattern into the unique number actor

* TaskWorkflow as a replacement for TaskResolver; includes working tests

* AvailabilityPolicy has been changed slightly; number source restriction mechanic has been completely removed

* TaskResolver is gone and done and TaskWorkflow replaces it

* number pool variety

* every zone gets a custom tailored 'environment' number pool, as well as all other number pools; uns involves many more static functions and hard-defined variables

* repairs to uns and guidtask tests; worked uns into unops, an actorless version, but did not integrate into server

* shuffled around files in the guid package, causing import threshing; wrote extensive comments; repaired tests; classes related to the old unique number system have been removed

* created straightforward tasks; simplified number pool actor calls; repaired tests due to modifications to generic pool

* bad merge recovery
2021-08-15 21:27:45 -04:00
Jason_DiDonato@yahoo.com 49d797e4ba various fixes related to sentry alerts 2021-08-03 20:03:08 -04:00
Fate-JH 912d9a6599
The Flail (#896)
* corrected flail deploy animation timing; added a working laze pointer terminal utility to the flail

* initial LongRangeProjectileInfoMessage packet and tests

* flail damages targets over a distance and damage dealt will increase with distance traveled

* flail laze pointer broadcasts a special waypoint to squad members and blanks position marker after a short time

* recharge terminal will remotely restore ammunition to ancient vehicle weaponry (like the flail) as weaponfire expends it

* laze waypoints do not double and are visible to all squad members; excessive squads do not form and stick around by accident
2021-07-29 09:06:29 -04:00
Mazo c6347a7845
Merge pull request #897 from Fate-JH/raw-resp
Raw Hex
2021-07-21 18:00:47 +01:00
Jason_DiDonato@yahoo.com aa7bc8d789 method to send raw hexadecimal packet code, whether or not that packet code is valid 2021-07-21 09:36:36 -04:00
Fate-JH aade69505b
No Kit Spam (#892)
* added an extra task to be performed before the kit use blocker is lifted

* type
2021-07-20 22:23:02 -04:00
Fate-JH 6d13ae972e
Merge branch 'master' into adv-regen 2021-07-01 22:11:47 -04:00
Fate-JH 82579111e2
Implant: Second Wind (#880)
* support for the second wind implant; minor enum modifications to damage reasons that were executed for alternate implementation where second wind stopped player from dying once

* vital history entry to note from where the 25hp came
2021-06-30 20:48:09 -04:00
Jason_DiDonato@yahoo.com 540eec5bdd support for advanced regen implant; not pretty, but it works 2021-06-30 19:43:37 -04:00
Jason_DiDonato@yahoo.com 7f731f37d5 support for melee booster implant 2021-06-29 03:02:21 -04:00
Fate-JH 76f283c617
Merge pull request #877 from Fate-JH/angles2
What's Left of Angles
2021-06-29 00:33:41 -04:00
Jason_DiDonato@yahoo.com 42db02f576 recovery from original angles branch, mostly concerning changes with ChangeFireStateMessage_Stop and WeaponFireMessage field info 2021-06-25 22:57:55 -04:00
Fate-JH c7ebe6a34f
Separate Vehicle Controls (#871)
* broke vehicle control agency down into specific agencies for different types of vehicles

* moved shared cargo vehicle pain onto the carrier control agency; apc-type vehicles have charging capacitors and emit emp's

* comments and documentation; cargo learning about damage to carrier corrected; fixed tests and added tests

* adjustment to explosive deployable distance filtering; apc now uses this filter when determining valid emp targets by distance
2021-06-21 23:40:44 -04:00
Fate-JH 7b840719be
Merge pull request #865 from Mazo/env-config
Load config with ConfigSource.default to allow environment variables or java opts to override config values
2021-06-15 18:58:38 -04:00
Fate-JH 7c64b23e1f
Persistent Vehicle Loadouts (#863)
* persisting vehicle loadouts in between sessions, saving to db and loading from db

* reusing refactored code for clob; initial loadout without empty entries; reverting method of stopping session child actors
2021-06-15 18:32:12 -04:00
Mazo e093925bf5 Remove unused import 2021-06-13 21:12:04 +01:00
Mazo 0bb681babc Load config with ConfigSource.default to allow environment variables or java opts to override config values 2021-06-13 15:36:02 +01:00
Fate-JH 79f452259f
Merge pull request #857 from Fate-JH/plockers
lockers interact with the database by loading and storing contents
2021-06-11 23:15:18 -04:00
Fate-JH 3966b0264d
The Blockmap (#852)
* separating geometry classes

* 2d geometry; retirement of the *3D suffix

* makings of an early block map datastructure

* entities in a zone - players, corpses, vehicles, deployables, ground clutter, and buildings - divided between sectors of the zone upon creation, management, or mounting; superfluous messages to keep track of blockmap state, for now

* trait for entities to be added to the blockmap; internal entity data keeps track of current blockmap sector information; calls to add/remove/update functions changed

* modified pieces of environment into an entities that can be added to a block map and have a countable bounding region; fixes for vehicle control seat occcupant collection; fix for squad individual callback references (original issue still remains?)

* introduced the block map into various existijng game calculationa where target selection can be reduced by its probing

* he_mines and jammer_mines now trigger if a valid target is detected at the initial point of deploy; they also trigger later, after a valid target has moved into the arming range of the mine

* conversion of interactions with zone into a queued, periodic set of tasks

* explosive deployable control -> mine deployable control

* tests repaired and all tests working

* mostly comments and documentation

* amenities are now represented on the blockmap
2021-06-11 23:02:48 -04:00
Jason_DiDonato@yahoo.com 16d7778d78 lockers interact with the database by loading and storing contents 2021-06-09 20:16:05 -04:00
Jason_DiDonato@yahoo.com d9c0d2fa3c drained the water from Akna South 2021-06-08 21:01:11 -04:00
Fate-JH 2f9c4a7cf2
Deployable Behaviors (#840)
* unifying the split code pathways that separated telepads from other deloyables; in other words, no more SimpleDeployables and ComplexDeployables, just Deployables

* moved some aspects of the build logic into a deployable control mixin; aspects governing the deplpoyable toolbox have been transferred into the player control agency

* moving aspects of teleportation system establishment and decomposition into specialized Telepad control agencies

* retiring deployable disposal code path that required a dedicated remover; each deployable now handles its own removal, and some do special things when being removed; process still has some rough edges and tests are probably thoroughly broken

* additional modifications to support boomers and telepads; consolidation of code for deployable acknowledgement by owner and during failure conditions; tests for behavior

* retooled a significant portion of the build sequence and deconstruct sequence to: eliminate duplicate messages, give the player more input to and control over the process, remove undue responsibility thrust on SessionActor

* messaging issue where player did not re-raise hand after exchanging a used construction tool for a new construction tool

* modification to deconstruct path to make certain deplayble is unregistered last; ridding requirement of AlertDestroyDeployable; fixing test

* create paths for unowned deployable building and (standard) owned deployable building; corrected activation and connection between telepad deployable and internal roouter telepad; wrote tests for connection between telepad deployable and internal telepad

* modifiying the conditions of a deployable construction item being moved into a visible player slot such that the construction item's initial output is valid given the player's current certifications

* by forcing the fire mode to revert briefly before the ammo type updates, the construction item can be made to remain consistent between fire mode shifts

* construction tools now keep track of fire mode ammo types for a period of time, allowing one mode's last setting to be retained

* greatly delayed rebase with master

* minor changes; test correction (?)

* router is go?
2021-06-02 11:51:38 -04:00
Fate-JH 29d583fd90
Merge pull request #835 from Fate-JH/medkit-use
Personal Medkits
2021-05-27 22:59:51 -04:00
Fate-JH 195b2aaf3f
Merge pull request #832 from Fate-JH/invalid-terrain
Packet: InvalidTerrainMessage
2021-05-26 11:32:17 -04:00
Jason_DiDonato@yahoo.com 23ff0f532b packet work for InvalidTerrainMessage packet and tests 2021-05-25 17:08:03 -04:00
Jason_DiDonato@yahoo.com c4f5dc4dbf moved medkit resolution into the player control agency and callbacks/blockers added to the session 2021-05-23 08:08:04 -04:00
Jason_DiDonato@yahoo.com 2ce48cc356 facilities that do not have llu sockets should not complain that they are not facilities 2021-05-22 08:06:06 -04:00
Jakob Gillich 91e76d2397 Add base certifications config option 2021-05-22 07:43:28 +02:00
Jason_DiDonato@yahoo.com afb1f4b279 ward against spawning multiple LLU's during normal/wrested base capture 2021-05-18 13:59:50 -04:00
Fate-JH 928e7fdf9e
Driverless Vehicles (#814)
* zone load accommodation for vehicles without 'drivers' expressed in the OCM packet

* assurance
2021-05-10 23:48:50 -04:00
Fate-JH 010b1c5845
Better Respawn (#810)
* biolab spawn benefit should now be active; spawn point integrity at point of player avatar creation, or else try again

* streamlined the process of determining whether a facility possesses individual benefits; warp gates do not have benefits

* fix for mounted turret persistance
2021-05-09 07:17:49 -04:00
Fate-JH 262b7d2ec6
Forget How to Wear Clothes (#806)
* in forgetting an exo-suit certification, one must not be wearing that type of exo-suit afterwards

* making the conditional more straightforward

* fixed issue with purchase times; can now share max purchase cooldowns
2021-05-06 07:31:40 -04:00
Fate-JH cbb48d1442
Repair Value Arpeggio (#807)
* repair capability is now reflected based on progression in the engineering certification tree; uses correct values and modifiers

* 12 works better than 12.5

* fixed tests
2021-05-06 07:31:05 -04:00
Fate-JH 7fca0a5582
Vehicle Spawn Pad QoL (#802)
* preparation for redefining the checks involved in spawning a vehicle from a spawn pad

* pass the terminal from which a vehicle order was issued to be used in validation tests; implemented validation tests to ensure delayed orders remain valid until being executed; various messages about orders that have failed validation, as well as order changes and queue changes

* local zoning field on player for use in statusing and message composition

* expiration of a vehicle order for a given reason; linking of messages for expiration of vehicle order queue; death on an active vehicle pad (during rail operation)

* players that die to spawning vehicles can blame that vehicle's future driver; the calculations for server-side damage are heavily modified

* definitions for vehicle spawn pad kill box, used during vehicle generation to eliminate targets on the spawn pad, per kind of vehicle spawn pad

* reusing common order validation test for some stages of the vehicle order fulfillment process

* adjusts when the vehicle thinks it is mounted to the spawn pad; vehicle wreckage should be cleaned up quicker

* cancelling the active order
2021-05-05 10:13:57 -04:00
Fate-JH 9c0a3754d4
Load Vehicle (#797)
* vehicle will not try to introduce itself to zone if already in zone; vehicle spawn pad construction uses generic messages rather than class-specific ones

* better seat locking while server controlled

* copious amounts of ant deployment check-ery
2021-04-29 09:38:51 -04:00
Jason_DiDonato@yahoo.com 6e2a4ac97d spawn tubes are now susceptible to damage attempted upon their spawn tube doors 2021-04-27 18:08:28 -04:00
Fate-JH 4d19ddc24a
Inside the Generator Room #2 (#798)
* custom function to calculate explosion-susceptibility due to being in the generator room at the wrong time; updated the log message for laze pointer

* ensuring that all targets are within the damage radius

* due to floating point error, checking the dot product instead of equivalence of the vector projection
2021-04-26 20:31:22 -04:00
NickPSF b4cfeb3322
Update GlobalDefinitions.scala 2021-04-25 18:57:04 -05:00
NickPSF d1e9361687
Corrected/Removed some temporary values 2021-04-25 16:02:47 -05:00