new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
// Copyright (c) 2017 PSForever
|
|
|
|
|
package net.psforever.objects
|
|
|
|
|
|
2025-06-23 17:10:48 +00:00
|
|
|
import net.psforever.objects.avatar.interaction.{TriggerOnPlayerRule, WithEntrance, WithGantry, WithLava, WithWater}
|
2021-05-05 14:13:57 +00:00
|
|
|
import net.psforever.objects.avatar.{Avatar, LoadoutManager, SpecialCarry}
|
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 14:57:51 +00:00
|
|
|
import net.psforever.objects.ballistics.InteractWithRadiationClouds
|
Turret Automation (#1166)
* zone interaction for turret discovery, players only so far; minor field value change for small turret data; automated turret target recognition; grammatical and linter fixes
* initial AIDamage packet and tests; wrote handling code for the AIDamage packet that transforms it into actionable projectile damage
* thoroughly reorganized code in behavior; added code for turret-specific interactions for deployable construction, deployable destruction, jamming, and for weaponfire retribution; killing is currently disable for testing turnaround
* introduced definition properties to configure auto fire; interspersed properties into relevant files; non-squared velocity check for isMoving
* separated overworld facility turrets from cavern facility turrets, called vanu sentry turrets; tightened functionality inheritance between turret deployables and facility turrets; corrected issue where recharging vehicle weapons didn't work
* adjust mounting code to betterhandle automation with the facility turrets; basic operation of automation has also been changed, adding a variety of ranges to test against, and cylindrical distance checks
* attempted cleanup of previous test fire condition; division of turret callbacks between generic targets and vehicle targets; facility turret stops automatic fire when being mounted and resumes automatic mode when being dismounted
* self-reported firing mode for targets that go stationary and then use a 'clever trick' to avoid taking damage while in full exposure to the automated turret; documentation on the automated turret operations (it needs it!)
* making specific target validation conditions for different auto turrets, also target blanking, and clarification of how the self-reporting mode cleansup after itself; wrote function documentation to make it all make sense (it doesn't)
* secondary queue that keeps track of the previous test shot subjects when none have been tested, allowing for a packet to be skipped during subsequent test shots
* reactivating turret deployable destruction; clarifying the validation and clearing conditions for different kinds of auto turrets; extending self-reporting auto turret behavior to other auto-turrets
* overhaul of the auto turret target selection process; conditions for MAX detection; rewired self-reporting to address the its issue a bit more specifically; ATDispatch is no longer useless as differences between facility turrets and deployable turrets have been identified, shifting the method to implementing and overriding in subclass control agencies
* turret detection methods accounting for specific targets and considerations such as silent running; various turret interactions with other turrets and radiation clouds; proper management of retaliation and jamming; facility turrets have play in the lifecycle in the power structure and capture mechanics of the facility
* uniqueness can be generated without having to having to go through source entries; made certain turret upgrading cooperates with turret automation; other targets for turret misaimed aggression; turrets sychronize better on zone load; target validation and blankinghas changed again
* starting the target validation timer when dealing with retaliation if it should come from beyond the maximum detection range
* stop assuming mountable turrets have places to mount; AMS and AEGIS blocking detection of vehicles; deployable sensors and small robotics turrets are allergic to vehicles
* AEGIS and AMS cloak bubbles more proactive
2024-03-03 04:16:10 +00:00
|
|
|
import net.psforever.objects.ce.{Deployable, InteractWithMines, InteractWithTurrets}
|
Damage Changes/Explosions (#644)
* 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
2020-12-08 19:32:42 +00:00
|
|
|
import net.psforever.objects.definition.{AvatarDefinition, ExoSuitDefinition, SpecialExoSuitDefinition}
|
2019-12-20 05:47:22 +00:00
|
|
|
import net.psforever.objects.equipment.{Equipment, EquipmentSize, EquipmentSlot, JammableUnit}
|
2017-12-11 23:17:05 +00:00
|
|
|
import net.psforever.objects.inventory.{Container, GridInventory, InventoryItem}
|
2024-03-03 04:43:53 +00:00
|
|
|
import net.psforever.objects.serverobject.{PlanetSideServerObject, environment}
|
2018-01-26 20:32:08 +00:00
|
|
|
import net.psforever.objects.serverobject.affinity.FactionAffinity
|
2020-08-13 00:59:13 +00:00
|
|
|
import net.psforever.objects.serverobject.aura.AuraContainer
|
2024-03-03 04:43:53 +00:00
|
|
|
import net.psforever.objects.serverobject.environment.interaction.common.{WithDeath, WithMovementTrigger}
|
2024-03-29 04:33:38 +00:00
|
|
|
import net.psforever.objects.serverobject.interior.InteriorAwareFromInteraction
|
2021-10-05 13:59:49 +00:00
|
|
|
import net.psforever.objects.serverobject.mount.MountableEntity
|
Damages (#225)
* refactored WSA code handling HitMessage, handling SplashMessage, and handling LashMessage; modified projectiles for future functionality
* players can die from being shot now; the damage model is simplistic since main goal was to write around the potential for negative damage ('healed from getting shot'); HitHint works correctly; dedicated AvatarService channel for each avatar helps reduce message spam
* vehicle destruction, and replacement with lightweight wreckage objects upon continent join; made flushing vehicle terminal more accessible
* simple work on vehicle shield charging (amp station benefit) (that's my commit story and I'm sticking with it)
* a flexible calculation workflow that can be applied, grabbing damage information, resistance information, and then combining it with a resolution function; players and vehicles have resistance values; removed redundant damage calculations from WSA
* broke up DamageCalculations, ResistanceCalculations, and ResolutionCalculations into packages under vital; fixed an error with exo-suit calculation resistances; events for dealing with synchronized player and vehicle damage calculations and building the papertrail of those damages; updating codecov.yml file for ignore classes
* added tests for various components (damage model, destroyed vehicle converter, vitality, etc..) and some functionality improvements
* added a field to keep track of how projectiles will be attributed at the time of target death
2018-07-30 13:28:45 +00:00
|
|
|
import net.psforever.objects.vital.resistance.ResistanceProfile
|
2023-03-26 03:29:03 +00:00
|
|
|
import net.psforever.objects.vital.{HealFromEquipment, InGameActivity, RepairFromEquipment, Vitality}
|
2022-10-24 22:16:08 +00:00
|
|
|
import net.psforever.objects.vital.damage.DamageProfile
|
Damage Changes/Explosions (#644)
* 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
2020-12-08 19:32:42 +00:00
|
|
|
import net.psforever.objects.vital.interaction.DamageInteraction
|
|
|
|
|
import net.psforever.objects.vital.resolution.DamageResistanceModel
|
2024-05-11 02:30:20 +00:00
|
|
|
import net.psforever.objects.zones.blockmap.BlockMapEntity
|
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-12 03:02:48 +00:00
|
|
|
import net.psforever.objects.zones.{InteractsWithZone, ZoneAware, Zoning}
|
2024-03-03 04:43:53 +00:00
|
|
|
import net.psforever.types._
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
|
|
|
|
import scala.annotation.tailrec
|
2017-12-11 23:17:05 +00:00
|
|
|
import scala.util.{Success, Try}
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
class Player(var avatar: Avatar)
|
2020-07-14 03:54:05 +00:00
|
|
|
extends PlanetSideServerObject
|
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-12 03:02:48 +00:00
|
|
|
with BlockMapEntity
|
|
|
|
|
with InteractsWithZone
|
2020-07-14 03:54:05 +00:00
|
|
|
with FactionAffinity
|
|
|
|
|
with Vitality
|
|
|
|
|
with ResistanceProfile
|
|
|
|
|
with Container
|
|
|
|
|
with JammableUnit
|
2020-08-08 03:32:09 +00:00
|
|
|
with ZoneAware
|
2024-03-29 04:33:38 +00:00
|
|
|
with InteriorAwareFromInteraction
|
2021-10-05 13:59:49 +00:00
|
|
|
with AuraContainer
|
|
|
|
|
with MountableEntity {
|
2024-03-03 04:43:53 +00:00
|
|
|
interaction(environment.interaction.InteractWithEnvironment(Seq(
|
2024-03-29 04:33:38 +00:00
|
|
|
new WithEntrance(),
|
2024-03-03 04:43:53 +00:00
|
|
|
new WithWater(avatar.name),
|
|
|
|
|
new WithLava(),
|
|
|
|
|
new WithDeath(),
|
|
|
|
|
new WithGantry(avatar.name),
|
|
|
|
|
new WithMovementTrigger()
|
|
|
|
|
)))
|
2025-06-23 17:10:48 +00:00
|
|
|
interaction(new InteractWithMines(range = 10, TriggerOnPlayerRule))
|
Turret Automation (#1166)
* zone interaction for turret discovery, players only so far; minor field value change for small turret data; automated turret target recognition; grammatical and linter fixes
* initial AIDamage packet and tests; wrote handling code for the AIDamage packet that transforms it into actionable projectile damage
* thoroughly reorganized code in behavior; added code for turret-specific interactions for deployable construction, deployable destruction, jamming, and for weaponfire retribution; killing is currently disable for testing turnaround
* introduced definition properties to configure auto fire; interspersed properties into relevant files; non-squared velocity check for isMoving
* separated overworld facility turrets from cavern facility turrets, called vanu sentry turrets; tightened functionality inheritance between turret deployables and facility turrets; corrected issue where recharging vehicle weapons didn't work
* adjust mounting code to betterhandle automation with the facility turrets; basic operation of automation has also been changed, adding a variety of ranges to test against, and cylindrical distance checks
* attempted cleanup of previous test fire condition; division of turret callbacks between generic targets and vehicle targets; facility turret stops automatic fire when being mounted and resumes automatic mode when being dismounted
* self-reported firing mode for targets that go stationary and then use a 'clever trick' to avoid taking damage while in full exposure to the automated turret; documentation on the automated turret operations (it needs it!)
* making specific target validation conditions for different auto turrets, also target blanking, and clarification of how the self-reporting mode cleansup after itself; wrote function documentation to make it all make sense (it doesn't)
* secondary queue that keeps track of the previous test shot subjects when none have been tested, allowing for a packet to be skipped during subsequent test shots
* reactivating turret deployable destruction; clarifying the validation and clearing conditions for different kinds of auto turrets; extending self-reporting auto turret behavior to other auto-turrets
* overhaul of the auto turret target selection process; conditions for MAX detection; rewired self-reporting to address the its issue a bit more specifically; ATDispatch is no longer useless as differences between facility turrets and deployable turrets have been identified, shifting the method to implementing and overriding in subclass control agencies
* turret detection methods accounting for specific targets and considerations such as silent running; various turret interactions with other turrets and radiation clouds; proper management of retaliation and jamming; facility turrets have play in the lifecycle in the power structure and capture mechanics of the facility
* uniqueness can be generated without having to having to go through source entries; made certain turret upgrading cooperates with turret automation; other targets for turret misaimed aggression; turrets sychronize better on zone load; target validation and blankinghas changed again
* starting the target validation timer when dealing with retaliation if it should come from beyond the maximum detection range
* stop assuming mountable turrets have places to mount; AMS and AEGIS blocking detection of vehicles; deployable sensors and small robotics turrets are allergic to vehicles
* AEGIS and AMS cloak bubbles more proactive
2024-03-03 04:16:10 +00:00
|
|
|
interaction(new InteractWithTurrets())
|
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 14:57:51 +00:00
|
|
|
interaction(new InteractWithRadiationClouds(range = 10f, Some(this)))
|
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-12 03:02:48 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private var backpack: Boolean = false
|
2021-05-05 14:13:57 +00:00
|
|
|
private var released: Boolean = false
|
2020-07-14 03:54:05 +00:00
|
|
|
private var armor: Int = 0
|
|
|
|
|
|
|
|
|
|
private var capacitor: Float = 0f
|
|
|
|
|
private var capacitorState: CapacitorStateType.Value = CapacitorStateType.Idle
|
|
|
|
|
private var capacitorLastUsedMillis: Long = 0
|
|
|
|
|
private var capacitorLastChargedMillis: Long = 0
|
|
|
|
|
|
|
|
|
|
private var exosuit: ExoSuitDefinition = GlobalDefinitions.Standard
|
|
|
|
|
private val freeHand: EquipmentSlot = new OffhandEquipmentSlot(EquipmentSize.Inventory)
|
|
|
|
|
private val holsters: Array[EquipmentSlot] = Array.fill[EquipmentSlot](5)(new EquipmentSlot)
|
|
|
|
|
private val inventory: GridInventory = GridInventory()
|
|
|
|
|
private var drawnSlot: Int = Player.HandsDownSlot
|
|
|
|
|
private var lastDrawnSlot: Int = Player.HandsDownSlot
|
|
|
|
|
private var backpackAccess: Option[PlanetSideGUID] = None
|
2021-05-05 14:13:57 +00:00
|
|
|
private var carrying: Option[SpecialCarry] = None
|
2020-07-14 03:54:05 +00:00
|
|
|
|
2021-05-05 14:13:57 +00:00
|
|
|
private var facingYawUpper: Float = 0f
|
|
|
|
|
private var crouching: Boolean = false
|
|
|
|
|
private var jumping: Boolean = false
|
|
|
|
|
private var cloaked: Boolean = false
|
|
|
|
|
private var afk: Boolean = false
|
2022-10-11 15:16:12 +00:00
|
|
|
private var zoning: Zoning.Method = Zoning.Method.None
|
2020-07-14 03:54:05 +00:00
|
|
|
|
|
|
|
|
private var vehicleSeated: Option[PlanetSideGUID] = None
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2019-12-12 05:52:33 +00:00
|
|
|
Continent = "home2" //the zone id
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
var spectator: Boolean = false
|
Customer Service (#1247)
* initial workings for a csr/gm player mode
* weird line removal after merge
* too many changes and refactors, but the code compiles properly; need to push these to the repo and sort out issues with it all later; hopefully, nothing has changed except for the csr stuff
* extensive changes to mode logic for refactoring and functionality improvements, especially for accommodating csr spectator mode
* csr's may now see players who are spectating, including csr's who are spectating, including a wide variety of their behavior such as location, weapon management, etc.; removes zoning cancel messages as a required log from certain use item actions
* corrected various issues identified in the comments of PR#1247
* restored killed->autorevive functionality; removed last traces of old door code from general operations
* knife stab corrected; spitfire turret corrected; blockmap interactivity using zone interaction allowance flag; visibility during resurgence code for csr; removing messages and experience gain for interactions with csr
* pruning imports and correcting the default spectator setting
* separated router/telepad activity from other vehicular activity, previously all considered a form of mounting/dismounting, and restored support experience rewards
* can not activate or deactive spectator of gm when dead; zoning while spectator removes spectator and defaults to sanctuary
* field turrets are neutral-neutral when constructed by a csr; custom bang command 'setempire' will adjust the faction affiliation of a variety of game objects
* fixed facility occupation recognition
* when transitioning between player modes, do not parse new messages about transitioning between player modes, until fully transitioned between player modes
2024-12-02 18:26:37 +00:00
|
|
|
var bops: Boolean = false
|
2020-07-14 03:54:05 +00:00
|
|
|
var silenced: Boolean = false
|
|
|
|
|
var death_by: Int = 0
|
|
|
|
|
var lastShotSeq_time: Int = -1
|
2025-08-29 01:06:19 +00:00
|
|
|
var outfit_name: String = ""
|
|
|
|
|
var outfit_id: Long = 0
|
2020-07-14 03:54:05 +00:00
|
|
|
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
/** From PlanetsideAttributeMessage */
|
2020-07-14 03:54:05 +00:00
|
|
|
var PlanetsideAttribute: Array[Long] = Array.ofDim(120)
|
2020-08-01 10:25:03 +00:00
|
|
|
|
|
|
|
|
val squadLoadouts = new LoadoutManager(10)
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
var resistArmMotion: (Player,Int)=>Boolean = Player.neverRestrict
|
|
|
|
|
|
Water and Lava (#649)
* planar classes to describe levels of water and other fluid parallel to the ground
* corrected purpose of field in OxygenStateMessage and adjusted the structure of the packet; the environment is now 'regions filled with stuff'; messaging pathways to facilitate drowning and drown recovery in SessionActor, WorldSession, and PlayerControl, as well as the avatar event system
* drowning height is now a featur - recommend going through GlobalDefinitions; fixed lava pool collision to work on pool entry rather than drown level; lava now burns; painbox damage now is directed towards players control agency first
* drowning timer works correctly for both player and vehicle targets; timing and dive depth information for targets defined, but currently originates from a generic location (ObjectDefinition); packet OSM has been modified for efficiency; classes for environment features previously exclusive to drowning mechanics have been pushed towards generic naming conventions
* added sea and pools for z4, z5, z8, and z10
* vehicles now take damage (to the point of destruction) when exposed to lava due the expansion of environmental damage reasons and environmental damage modifiers; modification of the environment exposure lingo; streamlining of vital activity record system
* added basic drown params to flying vehicle definitions; object trait and control mixin for environment interaction, code moved from SessionActor and WorldSession
* separated environmental classes; handled waterlogged flying vehicles, in properties and code; wrote comments and tests
* players mounting vehicles and players subjected to the vehicle transfer process should receive updated drown-state status of the vehicle; drowning should suspend while in the middle of vehicle transfer, in the case the process is long
* increased damage performed to vehicles by lava
2020-12-24 13:04:11 +00:00
|
|
|
//init
|
|
|
|
|
Health = 0 //player health is artificially managed as a part of their lifecycle; start entity as dead
|
|
|
|
|
Destroyed = true //see isAlive
|
2018-05-19 19:13:36 +00:00
|
|
|
Player.SuitSetup(this, exosuit)
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
def Definition: AvatarDefinition = avatar.definition
|
2019-06-18 18:43:26 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
def CharId: Long = avatar.id
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
def Name: String = avatar.name
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
def Faction: PlanetSideEmpire.Value = avatar.faction
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2021-03-21 18:22:00 +00:00
|
|
|
def Sex: CharacterSex = avatar.sex
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
def Head: Int = avatar.head
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
def Voice: CharacterVoice.Value = avatar.voice
|
2019-08-21 03:03:04 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def isAlive: Boolean = !Destroyed
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def isBackpack: Boolean = backpack
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
def Spawn(): Boolean = {
|
2020-07-14 03:54:05 +00:00
|
|
|
if (!isAlive && !isBackpack) {
|
Destroy and repair (#346)
* bog-standard order_terminal amenities now take damage up to the point of destruction and can be repaired from destruction to functional to the point of being fully repaired; this is mostly proof fo concept
* restored proper destruction to FacilityTurrets; extended proper rrepairs to FacilityTurrets; co-opted terminal hacking into TerminalControl; started to expand on hacking protocol, but chose restraint
* changes made thus that a clear Definition hierarchy is established; all of this is in line with making future changes to repair/destroy variables, and making generic the repair code
* all meaningful facility amenities take damage and can be repaired; spawn tubes can be destroyed and the base will properly lose spawns (and show it on the map); some hack logic has been redistributed into the appropriate control objects, following in the wake of repair/damage logic
* deployables are repairable; the TRAP has been converted into a ComplexDeployable; changed the nature of the Repairable traits
* player bank repair and medapp heal has been moved out from WSA into PlayerControl
* overhaul of Progress callback system and the inclusion of player revival as a Progress activity
* begun relocating functionality for hacking outside of WSA; set up behavoir mixin for cargo operations, in order to move vehicle hack function, but did not yet integrate
* integration of the actor behavior mixin for vehicle cargo operations to support the integration of vehicle hacking finalization
* establishing inheritance/override potential of Damageable activity; Generator and SpawnTube map behavior behavior (currently inactive)
* ImplantTerminalMech objects now have a 'with-coordinates' constructor and a deprecated 'no-coordinates' constructor; implants mechs and interfaces are now damageable and repairable, and their damage state can also block mounting
* generators are destroyed and repaired properly, and even explode, killing a radius-worth of players
* destroy and repair pass on deployables, except for explosive types
* Damageable pass; client synchronization pass
* helpful comments
* some tests for damageable and repairable; refined output and repaired existing tests
* enabled friendly fire check and recovery
* handled friendly fire against allied mines; moved jammer code to common damageable behavior
* tweaks to damageability, infantry heal and repair, and sensor and explosive animations
* animations; framework for future vitals events; closing database connections
* adding some deployable tests; fixing a bunch of other tests; History is back
* testing for basic Damageable functions; removing a log message
* finicky animation stuff
* event messages to the Generator to represent health changes
* damage against BFR's is now only used against mythical creatures
* test fix
2020-04-14 19:17:32 +00:00
|
|
|
Destroyed = false
|
|
|
|
|
Health = Definition.DefaultHealth
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
Armor = MaxArmor
|
2019-12-10 13:53:11 +00:00
|
|
|
Capacitor = 0
|
2023-03-26 03:29:03 +00:00
|
|
|
avatar.scorecard.respawn()
|
2021-05-05 14:13:57 +00:00
|
|
|
released = false
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
isAlive
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Die: Boolean = {
|
Destroy and repair (#346)
* bog-standard order_terminal amenities now take damage up to the point of destruction and can be repaired from destruction to functional to the point of being fully repaired; this is mostly proof fo concept
* restored proper destruction to FacilityTurrets; extended proper rrepairs to FacilityTurrets; co-opted terminal hacking into TerminalControl; started to expand on hacking protocol, but chose restraint
* changes made thus that a clear Definition hierarchy is established; all of this is in line with making future changes to repair/destroy variables, and making generic the repair code
* all meaningful facility amenities take damage and can be repaired; spawn tubes can be destroyed and the base will properly lose spawns (and show it on the map); some hack logic has been redistributed into the appropriate control objects, following in the wake of repair/damage logic
* deployables are repairable; the TRAP has been converted into a ComplexDeployable; changed the nature of the Repairable traits
* player bank repair and medapp heal has been moved out from WSA into PlayerControl
* overhaul of Progress callback system and the inclusion of player revival as a Progress activity
* begun relocating functionality for hacking outside of WSA; set up behavoir mixin for cargo operations, in order to move vehicle hack function, but did not yet integrate
* integration of the actor behavior mixin for vehicle cargo operations to support the integration of vehicle hacking finalization
* establishing inheritance/override potential of Damageable activity; Generator and SpawnTube map behavior behavior (currently inactive)
* ImplantTerminalMech objects now have a 'with-coordinates' constructor and a deprecated 'no-coordinates' constructor; implants mechs and interfaces are now damageable and repairable, and their damage state can also block mounting
* generators are destroyed and repaired properly, and even explode, killing a radius-worth of players
* destroy and repair pass on deployables, except for explosive types
* Damageable pass; client synchronization pass
* helpful comments
* some tests for damageable and repairable; refined output and repaired existing tests
* enabled friendly fire check and recovery
* handled friendly fire against allied mines; moved jammer code to common damageable behavior
* tweaks to damageability, infantry heal and repair, and sensor and explosive animations
* animations; framework for future vitals events; closing database connections
* adding some deployable tests; fixing a bunch of other tests; History is back
* testing for basic Damageable functions; removing a log message
* finicky animation stuff
* event messages to the Generator to represent health changes
* damage against BFR's is now only used against mythical creatures
* test fix
2020-04-14 19:17:32 +00:00
|
|
|
Destroyed = true
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
Health = 0
|
|
|
|
|
false
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Revive: Boolean = {
|
Destroy and repair (#346)
* bog-standard order_terminal amenities now take damage up to the point of destruction and can be repaired from destruction to functional to the point of being fully repaired; this is mostly proof fo concept
* restored proper destruction to FacilityTurrets; extended proper rrepairs to FacilityTurrets; co-opted terminal hacking into TerminalControl; started to expand on hacking protocol, but chose restraint
* changes made thus that a clear Definition hierarchy is established; all of this is in line with making future changes to repair/destroy variables, and making generic the repair code
* all meaningful facility amenities take damage and can be repaired; spawn tubes can be destroyed and the base will properly lose spawns (and show it on the map); some hack logic has been redistributed into the appropriate control objects, following in the wake of repair/damage logic
* deployables are repairable; the TRAP has been converted into a ComplexDeployable; changed the nature of the Repairable traits
* player bank repair and medapp heal has been moved out from WSA into PlayerControl
* overhaul of Progress callback system and the inclusion of player revival as a Progress activity
* begun relocating functionality for hacking outside of WSA; set up behavoir mixin for cargo operations, in order to move vehicle hack function, but did not yet integrate
* integration of the actor behavior mixin for vehicle cargo operations to support the integration of vehicle hacking finalization
* establishing inheritance/override potential of Damageable activity; Generator and SpawnTube map behavior behavior (currently inactive)
* ImplantTerminalMech objects now have a 'with-coordinates' constructor and a deprecated 'no-coordinates' constructor; implants mechs and interfaces are now damageable and repairable, and their damage state can also block mounting
* generators are destroyed and repaired properly, and even explode, killing a radius-worth of players
* destroy and repair pass on deployables, except for explosive types
* Damageable pass; client synchronization pass
* helpful comments
* some tests for damageable and repairable; refined output and repaired existing tests
* enabled friendly fire check and recovery
* handled friendly fire against allied mines; moved jammer code to common damageable behavior
* tweaks to damageability, infantry heal and repair, and sensor and explosive animations
* animations; framework for future vitals events; closing database connections
* adding some deployable tests; fixing a bunch of other tests; History is back
* testing for basic Damageable functions; removing a log message
* finicky animation stuff
* event messages to the Generator to represent health changes
* damage against BFR's is now only used against mythical creatures
* test fix
2020-04-14 19:17:32 +00:00
|
|
|
Destroyed = false
|
|
|
|
|
Health = Definition.DefaultHealth
|
2023-03-26 03:29:03 +00:00
|
|
|
avatar.scorecard.revive()
|
2021-05-05 14:13:57 +00:00
|
|
|
released = false
|
2019-10-31 02:43:40 +00:00
|
|
|
true
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Release: Boolean = {
|
2023-03-26 03:29:03 +00:00
|
|
|
if (!released) {
|
|
|
|
|
released = true
|
|
|
|
|
backpack = !isAlive
|
|
|
|
|
}
|
2021-05-05 14:13:57 +00:00
|
|
|
true
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
|
2021-05-05 14:13:57 +00:00
|
|
|
def isReleased: Boolean = released
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Armor: Int = armor
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Armor_=(assignArmor: Int): Int = {
|
2019-10-31 02:43:40 +00:00
|
|
|
armor = math.min(math.max(0, assignArmor), MaxArmor)
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
Armor
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def MaxArmor: Int = exosuit.MaxArmor
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Capacitor: Float = capacitor
|
2019-12-10 13:53:11 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Capacitor_=(value: Float): Float = {
|
2020-05-26 23:50:54 +00:00
|
|
|
val newValue = math.min(math.max(0, value), ExoSuitDef.MaxCapacitor.toFloat)
|
2019-12-10 13:53:11 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
if (newValue < capacitor) {
|
2019-12-10 13:53:11 +00:00
|
|
|
capacitorLastUsedMillis = System.currentTimeMillis()
|
|
|
|
|
capacitorLastChargedMillis = 0
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (newValue > capacitor && newValue < ExoSuitDef.MaxCapacitor) {
|
2019-12-10 13:53:11 +00:00
|
|
|
capacitorLastChargedMillis = System.currentTimeMillis()
|
|
|
|
|
capacitorLastUsedMillis = 0
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (newValue > capacitor && newValue == ExoSuitDef.MaxCapacitor) {
|
2019-12-10 13:53:11 +00:00
|
|
|
capacitorLastChargedMillis = 0
|
|
|
|
|
capacitorLastUsedMillis = 0
|
|
|
|
|
capacitorState = CapacitorStateType.Idle
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
capacitor = newValue
|
|
|
|
|
capacitor
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def CapacitorState: CapacitorStateType.Value = capacitorState
|
|
|
|
|
def CapacitorState_=(value: CapacitorStateType.Value): CapacitorStateType.Value = {
|
2019-12-10 13:53:11 +00:00
|
|
|
value match {
|
2020-07-14 03:54:05 +00:00
|
|
|
case CapacitorStateType.Charging => capacitorLastChargedMillis = System.currentTimeMillis()
|
2019-12-10 13:53:11 +00:00
|
|
|
case CapacitorStateType.Discharging => capacitorLastUsedMillis = System.currentTimeMillis()
|
2020-07-14 03:54:05 +00:00
|
|
|
case _ => ;
|
2019-12-10 13:53:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
capacitorState = value
|
|
|
|
|
capacitorState
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def CapacitorLastUsedMillis: Long = capacitorLastUsedMillis
|
|
|
|
|
def CapacitorLastChargedMillis: Long = capacitorLastChargedMillis
|
2019-12-10 13:53:11 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def VisibleSlots: Set[Int] =
|
|
|
|
|
if (exosuit.SuitType == ExoSuitType.MAX) {
|
|
|
|
|
Set(0)
|
|
|
|
|
} else {
|
|
|
|
|
(0 to 4).filterNot(index => holsters(index).Size == EquipmentSize.Blocked).toSet
|
|
|
|
|
}
|
2017-12-11 23:17:05 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
override def Slot(slot: Int): EquipmentSlot = {
|
|
|
|
|
if (inventory.Offset <= slot && slot <= inventory.LastIndex) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
inventory.Slot(slot)
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (slot > -1 && slot < 5) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
holsters(slot)
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (slot == 5) {
|
2020-08-01 10:25:03 +00:00
|
|
|
avatar.fifthSlot()
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (slot == Player.FreeHandSlot) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
freeHand
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2017-12-11 23:17:05 +00:00
|
|
|
OffhandEquipmentSlot.BlockedSlot
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Holsters(): Array[EquipmentSlot] = holsters
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-11-27 14:30:56 +00:00
|
|
|
/**
|
|
|
|
|
* Transform the holster equipment slots
|
|
|
|
|
* into a list of the kind of item wrapper found in an inventory.
|
|
|
|
|
* @see `GridInventory`
|
|
|
|
|
* @see `InventoryItem`
|
|
|
|
|
* @return a list of items that would be found in a proper inventory
|
|
|
|
|
*/
|
|
|
|
|
def HolsterItems(): List[InventoryItem] = holsters
|
|
|
|
|
.zipWithIndex
|
|
|
|
|
.collect {
|
2022-06-14 06:21:24 +00:00
|
|
|
case (slot: EquipmentSlot, index: Int) =>
|
|
|
|
|
slot.Equipment match {
|
|
|
|
|
case Some(item) => Some(InventoryItem(item, index))
|
|
|
|
|
case None => None
|
|
|
|
|
}
|
|
|
|
|
}.flatten.toList
|
2020-11-27 14:30:56 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Inventory: GridInventory = inventory
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
override def Fit(obj: Equipment): Option[Int] = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
recursiveHolsterFit(holsters.iterator, obj.Size) match {
|
|
|
|
|
case Some(index) =>
|
|
|
|
|
Some(index)
|
|
|
|
|
case None =>
|
|
|
|
|
inventory.Fit(obj.Definition.Tile) match {
|
|
|
|
|
case Some(index) =>
|
|
|
|
|
Some(index)
|
|
|
|
|
case None =>
|
2020-07-14 03:54:05 +00:00
|
|
|
if (freeHand.Equipment.isDefined) { None }
|
|
|
|
|
else { Some(Player.FreeHandSlot) }
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
@tailrec private def recursiveHolsterFit(
|
|
|
|
|
iter: Iterator[EquipmentSlot],
|
|
|
|
|
objSize: EquipmentSize.Value,
|
|
|
|
|
index: Int = 0
|
|
|
|
|
): Option[Int] = {
|
|
|
|
|
if (!iter.hasNext) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
None
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2020-08-01 10:25:03 +00:00
|
|
|
val slot = iter.next()
|
2020-07-14 03:54:05 +00:00
|
|
|
if (slot.Equipment.isEmpty && slot.Size.equals(objSize)) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
Some(index)
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
recursiveHolsterFit(iter, objSize, index + 1)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def FreeHand: EquipmentSlot = freeHand
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def FreeHand_=(item: Option[Equipment]): Option[Equipment] = {
|
|
|
|
|
if (freeHand.Equipment.isEmpty || item.isEmpty) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
freeHand.Equipment = item
|
|
|
|
|
}
|
|
|
|
|
FreeHand.Equipment
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
override def Find(guid: PlanetSideGUID): Option[Int] = {
|
2018-03-20 00:13:39 +00:00
|
|
|
findInHolsters(holsters.iterator, guid)
|
2018-05-09 15:50:20 +00:00
|
|
|
.orElse(inventory.Find(guid)) match {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
case Some(index) =>
|
|
|
|
|
Some(index)
|
|
|
|
|
case None =>
|
2020-07-14 03:54:05 +00:00
|
|
|
if (freeHand.Equipment.isDefined && freeHand.Equipment.get.GUID == guid) {
|
2018-03-20 00:13:39 +00:00
|
|
|
Some(Player.FreeHandSlot)
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2018-03-20 00:13:39 +00:00
|
|
|
None
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
@tailrec private def findInHolsters(
|
|
|
|
|
iter: Iterator[EquipmentSlot],
|
|
|
|
|
guid: PlanetSideGUID,
|
|
|
|
|
index: Int = 0
|
|
|
|
|
): Option[Int] = {
|
|
|
|
|
if (!iter.hasNext) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
None
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2020-08-01 10:25:03 +00:00
|
|
|
val slot = iter.next()
|
2021-08-03 23:56:15 +00:00
|
|
|
if (slot.Equipment match { case Some(o) => o.GUID == guid; case _ => false }) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
Some(index)
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
findInHolsters(iter, guid, index + 1)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
override def Collisions(dest: Int, width: Int, height: Int): Try[List[InventoryItem]] = {
|
|
|
|
|
if (-1 < dest && dest < 5) {
|
2017-12-11 23:17:05 +00:00
|
|
|
holsters(dest).Equipment match {
|
|
|
|
|
case Some(item) =>
|
|
|
|
|
Success(List(InventoryItem(item, dest)))
|
|
|
|
|
case None =>
|
|
|
|
|
Success(List())
|
|
|
|
|
}
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (dest == Player.FreeHandSlot) {
|
2017-12-11 23:17:05 +00:00
|
|
|
freeHand.Equipment match {
|
|
|
|
|
case Some(item) =>
|
|
|
|
|
Success(List(InventoryItem(item, dest)))
|
|
|
|
|
case None =>
|
|
|
|
|
Success(List())
|
|
|
|
|
}
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2017-12-11 23:17:05 +00:00
|
|
|
super.Collisions(dest, width, height)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def ResistArmMotion(func: (Player,Int)=>Boolean): Unit = {
|
|
|
|
|
resistArmMotion = func
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def TestArmMotion(): Boolean = {
|
|
|
|
|
resistArmMotion(this, drawnSlot)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def TestArmMotion(slot: Int): Boolean = {
|
|
|
|
|
resistArmMotion(this, slot)
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def DrawnSlot: Int = drawnSlot
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def DrawnSlot_=(slot: Int): Int = {
|
|
|
|
|
if (slot != drawnSlot) {
|
|
|
|
|
if (slot == Player.HandsDownSlot) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
drawnSlot = slot
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (VisibleSlots.contains(slot) && holsters(slot).Equipment.isDefined) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
drawnSlot = slot
|
2018-01-10 19:19:45 +00:00
|
|
|
lastDrawnSlot = slot
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
DrawnSlot
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def LastDrawnSlot: Int = lastDrawnSlot
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def ExoSuit: ExoSuitType.Value = exosuit.SuitType
|
|
|
|
|
def ExoSuitDef: ExoSuitDefinition = exosuit
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def ExoSuit_=(suit: ExoSuitType.Value): Unit = {
|
2019-12-10 13:53:11 +00:00
|
|
|
val eSuit = ExoSuitDefinition.Select(suit, Faction)
|
2018-05-19 19:13:36 +00:00
|
|
|
exosuit = eSuit
|
|
|
|
|
Player.SuitSetup(this, eSuit)
|
2018-05-18 19:33:39 +00:00
|
|
|
ChangeSpecialAbility()
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def Subtract: DamageProfile = exosuit.Subtract
|
2018-11-22 01:31:51 +00:00
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def ResistanceDirectHit: Int = exosuit.ResistanceDirectHit
|
Damages (#225)
* refactored WSA code handling HitMessage, handling SplashMessage, and handling LashMessage; modified projectiles for future functionality
* players can die from being shot now; the damage model is simplistic since main goal was to write around the potential for negative damage ('healed from getting shot'); HitHint works correctly; dedicated AvatarService channel for each avatar helps reduce message spam
* vehicle destruction, and replacement with lightweight wreckage objects upon continent join; made flushing vehicle terminal more accessible
* simple work on vehicle shield charging (amp station benefit) (that's my commit story and I'm sticking with it)
* a flexible calculation workflow that can be applied, grabbing damage information, resistance information, and then combining it with a resolution function; players and vehicles have resistance values; removed redundant damage calculations from WSA
* broke up DamageCalculations, ResistanceCalculations, and ResolutionCalculations into packages under vital; fixed an error with exo-suit calculation resistances; events for dealing with synchronized player and vehicle damage calculations and building the papertrail of those damages; updating codecov.yml file for ignore classes
* added tests for various components (damage model, destroyed vehicle converter, vitality, etc..) and some functionality improvements
* added a field to keep track of how projectiles will be attributed at the time of target death
2018-07-30 13:28:45 +00:00
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def ResistanceSplash: Int = exosuit.ResistanceSplash
|
Damages (#225)
* refactored WSA code handling HitMessage, handling SplashMessage, and handling LashMessage; modified projectiles for future functionality
* players can die from being shot now; the damage model is simplistic since main goal was to write around the potential for negative damage ('healed from getting shot'); HitHint works correctly; dedicated AvatarService channel for each avatar helps reduce message spam
* vehicle destruction, and replacement with lightweight wreckage objects upon continent join; made flushing vehicle terminal more accessible
* simple work on vehicle shield charging (amp station benefit) (that's my commit story and I'm sticking with it)
* a flexible calculation workflow that can be applied, grabbing damage information, resistance information, and then combining it with a resolution function; players and vehicles have resistance values; removed redundant damage calculations from WSA
* broke up DamageCalculations, ResistanceCalculations, and ResolutionCalculations into packages under vital; fixed an error with exo-suit calculation resistances; events for dealing with synchronized player and vehicle damage calculations and building the papertrail of those damages; updating codecov.yml file for ignore classes
* added tests for various components (damage model, destroyed vehicle converter, vitality, etc..) and some functionality improvements
* added a field to keep track of how projectiles will be attributed at the time of target death
2018-07-30 13:28:45 +00:00
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def ResistanceAggravated: Int = exosuit.ResistanceAggravated
|
Damages (#225)
* refactored WSA code handling HitMessage, handling SplashMessage, and handling LashMessage; modified projectiles for future functionality
* players can die from being shot now; the damage model is simplistic since main goal was to write around the potential for negative damage ('healed from getting shot'); HitHint works correctly; dedicated AvatarService channel for each avatar helps reduce message spam
* vehicle destruction, and replacement with lightweight wreckage objects upon continent join; made flushing vehicle terminal more accessible
* simple work on vehicle shield charging (amp station benefit) (that's my commit story and I'm sticking with it)
* a flexible calculation workflow that can be applied, grabbing damage information, resistance information, and then combining it with a resolution function; players and vehicles have resistance values; removed redundant damage calculations from WSA
* broke up DamageCalculations, ResistanceCalculations, and ResolutionCalculations into packages under vital; fixed an error with exo-suit calculation resistances; events for dealing with synchronized player and vehicle damage calculations and building the papertrail of those damages; updating codecov.yml file for ignore classes
* added tests for various components (damage model, destroyed vehicle converter, vitality, etc..) and some functionality improvements
* added a field to keep track of how projectiles will be attributed at the time of target death
2018-07-30 13:28:45 +00:00
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def RadiationShielding: Float = exosuit.RadiationShielding
|
Damages (#225)
* refactored WSA code handling HitMessage, handling SplashMessage, and handling LashMessage; modified projectiles for future functionality
* players can die from being shot now; the damage model is simplistic since main goal was to write around the potential for negative damage ('healed from getting shot'); HitHint works correctly; dedicated AvatarService channel for each avatar helps reduce message spam
* vehicle destruction, and replacement with lightweight wreckage objects upon continent join; made flushing vehicle terminal more accessible
* simple work on vehicle shield charging (amp station benefit) (that's my commit story and I'm sticking with it)
* a flexible calculation workflow that can be applied, grabbing damage information, resistance information, and then combining it with a resolution function; players and vehicles have resistance values; removed redundant damage calculations from WSA
* broke up DamageCalculations, ResistanceCalculations, and ResolutionCalculations into packages under vital; fixed an error with exo-suit calculation resistances; events for dealing with synchronized player and vehicle damage calculations and building the papertrail of those damages; updating codecov.yml file for ignore classes
* added tests for various components (damage model, destroyed vehicle converter, vitality, etc..) and some functionality improvements
* added a field to keep track of how projectiles will be attributed at the time of target death
2018-07-30 13:28:45 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def FacingYawUpper: Float = facingYawUpper
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def FacingYawUpper_=(facing: Float): Float = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
facingYawUpper = facing
|
|
|
|
|
FacingYawUpper
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Crouching: Boolean = crouching
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Crouching_=(crouched: Boolean): Boolean = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
crouching = crouched
|
|
|
|
|
Crouching
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Jumping: Boolean = jumping
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Jumping_=(jumped: Boolean): Boolean = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
jumping = jumped
|
|
|
|
|
Jumping
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Cloaked: Boolean = cloaked
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Cloaked_=(isCloaked: Boolean): Boolean = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
cloaked = isCloaked
|
|
|
|
|
Cloaked
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def AwayFromKeyboard: Boolean = afk
|
2020-05-30 16:02:46 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def AwayFromKeyboard_=(away: Boolean): Boolean = {
|
2020-05-30 16:02:46 +00:00
|
|
|
afk = away
|
|
|
|
|
AwayFromKeyboard
|
|
|
|
|
}
|
2020-07-14 21:52:19 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private var usingSpecial: SpecialExoSuitDefinition.Mode.Value => SpecialExoSuitDefinition.Mode.Value =
|
|
|
|
|
DefaultUsingSpecial
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private var gettingSpecial: () => SpecialExoSuitDefinition.Mode.Value = DefaultGettingSpecial
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private def ChangeSpecialAbility(): Unit = {
|
|
|
|
|
if (ExoSuit == ExoSuitType.MAX) {
|
2018-05-18 19:33:39 +00:00
|
|
|
gettingSpecial = MAXGettingSpecial
|
|
|
|
|
usingSpecial = Faction match {
|
|
|
|
|
case PlanetSideEmpire.TR => UsingAnchorsOrOverdrive
|
|
|
|
|
case PlanetSideEmpire.NC => UsingShield
|
2020-07-14 03:54:05 +00:00
|
|
|
case _ => DefaultUsingSpecial
|
2018-05-18 19:33:39 +00:00
|
|
|
}
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2018-05-18 19:33:39 +00:00
|
|
|
usingSpecial = DefaultUsingSpecial
|
|
|
|
|
gettingSpecial = DefaultGettingSpecial
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def UsingSpecial: SpecialExoSuitDefinition.Mode.Value = { gettingSpecial() }
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def UsingSpecial_=(state: SpecialExoSuitDefinition.Mode.Value): SpecialExoSuitDefinition.Mode.Value =
|
|
|
|
|
usingSpecial(state)
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2023-03-26 03:29:03 +00:00
|
|
|
//noinspection ScalaUnusedSymbol
|
2020-07-14 03:54:05 +00:00
|
|
|
private def DefaultUsingSpecial(state: SpecialExoSuitDefinition.Mode.Value): SpecialExoSuitDefinition.Mode.Value =
|
|
|
|
|
SpecialExoSuitDefinition.Mode.Normal
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private def UsingAnchorsOrOverdrive(
|
2023-03-26 03:29:03 +00:00
|
|
|
state: SpecialExoSuitDefinition.Mode.Value
|
|
|
|
|
): SpecialExoSuitDefinition.Mode.Value = {
|
2018-05-19 00:48:52 +00:00
|
|
|
import SpecialExoSuitDefinition.Mode._
|
|
|
|
|
val curr = UsingSpecial
|
2020-07-14 03:54:05 +00:00
|
|
|
val next = if (curr == Normal) {
|
|
|
|
|
if (state == Anchored || state == Overdrive) {
|
2018-05-18 19:33:39 +00:00
|
|
|
state
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2018-05-19 00:48:52 +00:00
|
|
|
Normal
|
2018-05-18 19:33:39 +00:00
|
|
|
}
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (state == Normal) {
|
2018-05-19 00:48:52 +00:00
|
|
|
Normal
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2018-05-19 00:48:52 +00:00
|
|
|
curr
|
2018-05-18 19:33:39 +00:00
|
|
|
}
|
2018-05-19 00:48:52 +00:00
|
|
|
MAXUsingSpecial(next)
|
2018-05-18 19:33:39 +00:00
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private def UsingShield(state: SpecialExoSuitDefinition.Mode.Value): SpecialExoSuitDefinition.Mode.Value = {
|
2018-05-19 00:48:52 +00:00
|
|
|
import SpecialExoSuitDefinition.Mode._
|
|
|
|
|
val curr = UsingSpecial
|
2020-07-14 03:54:05 +00:00
|
|
|
val next = if (curr == Normal) {
|
|
|
|
|
if (state == Shielded) {
|
2018-05-19 00:48:52 +00:00
|
|
|
state
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2018-05-19 00:48:52 +00:00
|
|
|
Normal
|
|
|
|
|
}
|
2020-07-14 03:54:05 +00:00
|
|
|
} else if (state == Normal) {
|
2018-05-19 00:48:52 +00:00
|
|
|
Normal
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
2018-05-19 00:48:52 +00:00
|
|
|
curr
|
2018-05-18 19:33:39 +00:00
|
|
|
}
|
2018-05-19 00:48:52 +00:00
|
|
|
MAXUsingSpecial(next)
|
2018-05-18 19:33:39 +00:00
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private def DefaultGettingSpecial(): SpecialExoSuitDefinition.Mode.Value = SpecialExoSuitDefinition.Mode.Normal
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private def MAXUsingSpecial(state: SpecialExoSuitDefinition.Mode.Value): SpecialExoSuitDefinition.Mode.Value =
|
|
|
|
|
exosuit match {
|
|
|
|
|
case obj: SpecialExoSuitDefinition =>
|
|
|
|
|
obj.UsingSpecial = state
|
|
|
|
|
case _ =>
|
|
|
|
|
SpecialExoSuitDefinition.Mode.Normal
|
|
|
|
|
}
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private def MAXGettingSpecial(): SpecialExoSuitDefinition.Mode.Value =
|
|
|
|
|
exosuit match {
|
|
|
|
|
case obj: SpecialExoSuitDefinition =>
|
|
|
|
|
obj.UsingSpecial
|
|
|
|
|
case _ =>
|
|
|
|
|
SpecialExoSuitDefinition.Mode.Normal
|
|
|
|
|
}
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def isAnchored: Boolean =
|
|
|
|
|
ExoSuit == ExoSuitType.MAX && Faction == PlanetSideEmpire.TR && UsingSpecial == SpecialExoSuitDefinition.Mode.Anchored
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def isOverdrived: Boolean =
|
|
|
|
|
ExoSuit == ExoSuitType.MAX && Faction == PlanetSideEmpire.TR && UsingSpecial == SpecialExoSuitDefinition.Mode.Overdrive
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def isShielded: Boolean =
|
|
|
|
|
ExoSuit == ExoSuitType.MAX && Faction == PlanetSideEmpire.NC && UsingSpecial == SpecialExoSuitDefinition.Mode.Shielded
|
2018-05-18 19:33:39 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def AccessingBackpack: Option[PlanetSideGUID] = backpackAccess
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def AccessingBackpack_=(guid: PlanetSideGUID): Option[PlanetSideGUID] = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
AccessingBackpack = Some(guid)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Change which player has access to the backpack of this player.
|
|
|
|
|
* A player may only access to the backpack of a dead released player, and only if no one else has access at the moment.
|
|
|
|
|
* @param guid the player who wishes to access the backpack
|
|
|
|
|
* @return the player who is currently allowed to access the backpack
|
|
|
|
|
*/
|
2020-07-14 03:54:05 +00:00
|
|
|
def AccessingBackpack_=(guid: Option[PlanetSideGUID]): Option[PlanetSideGUID] = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
guid match {
|
|
|
|
|
case None =>
|
|
|
|
|
backpackAccess = None
|
|
|
|
|
case Some(player) =>
|
2020-07-14 03:54:05 +00:00
|
|
|
if (isBackpack && backpackAccess.isEmpty) {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
backpackAccess = Some(player)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
AccessingBackpack
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Can the other `player` access the contents of this `Player`'s backpack?
|
|
|
|
|
* @param player a player attempting to access this backpack
|
|
|
|
|
* @return `true`, if the `player` is permitted access; `false`, otherwise
|
|
|
|
|
*/
|
2020-07-14 03:54:05 +00:00
|
|
|
def CanAccessBackpack(player: Player): Boolean = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
isBackpack && (backpackAccess.isEmpty || backpackAccess.contains(player.GUID))
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def VehicleSeated: Option[PlanetSideGUID] = vehicleSeated
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def VehicleSeated_=(guid: PlanetSideGUID): Option[PlanetSideGUID] = VehicleSeated_=(Some(guid))
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def VehicleSeated_=(guid: Option[PlanetSideGUID]): Option[PlanetSideGUID] = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
vehicleSeated = guid
|
|
|
|
|
VehicleSeated
|
|
|
|
|
}
|
|
|
|
|
|
2021-05-05 14:13:57 +00:00
|
|
|
def Carrying: Option[SpecialCarry] = carrying
|
|
|
|
|
|
2023-03-26 03:29:03 +00:00
|
|
|
//noinspection ScalaUnusedSymbol
|
2021-05-05 14:13:57 +00:00
|
|
|
def Carrying_=(item: SpecialCarry): Option[SpecialCarry] = {
|
2023-03-26 03:29:03 +00:00
|
|
|
Carrying_=(Some(item))
|
2021-05-05 14:13:57 +00:00
|
|
|
}
|
|
|
|
|
|
2023-03-26 03:29:03 +00:00
|
|
|
//noinspection ScalaUnusedSymbol
|
2021-05-05 14:13:57 +00:00
|
|
|
def Carrying_=(item: Option[SpecialCarry]): Option[SpecialCarry] = {
|
2023-03-26 03:29:03 +00:00
|
|
|
carrying = item
|
2021-05-05 14:13:57 +00:00
|
|
|
Carrying
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-11 15:16:12 +00:00
|
|
|
def ZoningRequest: Zoning.Method = zoning
|
2021-05-05 14:13:57 +00:00
|
|
|
|
2022-10-11 15:16:12 +00:00
|
|
|
def ZoningRequest_=(request: Zoning.Method): Zoning.Method = {
|
2021-05-05 14:13:57 +00:00
|
|
|
zoning = request
|
|
|
|
|
ZoningRequest
|
|
|
|
|
}
|
|
|
|
|
|
2023-04-26 16:25:08 +00:00
|
|
|
override def CanDamage: Boolean = {
|
|
|
|
|
death_by < 1 && super.CanDamage
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-24 22:16:08 +00:00
|
|
|
def DamageModel: DamageResistanceModel = exosuit.asInstanceOf[DamageResistanceModel]
|
Damages (#225)
* refactored WSA code handling HitMessage, handling SplashMessage, and handling LashMessage; modified projectiles for future functionality
* players can die from being shot now; the damage model is simplistic since main goal was to write around the potential for negative damage ('healed from getting shot'); HitHint works correctly; dedicated AvatarService channel for each avatar helps reduce message spam
* vehicle destruction, and replacement with lightweight wreckage objects upon continent join; made flushing vehicle terminal more accessible
* simple work on vehicle shield charging (amp station benefit) (that's my commit story and I'm sticking with it)
* a flexible calculation workflow that can be applied, grabbing damage information, resistance information, and then combining it with a resolution function; players and vehicles have resistance values; removed redundant damage calculations from WSA
* broke up DamageCalculations, ResistanceCalculations, and ResolutionCalculations into packages under vital; fixed an error with exo-suit calculation resistances; events for dealing with synchronized player and vehicle damage calculations and building the papertrail of those damages; updating codecov.yml file for ignore classes
* added tests for various components (damage model, destroyed vehicle converter, vitality, etc..) and some functionality improvements
* added a field to keep track of how projectiles will be attributed at the time of target death
2018-07-30 13:28:45 +00:00
|
|
|
|
2023-03-26 03:29:03 +00:00
|
|
|
override def GetContributionDuringPeriod(list: List[InGameActivity], duration: Long): List[InGameActivity] = {
|
|
|
|
|
val earliestEndTime = System.currentTimeMillis() - duration
|
|
|
|
|
History.collect {
|
|
|
|
|
case heal: HealFromEquipment if heal.amount > 0 && heal.time > earliestEndTime => heal
|
|
|
|
|
case repair: RepairFromEquipment if repair.amount > 0 && repair.time > earliestEndTime => repair
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
def canEqual(other: Any): Boolean = other.isInstanceOf[Player]
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
override def equals(other: Any): Boolean =
|
|
|
|
|
other match {
|
|
|
|
|
case that: Player =>
|
|
|
|
|
(that canEqual this) &&
|
2020-08-01 10:25:03 +00:00
|
|
|
avatar == that.avatar
|
2020-07-14 03:54:05 +00:00
|
|
|
case _ =>
|
|
|
|
|
false
|
|
|
|
|
}
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
override def hashCode(): Int = {
|
2020-08-01 10:25:03 +00:00
|
|
|
avatar.hashCode()
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
2018-03-20 00:13:39 +00:00
|
|
|
|
2020-08-01 10:25:03 +00:00
|
|
|
override def toString: String = {
|
|
|
|
|
val guid = if (HasGUID) {
|
2021-06-02 15:51:38 +00:00
|
|
|
s" $Continent-${GUID.guid}"
|
2020-08-01 10:25:03 +00:00
|
|
|
} else {
|
|
|
|
|
""
|
|
|
|
|
}
|
2021-06-02 15:51:38 +00:00
|
|
|
s"${avatar.name}$guid ${avatar.faction} H: $Health/$MaxHealth A: $Armor/$MaxArmor"
|
2020-08-01 10:25:03 +00:00
|
|
|
}
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
object Player {
|
2020-07-14 03:54:05 +00:00
|
|
|
final val LockerSlot: Int = 5
|
|
|
|
|
final val FreeHandSlot: Int = 250
|
|
|
|
|
final val HandsDownSlot: Int = 255
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
|
2021-06-02 15:51:38 +00:00
|
|
|
final case class BuildDeployable(obj: Deployable, withTool: ConstructionItem)
|
|
|
|
|
|
|
|
|
|
final case class LoseDeployable(obj: Deployable)
|
|
|
|
|
|
Damage Changes/Explosions (#644)
* 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
2020-12-08 19:32:42 +00:00
|
|
|
final case class Die(reason: Option[DamageInteraction])
|
|
|
|
|
|
|
|
|
|
object Die {
|
|
|
|
|
def apply(): Die = Die(None)
|
|
|
|
|
|
|
|
|
|
def apply(reason: DamageInteraction): Die = {
|
|
|
|
|
Die(Some(reason))
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-01-17 18:22:14 +00:00
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def apply(core: Avatar): Player = {
|
2018-03-20 00:13:39 +00:00
|
|
|
new Player(core)
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
private def SuitSetup(player: Player, eSuit: ExoSuitDefinition): Unit = {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
//inventory
|
|
|
|
|
player.Inventory.Clear()
|
2018-05-19 19:13:36 +00:00
|
|
|
player.Inventory.Resize(eSuit.InventoryScale.Width, eSuit.InventoryScale.Height)
|
|
|
|
|
player.Inventory.Offset = eSuit.InventoryOffset
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
//holsters
|
Customer Service (#1247)
* initial workings for a csr/gm player mode
* weird line removal after merge
* too many changes and refactors, but the code compiles properly; need to push these to the repo and sort out issues with it all later; hopefully, nothing has changed except for the csr stuff
* extensive changes to mode logic for refactoring and functionality improvements, especially for accommodating csr spectator mode
* csr's may now see players who are spectating, including csr's who are spectating, including a wide variety of their behavior such as location, weapon management, etc.; removes zoning cancel messages as a required log from certain use item actions
* corrected various issues identified in the comments of PR#1247
* restored killed->autorevive functionality; removed last traces of old door code from general operations
* knife stab corrected; spitfire turret corrected; blockmap interactivity using zone interaction allowance flag; visibility during resurgence code for csr; removing messages and experience gain for interactions with csr
* pruning imports and correcting the default spectator setting
* separated router/telepad activity from other vehicular activity, previously all considered a form of mounting/dismounting, and restored support experience rewards
* can not activate or deactive spectator of gm when dead; zoning while spectator removes spectator and defaults to sanctuary
* field turrets are neutral-neutral when constructed by a csr; custom bang command 'setempire' will adjust the faction affiliation of a variety of game objects
* fixed facility occupation recognition
* when transitioning between player modes, do not parse new messages about transitioning between player modes, until fully transitioned between player modes
2024-12-02 18:26:37 +00:00
|
|
|
(0 until 5).foreach { index => player.Slot(index).Size = eSuit.Holster(index) }
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|
|
|
|
|
|
2020-07-14 03:54:05 +00:00
|
|
|
def Respawn(player: Player): Player = {
|
|
|
|
|
if (player.Release) {
|
2020-08-01 10:25:03 +00:00
|
|
|
val obj = new Player(player.avatar)
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
obj.Continent = player.Continent
|
Customer Service (#1247)
* initial workings for a csr/gm player mode
* weird line removal after merge
* too many changes and refactors, but the code compiles properly; need to push these to the repo and sort out issues with it all later; hopefully, nothing has changed except for the csr stuff
* extensive changes to mode logic for refactoring and functionality improvements, especially for accommodating csr spectator mode
* csr's may now see players who are spectating, including csr's who are spectating, including a wide variety of their behavior such as location, weapon management, etc.; removes zoning cancel messages as a required log from certain use item actions
* corrected various issues identified in the comments of PR#1247
* restored killed->autorevive functionality; removed last traces of old door code from general operations
* knife stab corrected; spitfire turret corrected; blockmap interactivity using zone interaction allowance flag; visibility during resurgence code for csr; removing messages and experience gain for interactions with csr
* pruning imports and correcting the default spectator setting
* separated router/telepad activity from other vehicular activity, previously all considered a form of mounting/dismounting, and restored support experience rewards
* can not activate or deactive spectator of gm when dead; zoning while spectator removes spectator and defaults to sanctuary
* field turrets are neutral-neutral when constructed by a csr; custom bang command 'setempire' will adjust the faction affiliation of a variety of game objects
* fixed facility occupation recognition
* when transitioning between player modes, do not parse new messages about transitioning between player modes, until fully transitioned between player modes
2024-12-02 18:26:37 +00:00
|
|
|
obj.death_by = player.death_by
|
|
|
|
|
obj.silenced = player.silenced
|
|
|
|
|
obj.allowInteraction = player.allowInteraction
|
2023-03-26 03:29:03 +00:00
|
|
|
obj.avatar.scorecard.respawn()
|
2025-08-29 19:31:26 +00:00
|
|
|
obj.outfit_name = player.outfit_name
|
|
|
|
|
obj.outfit_id = player.outfit_id
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
obj
|
2020-07-14 03:54:05 +00:00
|
|
|
} else {
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
player
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-10-24 22:16:08 +00:00
|
|
|
|
2023-03-26 03:29:03 +00:00
|
|
|
//noinspection ScalaUnusedSymbol
|
2022-10-24 22:16:08 +00:00
|
|
|
def neverRestrict(player: Player, slot: Int): Boolean = {
|
|
|
|
|
false
|
|
|
|
|
}
|
new stuff for player server classes; this update is not yet complete
adjusted sample Reload code and added insertion and removal functions for inventory
more work on player classes; moving PacketResolution to another branch
decoupling GUIDs from objects; introduced Ammo enum; minor adjustments to inventory system; different object/class hierarchy
transferring basic files from another branch
converted from get/set to accessor/mutator; resolved conflict from name changes
refactored basic components such as GUID and location/orientation
utilities kludge; more fields are given accessor and mutators; create package for vehicle-specific classes
GUID assurance, now with less object creation
test files; changes to how AmmoBox initializes
sorry, a little bit of everything, so much I forgot to write it all down
switched to a unified fire mode object internal to a Tool
importing a heavily modified version of my GUID manager objects from the laternate branch; not finished or tested yet
created a Trait to make Key private, sources and selectors to allow NumberPools to exist independent of a NumberSource; placed Ascending into a misc folder
swapped the Return methods for selectors so that the more primitive logic is the one that needs to be overriden; renamed a selector to be more common; had to update some copyright messages
fixed major logic issue with NumberPool; added comments to NumberSource files
NumberSource tests
simplified and made more consistent the method naming convention of NumberSources
comments for NumberSelectors
starting on NumberSelector tests
modifications that should better support number pools; added a pool hub that acts on a predefined source
adjustment to how Tools and FireModeDefintion keep track of ammunition and ammunition slots; I don't think this is sufficient
small additions to Tools; filled out simple tests for other three Selectors
added object lookup notation for the pool hub
added more NumberSelector tests; removed the word 'Number' from subclass names
re-named classes, re-packaged classes, re-named packages; created new Selector, split pools to create a fallback for the NumberPoolHub
changes to NumberPool classes; tests on NumberPool classes
changes to NumberPool classes; tests on NumberPool classes2
some robust testing for NumberPoolHub, plus necessary modifications to other files
register and unregister functions now use Success and Failure conditions, save for one true thrown Exception
reduced the flow of certain algorithm chains, mainly by adding match statements and removing Exceptions
error message text
the same thing as the last commit, but with NumberPools rather than NumberPoolHub
various types of freeform registration
added sorting functions to Selectors to allow for hotswapping for number pools, especially to and from SpecificSelector; tests for NumberPoolHub
get numbers from an Array of indices, not the list of Numbers, in SimplePool
added a class to represent the four types of recovery kits
comments on Kit files
created package for supporting equipment classes; renamed /definition/ package
adding class for items that construct deployables, the router telepad included
added SimpleItem, classes for game Equipment that do not have internal state; re-organized ObjectDefinition files and the game objects they create to more naturally move around EquipmentSize and InventoryTile (size)
added SimpleItem tests (what they are...); removed example code that has hogging an import from AmmoBox
auto-sort for loading and fitting former inventory content back into the inventory
method of finding first available position to fit an certain size block in the inventory
changed CheckCollision return type to provide Try[List[Int]; fixed all existing references and tests
wrote comments for GridInventory methods; changed insertion param to be of form 'key -> element'
adding features to Player; created definitions for Player class; re-grouped ConstructionItem enumerations
initial work on implants; shuffled classes to better accommodate the new implant system, I think
wrote some tests for Implants; fixing Implant logic
wrote tests for Player class and made adjustments where necessary
basic initialization during Player creation based on exo-suit type
three wrapper Actors for the normal classes
comments on code
modified tests to improve accountability; added Resolver class to deal with multiple tasks that contribute to a larger task
changed Tools to an internal AmmoBox; don't have to def -= symbol if I def _= symbol
LivePlayerList -> MasterPlayerList, and added a Fit def for Player that checks holsters as well as inventory
example of packet conversion can be found with AmmoBoxDefinition
added conversion for ToolDefinition
added all Equipment packet conversion functionality; started working on Avatar-related conversions
continued effort towards a working Player packet conversion test
subclasses of Equipment apparently do not need to overide the type of the PacketConverter for generics
the logical conclusion: it doesn't matter what generics Packet returns so long as it returns an ObjectCreateConverter[] type
separated converters from definitions into files
changed some configuration information to final; added a bunch of converters, not fully tested though
changed function names in converters
replaced WSA packet-driven OCDM with Player object OCDM; upgrade to Float angular data
added partial support for LockerContainer; changed Equipment defaults to a common value
changes to AvatarConverter to include 5th slot; changes to VehicleConverter to make work; implementation of Fury in Vehicle->packet example in WSA
added a seat definition and renovated how the weapon controlled from a seat can be found
comments to files mainly; non-essential functionality to some classes, mostly access determination
moved converter tests to their own test file
write more of this test
added ServiceManager, as it is useful
pool range changes
added AvatarService, as it is useful
straightened out the GUID actors; added the static method for adding AmmoBoxes (to be converted later)
chnages to task resolution operation
complicated Task and TaskResolver logic is now possible; for example, you can schedule giving an AmmoBox a GUID, before giving a Tool a GUID, before placing the Tool in a player's hand; see Suppressor example in WSA
separated the Task trait and the TaskResolver actor into their own classes, moving the former RegistrationTaskResolver class into the /misc/ folder; deleted old backup copy of HubActor; modifications for PoC and supported tests
added better support and protection against putting things in the wrong hand when using inventories and the Player.Slot(n) function
GlobalDefinitions file; added laze pointer as an SItem, and gave it the command detonater management code; additionally fixed spelling of 'detonat[o]r' in Codec; early Terminal class work
updated tests to GlobalDefinitions entries; Terminal works but I don't like it
played with GUID pooling workflow, though to little avail; modifications to Terminal purchasing workflow, but still very volatile
modified NumberPoolActor and NumberPoolAccessor to make them more straightforward and not use akka ask as a go-between
fixed recovery options so that they do not cause more messages
trailing newline
InventoryItem (packet data) renamed InventoryItemData to remove ambiguity; Terminal functionality improved, allowing for swapping of exo-suits and the restoration of equipment positions
remove yet-unsupported Terminal messaging
made Terminal message more specific; can now put equipment into empty slot on exo-suit change; should report changes better
re-organized function calls to preserved items removed from holster slots on exo-suit change
moved predicate to the end of the list of params for recoverInventory so that repetition can be eliminated and a default value can be assigned
issues with making Tool; committing changes before revert of NumberPoolActor and NumberPoolAccessorActor to see if those broke it
a necessary evil, the reverting of these two Actors; subtask resolution does not work unless I do so, for now
restored the registration portion of tasking back to where it previously was (and better?)
NumberPoolActor and the ...AccessorActor are back to a comfortable place (and better?)
re-draw object in hand when switching exo-suits; build AmmoBoxes for Tool during Terminal-controlled creation, not Tool-controlled creation
order of task cleanup reversed to avoid index mismatch; added itsm to TerminalDefinition
common 5x5 AmmoBox size; added vehicle weapon ammo boxes to terminal
added error catching messages; stopped odd double-registering issue early
resolved issue where multiple subtasks started their main task multiple times; added checks that an object does not register a new GUID when it already has one
wrote unregistration code for Selling items back through the Terminal, repairing logic along the way; also, wrote a top-level GUID find for the Player for use of MoveItem
added framework for starting on Loadouts; managed issue with parent tasks starting before being summoned by child subtasks, often resulting in the complete skip of the execution phase of the parent; refactored registration tasks in WSA
modified Tool structure, exposing the AmmoSlot list a bit more
stuff stuff Tool ammo slot changes to default and comments
basic loadout framework for Infantry; need to integrate
initial work on FavoritesRequest packet
tests for FavoritesRequest packet
increased size of number pool for testing; wrote an algorithm that translates to and from the simplified version of objects stored in loadouts
refactored the tasking for adding Equipment and removing Equipment
updated the inventory so the Map of items does not have to rely on the GUID of an item being set before the item is inserted
untested routine for registering a player character; pushing all changes before making significant changes to the client init code structure
added to comments of BeginZoningMessage; transitioned player through and initial step of a more proper login GUID association
the current avatar is properly registered and there is something of a workflow with the messages and packets
corrected another bit of logic where inventories used to be indexed by object GUID in AvatarConverter; reversed unregister-remove task sequence such that GUID-less object is not allowed to exist in a stable object hierarchy
working Loadout loading
added identification functions to GlobalDefinitions; echo ObjectDelete back to client
accidentally got rid of something in WSA, but now restored; adding extra details to Terminal operations
separated Terminal into separate files and moved files into their own package under \objects\ for now; can delete loadouts now in WSA
better handling of ReloadMessage and MoveItemMessage
framework for better support involving dropping and picking up items
code comments and small modifications, such as the location and structure of the Terminal Equipment definitions
wrote comments in GlobalDefinitions; modified code so that a primitive form of player synchronization now occurs for future testing
added code to display already-dropped Equipment on the ground; limitations are explained; moved TaskResolver to more a global location, though I don't know if that helps
modified avatar unregister logic to ensure vacating player is deleted from other clients 'properly'
more comments; improved checks for MoveItemMessage; squared distances as necessary
subtle changes to login scripting so that test character is always offered
re-organizing the functions in WSA so that only the local objects separate the two message processing blocks
2017-05-30 22:46:01 +00:00
|
|
|
}
|