* adding chat and event messages that have been neglected since; these are easy additions
* completely retooled water interactions for players and vehicles to handle a wading status, before drowning; when player with llu or vehicle with player with llu come into contact with water in this wading state, the llu is lost and the facility hack ends; adding messages to support this and differentiate from an llu facility capture timeout
* periodic message while the llu is active, whether or not there is a carrier, until the hack is finished
* message when inventory is full (assumes player inventory destination, but item winds up in hand due to lack of space, but it works)
* when changing exo-suits, complain if equipment has to be deleted; dropped equipment is limited to special equipment; report a player pointlessly
* announce ams decay to players who have just spawned on an ams, when they spawn on that ams, and for the last round of spawnees when the vehicle finally deconstructs; due to use of the word 'bound' this may be an incorrect application, but matrixing doesn't work anyway
* deconstruction message for would-be driver when vehicle is abandoned on spawn pad; tempo on message delivery is different than usual
* message when player is kicked from orbital shuttle gantry; message when player attempts to bail in a warp gate; message when player attempts to bail from a droppod; stop player from succeeding in bailing from a droppod
* vehicle pad deconstruction complete message; message when nc max shield deactivates when out of capacitor power or when max opens fire; message when ams can not deploy because it is blocked by other entities; message when facility capture requires ntu
* message for deployables being blocked; cleaning up dev test section
* Yellow Ownership (#1226)
* just some tinkering and clean-up
* converted DeployItem from AvatarService to LocalService; attempt at resolving missing overwhip yellow ring is complicated; vehicle ownership packet wqorks on deployables that are mountable, but is less successful on normal simple deployables
* restoration of yellow ring of ownership around deployables; changes to variant of CommonFieldData transcorder used on certain deployable transcoders; static values are assigned parameter names and public variables are given types for completion
* initial packet for GenericObjectAction2Message and tests; repaired transcoders and tests for TRAP and small turrets
* force redraw of the whole boomer to assert reassignment of ownership; it's heavy-handed but it works
* deployable ownership should be asserted during both re-zoning and revival; refactoring of code in ZoningOperations
* message when inventory is full (assumes player inventory destination, but item winds up in hand due to lack of space, but it works)
* vehicle deployment messages added in, then deployment was fixed to accommodate an explicit caller, and that changed a whole lot of the deployment loop for messages; environmental activity was modified to maointain a more responsible start/stop transition; many many test changes (still an issue with a lot of them)
* moving around conditions for losing the llu
* the question of one extra bit for small deployables; also, all tests pass successfully, tho resource silo use remains coin flip; what sorcery is this
* duplicate capture lost message eliminated; flag lost violently due to environment in general rather than just water interaction; flag lost violently due to warp gate envelope interaction; flag lost due to be dropped in an unsafe position
* vary the testing depth for water interaction
* darn tests
* fixed vehicle interference; added missing ArmorShieldOff message; clearing countdown after vehicle spawn should stop countdown from appearing in subsequent vehicle spawns
* the router needs 20m of clearance
* removing the shared group interference information from routers
* correctly clear the hack state of terminals when unpowered; turrets will no longer act like they have AI control if jammed when mounted; restore passive implants
* reload opened and closed doors upon zoning changes; rework ntu silo and ant interaction start; clear hack on proximity terminals; facility turrets stop indicating towards jamming cause when mounted
* radiator is turned off due to potential for server crashes; cerebus -> cerberus; turret kills name owner only when they are in the same zone; fewer chances for turrets to fire when they should not
* incorporating structural changes to hacking for future expansion
* an attempt at fixing tests was made
* fixed about half of the unworking tests, and commented out one
* stubborn tests that pass on their own but don't tend to pass in clusters; also, a certain test that terminates an actor when a mostly unrelated entity has its propertries changed from default, just weird
* reviewing logic and operations pairs to ensure that functionality should have been retained from parent structure; moving handling case from individual player modes to session actor, which makes it much closer to the pattern
* while it's still a dice roll, all tests currently implemented are capable of passing
* deployable vehicles should properly deploy again now that they don't have to fight with themselves for the ability to deploy
* boomers are no longer owned if the trigger is dropped (how long has this been not working?)
* redid DamageFeedbackMessage packet because I thought I could use it for something; didn't use it for anything; boomers are no longer responsive to explosive sympathy
* redid combat engineering explosive logic
* redid (cleaned-up) implant logic
* implant initialization timers now saved to the database; uninitialized implants will appear as uninitialized when the character loads; passive initialized implants will always start as activate
* renaming methods; progress bar calculations change
* accounting for implants that are in the act of being initialized
importing controlled implementation changes from original exp-for-kda branch; code for contributions from prior activity, but will be adjusting to new contribution methods
kill contributions should work; even if they don't, need to put this away for now
extensivwe changes to the way OwnableByPlayer manages owner user information due to uniqueness, that changes a lot of vehicle and deployable code; fleshing out experience calculation procedure for future testing
events for mounting and dismounting of both passenger and cargo; id'ing the installation of an amenity (vehicle or facility); separation of kill/assist experience and support experience calculations; retention of kill record which allows for the calculation of menace
support experience accumulates and is given to the user in gradual provisions
rewarding facility capture through cep; not fully tested yet; math sucks
sort of cep to bep consditions for squad facility capture; bep deposit for ntu silo activity
early reivision for v010; recording ongoing shots fired and landed
restored bep from ntu deposits into resource silos; updating statistics in the database regarding kills and related stats including weapons; updated history management; basic experience calculation changes
all rewarded support events are accounted for
command experience calculations upon facility capture or resecure
corrected database migrations
most of the code for the play or progress system
statistics window updates for exosuits to report kills; killing an llu runner gives cep; moving play or progress functionality to a bang command rather than piggybacking setbr; bep is no longer too high by error
* new paradigm for character creation detection of old characters by name; vehicle channel when seated in vehicle (ant); second wind activates as long as non-fatal damage n>=25; coordinated sequence of deployables whose UI is being updated
* the max timer will assert itself through death and respawn
* in theory, the tests are fixed; that may change from execution to execution, as is usual
* adjusted how the mechanized exo-suit timer asserts itself when in conjunction with prior exo-suit purchase orders
* players in seats have their mounted information shortened in a more straightforward, less fault-prone way; stamina recharge command shortened
* fixed vehicles not loading when player has no GUID; deactivated squad features (may cause trouble for the Router, but we'll manage); removed lingering, unnecessary radiation tick
* even if the player seems to be standing completely still, send an update packet once in a while (1500ms)
* removing an active router will always clean up an active router telepad with which it is paired
* better timing for refresh of the character select screen; potential to stop moving vehicles from anothers's perspectives
* block mounting while vehicle in motion, or in control; if ejected early, end control early
* block mounting while vehicle in motion, or in control (2)
* extensive modifications to source entry shorthand
* moving 11 files changes 55 other files
* added score card classes; upgraded packet classes
* I decided to import over everything
* proliferation of in-game activity messages, especially for spawning activity; removed defaults for activities; fixed (most?) building tests
* upkeep on the LLU's managing service, as well as the facility hack management service, in response to a potential bug
* a facility that changes faction affiliation while it is the destination of an LLU delivery will cancel that LLU delivery
* fixed crash due to boomer trigger overriding position of ace, without the ace being properly cleaned up on the client of the bomber; fixed issue with the boomer trigger going missing
* flipped the first two FDU deployable settings so they match the correct fire modes; corrected a stack overflow situation with the sourcing entities
* action, but no response
* condensed parameters on avatar class
* as always, fixing tests
* quickly, loose ends tied
* 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
* 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
* 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?
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
* created base damage interaction classes and replaced various projectile-based damage that utilized ResolvedProjectile; not refined, maintains redundancy and overloads, but should work
* continuing to reduce the exposure of ResolvedProjectile and replacing it with applications of DamageInteraction, DamageResult, and DamageReason
* removed ResolvedProjectile from the project; adjusted remaining code paths to work around it
* vitals.test became vital.base; no one liked this
* lots of inheritance, polymorphism, and other chicanery; moved around files, so it also looks like more files have changed when they have not (even if they did)
* codecov file correction
* master rebase; vital directory structure changed, so file imports have been modified in several other files; ResolutionSelection has been removed, requiring direct function literal assignment; tests repaired, where necessary; no actual functional change
* code comments
* DamageResult is its own case class now, wrapping around a before/after target and the interaction used in its calaculations; tests have been corrected
* adjusted Player.Die() to demonstrate a damage-based suicide approach
* resolved circular inheritance in projectile damage modifiers; better employed explosion reason, damages players around exploding vehicle as example
* expanded explosions to other object types; exploding is now a flag and the damage is an innate property of the object type; removed advanced references to properties on the damage source, since the damage source is easily accessible; wrote comments; fixed tests
* overhaul to painbox damage to align with normal player damage handling, thus assimilating it properly into the damage system
* future development; normal vector from euler angles; custom proximity test
* where 'innateDamage' should have not replaced 'explosion'
* moved the hitPos for the generator test; attempting to imrpove the reliability of the auto-repair integration tests (didn't ...)
* spelling and private val
* object registration adjustments for players and avatars and lockers (especially lockers)
* refactored locker container
* modifications to fields and method names for guid-related files; SpecificNumberSource created
* locker item display; proper item insertion into locker-space and searchability of that locker-space
* proper item removal from locker-space, including swap-items on other insertion tasks
* comments and tests; adjusted avatar/player registrations; allowed for restriction in the SpecificNumberSource; renamed CataloguedInventory to LocallyRegisteredInventory, and made internal object registration work
* accommodations for RequestDestroy, to allow the locker's Clear button to work; modification of expectation for resolving projectiles through ValidObject