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 18:46:01 -04:00
|
|
|
// Copyright (c) 2017 PSForever
|
|
|
|
|
package net.psforever.objects
|
|
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
import net.psforever.objects.avatar.Certification
|
2020-09-05 09:08:18 -04:00
|
|
|
import net.psforever.objects.ballistics._
|
2018-09-23 08:00:58 -04:00
|
|
|
import net.psforever.objects.ce.{DeployableCategory, DeployedItem}
|
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 18:46:01 -04:00
|
|
|
import net.psforever.objects.definition._
|
2017-11-08 21:00:46 -05:00
|
|
|
import net.psforever.objects.definition.converter._
|
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 18:46:01 -04:00
|
|
|
import net.psforever.objects.equipment._
|
2021-02-03 19:39:32 -05:00
|
|
|
import net.psforever.objects.geometry.GeometryForm
|
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 18:46:01 -04:00
|
|
|
import net.psforever.objects.inventory.InventoryTile
|
2020-08-12 20:59:13 -04:00
|
|
|
import net.psforever.objects.serverobject.aura.Aura
|
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 09:28:45 -04:00
|
|
|
import net.psforever.objects.serverobject.doors.DoorDefinition
|
2020-01-17 13:19:07 -05:00
|
|
|
import net.psforever.objects.serverobject.generator.GeneratorDefinition
|
2017-10-09 20:35:13 -04:00
|
|
|
import net.psforever.objects.serverobject.locks.IFFLockDefinition
|
2018-01-26 15:32:08 -05:00
|
|
|
import net.psforever.objects.serverobject.mblocker.LockerDefinition
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
import net.psforever.objects.serverobject.mount._
|
2018-01-26 15:32:08 -05:00
|
|
|
import net.psforever.objects.serverobject.pad.VehicleSpawnPadDefinition
|
2019-10-06 19:09:25 +01:00
|
|
|
import net.psforever.objects.serverobject.painbox.PainboxDefinition
|
2017-11-08 21:00:46 -05:00
|
|
|
import net.psforever.objects.serverobject.terminals._
|
2018-02-24 21:03:20 -05:00
|
|
|
import net.psforever.objects.serverobject.tube.SpawnTubeDefinition
|
2018-05-26 12:52:03 +01:00
|
|
|
import net.psforever.objects.serverobject.resourcesilo.ResourceSiloDefinition
|
2021-04-16 21:37:20 +02:00
|
|
|
import net.psforever.objects.serverobject.structures.{
|
|
|
|
|
AmenityDefinition,
|
|
|
|
|
AutoRepairStats,
|
|
|
|
|
BuildingDefinition,
|
|
|
|
|
WarpGateDefinition
|
|
|
|
|
}
|
2021-01-23 18:18:49 +00:00
|
|
|
import net.psforever.objects.serverobject.terminals.capture.CaptureTerminalDefinition
|
|
|
|
|
import net.psforever.objects.serverobject.terminals.implant.{ImplantTerminalDefinition, ImplantTerminalMechDefinition}
|
2019-12-21 09:08:06 -05:00
|
|
|
import net.psforever.objects.serverobject.turret.{FacilityTurretDefinition, TurretUpgrade}
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
import net.psforever.objects.vehicles.{DestroyedVehicle, InternalTelepadDefinition, UtilityType}
|
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 14:32:42 -05:00
|
|
|
import net.psforever.objects.vital.base.DamageType
|
|
|
|
|
import net.psforever.objects.vital.damage._
|
2021-01-27 14:33:43 -05:00
|
|
|
import net.psforever.objects.vital.etc.ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
import net.psforever.objects.vital.projectile._
|
|
|
|
|
import net.psforever.objects.vital.prop.DamageWithPosition
|
|
|
|
|
import net.psforever.objects.vital.{ComplexDeployableResolutions, MaxResolutions, SimpleResolutions}
|
2020-08-01 12:25:03 +02:00
|
|
|
import net.psforever.types.{ExoSuitType, ImplantType, PlanetSideEmpire, Vector3}
|
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 08:04:11 -05:00
|
|
|
import net.psforever.types._
|
2021-01-26 22:57:44 +00:00
|
|
|
import net.psforever.objects.serverobject.llu.{CaptureFlagDefinition, CaptureFlagSocketDefinition}
|
2020-09-05 09:08:18 -04:00
|
|
|
|
2018-07-14 21:25:44 -04:00
|
|
|
import scala.collection.mutable
|
2018-05-27 20:59:44 -04:00
|
|
|
import scala.concurrent.duration._
|
|
|
|
|
|
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 18:46:01 -04:00
|
|
|
object GlobalDefinitions {
|
2019-12-10 13:53:11 +00:00
|
|
|
// Characters
|
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 09:28:45 -04:00
|
|
|
val avatar = new AvatarDefinition(121)
|
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 15:17:32 -04:00
|
|
|
avatar.MaxHealth = 100
|
|
|
|
|
avatar.Damageable = true
|
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 08:04:11 -05:00
|
|
|
avatar.DrownAtMaxDepth = true
|
|
|
|
|
avatar.MaxDepth = 1.609375f //Male, standing, not MAX
|
|
|
|
|
avatar.UnderwaterLifespan(suffocation = 60000L, recovery = 10000L)
|
2017-11-26 00:00:41 -05:00
|
|
|
/*
|
2019-11-01 11:11:47 -04:00
|
|
|
exo-suits
|
2019-03-03 08:23:30 -05:00
|
|
|
*/
|
|
|
|
|
val Standard = ExoSuitDefinition(ExoSuitType.Standard)
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val Agile = ExoSuitDefinition(ExoSuitType.Agile)
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val Reinforced = ExoSuitDefinition(ExoSuitType.Reinforced)
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val Infiltration = ExoSuitDefinition(ExoSuitType.Infiltration)
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2019-12-10 13:53:11 +00:00
|
|
|
val VSMAX = SpecialExoSuitDefinition(ExoSuitType.MAX)
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2019-12-10 13:53:11 +00:00
|
|
|
val TRMAX = SpecialExoSuitDefinition(ExoSuitType.MAX)
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2019-12-10 13:53:11 +00:00
|
|
|
val NCMAX = SpecialExoSuitDefinition(ExoSuitType.MAX)
|
2019-11-01 11:11:47 -04:00
|
|
|
init_exosuit()
|
2019-12-10 13:53:11 +00:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
/*
|
2017-11-26 00:00:41 -05:00
|
|
|
Implants
|
|
|
|
|
*/
|
2020-08-01 12:25:03 +02:00
|
|
|
val advanced_regen = new ImplantDefinition(ImplantType.AdvancedRegen) {
|
|
|
|
|
Name = "advanced_regen"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
advanced_regen.InitializationDuration = 120
|
2020-03-09 22:14:12 +00:00
|
|
|
advanced_regen.StaminaCost = 2
|
|
|
|
|
advanced_regen.CostIntervalDefault = 500
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val targeting = new ImplantDefinition(ImplantType.Targeting) {
|
|
|
|
|
Name = "targeting"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
targeting.InitializationDuration = 60
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val audio_amplifier = new ImplantDefinition(ImplantType.AudioAmplifier) {
|
|
|
|
|
Name = "audio_amplifier"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
audio_amplifier.InitializationDuration = 60
|
2020-03-09 22:14:12 +00:00
|
|
|
audio_amplifier.StaminaCost = 1
|
|
|
|
|
audio_amplifier.CostIntervalDefault = 1000
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val darklight_vision = new ImplantDefinition(ImplantType.DarklightVision) {
|
|
|
|
|
Name = "darklight_vision"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
darklight_vision.InitializationDuration = 60
|
2020-03-09 22:14:12 +00:00
|
|
|
darklight_vision.ActivationStaminaCost = 3
|
|
|
|
|
darklight_vision.StaminaCost = 1
|
|
|
|
|
darklight_vision.CostIntervalDefault = 500
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val melee_booster = new ImplantDefinition(ImplantType.MeleeBooster) {
|
|
|
|
|
Name = "melee_booster"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
melee_booster.InitializationDuration = 120
|
2020-03-09 22:14:12 +00:00
|
|
|
melee_booster.StaminaCost = 10
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val personal_shield = new ImplantDefinition(ImplantType.PersonalShield) {
|
|
|
|
|
Name = "personal_shield"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
personal_shield.InitializationDuration = 120
|
2020-03-09 22:14:12 +00:00
|
|
|
personal_shield.StaminaCost = 1
|
|
|
|
|
personal_shield.CostIntervalDefault = 600
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val range_magnifier = new ImplantDefinition(ImplantType.RangeMagnifier) {
|
|
|
|
|
Name = "range_magnifier"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
range_magnifier.InitializationDuration = 60
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val second_wind = new ImplantDefinition(ImplantType.SecondWind) {
|
|
|
|
|
Name = "second_wind"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
second_wind.InitializationDuration = 180
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val silent_run = new ImplantDefinition(ImplantType.SilentRun) {
|
|
|
|
|
Name = "silent_run"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
silent_run.InitializationDuration = 90
|
2020-03-09 22:14:12 +00:00
|
|
|
silent_run.StaminaCost = 1
|
|
|
|
|
silent_run.CostIntervalDefault = 333
|
2021-04-20 20:41:49 -04:00
|
|
|
silent_run.CostIntervalByExoSuitHashMap(ExoSuitType.Infiltration) = 1000
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-01 12:25:03 +02:00
|
|
|
val surge = new ImplantDefinition(ImplantType.Surge) {
|
|
|
|
|
Name = "surge"
|
|
|
|
|
}
|
2020-03-28 17:49:23 +00:00
|
|
|
surge.InitializationDuration = 90
|
2020-03-09 22:14:12 +00:00
|
|
|
surge.StaminaCost = 1
|
|
|
|
|
surge.CostIntervalDefault = 1000
|
|
|
|
|
surge.CostIntervalByExoSuitHashMap(ExoSuitType.Agile) = 500
|
|
|
|
|
surge.CostIntervalByExoSuitHashMap(ExoSuitType.Reinforced) = 333
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-06-12 21:51:53 -04:00
|
|
|
/*
|
|
|
|
|
Projectiles
|
|
|
|
|
*/
|
2019-11-15 16:21:35 -05:00
|
|
|
val no_projectile = new ProjectileDefinition(0) //also called none in ADB
|
|
|
|
|
|
2018-06-12 21:51:53 -04:00
|
|
|
val bullet_105mm_projectile = ProjectileDefinition(Projectiles.bullet_105mm_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_12mm_projectile = ProjectileDefinition(Projectiles.bullet_12mm_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_12mm_projectileb = ProjectileDefinition(Projectiles.bullet_12mm_projectileb)
|
|
|
|
|
|
|
|
|
|
val bullet_150mm_projectile = ProjectileDefinition(Projectiles.bullet_150mm_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_15mm_apc_projectile = ProjectileDefinition(Projectiles.bullet_15mm_apc_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_15mm_projectile = ProjectileDefinition(Projectiles.bullet_15mm_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_20mm_apc_projectile = ProjectileDefinition(Projectiles.bullet_20mm_apc_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_20mm_projectile = ProjectileDefinition(Projectiles.bullet_20mm_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_25mm_projectile = ProjectileDefinition(Projectiles.bullet_25mm_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_35mm_projectile = ProjectileDefinition(Projectiles.bullet_35mm_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_75mm_apc_projectile = ProjectileDefinition(Projectiles.bullet_75mm_apc_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_75mm_projectile = ProjectileDefinition(Projectiles.bullet_75mm_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_9mm_AP_projectile = ProjectileDefinition(Projectiles.bullet_9mm_AP_projectile)
|
|
|
|
|
|
|
|
|
|
val bullet_9mm_projectile = ProjectileDefinition(Projectiles.bullet_9mm_projectile)
|
|
|
|
|
|
|
|
|
|
val anniversary_projectilea = ProjectileDefinition(Projectiles.anniversary_projectilea)
|
|
|
|
|
|
|
|
|
|
val anniversary_projectileb = ProjectileDefinition(Projectiles.anniversary_projectileb)
|
|
|
|
|
|
|
|
|
|
val aphelion_immolation_cannon_projectile = ProjectileDefinition(Projectiles.aphelion_immolation_cannon_projectile)
|
|
|
|
|
|
|
|
|
|
val aphelion_laser_projectile = ProjectileDefinition(Projectiles.aphelion_laser_projectile)
|
|
|
|
|
|
|
|
|
|
val aphelion_plasma_rocket_projectile = ProjectileDefinition(Projectiles.aphelion_plasma_rocket_projectile)
|
|
|
|
|
|
|
|
|
|
val aphelion_ppa_projectile = ProjectileDefinition(Projectiles.aphelion_ppa_projectile)
|
|
|
|
|
|
|
|
|
|
val aphelion_starfire_projectile = ProjectileDefinition(Projectiles.aphelion_starfire_projectile)
|
|
|
|
|
|
|
|
|
|
val bolt_projectile = ProjectileDefinition(Projectiles.bolt_projectile)
|
|
|
|
|
|
|
|
|
|
val burster_projectile = ProjectileDefinition(Projectiles.burster_projectile)
|
|
|
|
|
|
|
|
|
|
val chainblade_projectile = ProjectileDefinition(Projectiles.chainblade_projectile)
|
|
|
|
|
|
|
|
|
|
val colossus_100mm_projectile = ProjectileDefinition(Projectiles.colossus_100mm_projectile)
|
|
|
|
|
|
|
|
|
|
val colossus_burster_projectile = ProjectileDefinition(Projectiles.colossus_burster_projectile)
|
|
|
|
|
|
|
|
|
|
val colossus_chaingun_projectile = ProjectileDefinition(Projectiles.colossus_chaingun_projectile)
|
|
|
|
|
|
|
|
|
|
val colossus_cluster_bomb_projectile = ProjectileDefinition(Projectiles.colossus_cluster_bomb_projectile)
|
|
|
|
|
|
|
|
|
|
val colossus_tank_cannon_projectile = ProjectileDefinition(Projectiles.colossus_tank_cannon_projectile)
|
|
|
|
|
|
|
|
|
|
val comet_projectile = ProjectileDefinition(Projectiles.comet_projectile)
|
|
|
|
|
|
|
|
|
|
val dualcycler_projectile = ProjectileDefinition(Projectiles.dualcycler_projectile)
|
|
|
|
|
|
|
|
|
|
val dynomite_projectile = ProjectileDefinition(Projectiles.dynomite_projectile)
|
|
|
|
|
|
|
|
|
|
val energy_cell_projectile = ProjectileDefinition(Projectiles.energy_cell_projectile)
|
|
|
|
|
|
|
|
|
|
val energy_gun_nc_projectile = ProjectileDefinition(Projectiles.energy_gun_nc_projectile)
|
|
|
|
|
|
|
|
|
|
val energy_gun_tr_projectile = ProjectileDefinition(Projectiles.energy_gun_tr_projectile)
|
|
|
|
|
|
|
|
|
|
val energy_gun_vs_projectile = ProjectileDefinition(Projectiles.energy_gun_vs_projectile)
|
|
|
|
|
|
|
|
|
|
val enhanced_energy_cell_projectile = ProjectileDefinition(Projectiles.enhanced_energy_cell_projectile)
|
|
|
|
|
|
|
|
|
|
val enhanced_quasar_projectile = ProjectileDefinition(Projectiles.enhanced_quasar_projectile)
|
|
|
|
|
|
|
|
|
|
val falcon_projectile = ProjectileDefinition(Projectiles.falcon_projectile)
|
|
|
|
|
|
|
|
|
|
val firebird_missile_projectile = ProjectileDefinition(Projectiles.firebird_missile_projectile)
|
|
|
|
|
|
|
|
|
|
val flail_projectile = ProjectileDefinition(Projectiles.flail_projectile)
|
|
|
|
|
|
2020-07-10 00:26:30 -04:00
|
|
|
val flamethrower_fire_cloud = ProjectileDefinition(Projectiles.flamethrower_projectile) //flamethrower_fire_cloud
|
|
|
|
|
|
2018-06-12 21:51:53 -04:00
|
|
|
val flamethrower_fireball = ProjectileDefinition(Projectiles.flamethrower_fireball)
|
|
|
|
|
|
|
|
|
|
val flamethrower_projectile = ProjectileDefinition(Projectiles.flamethrower_projectile)
|
|
|
|
|
|
|
|
|
|
val flux_cannon_apc_projectile = ProjectileDefinition(Projectiles.flux_cannon_apc_projectile)
|
|
|
|
|
|
|
|
|
|
val flux_cannon_thresher_projectile = ProjectileDefinition(Projectiles.flux_cannon_thresher_projectile)
|
|
|
|
|
|
|
|
|
|
val fluxpod_projectile = ProjectileDefinition(Projectiles.fluxpod_projectile)
|
|
|
|
|
|
|
|
|
|
val forceblade_projectile = ProjectileDefinition(Projectiles.forceblade_projectile)
|
|
|
|
|
|
|
|
|
|
val frag_cartridge_projectile = ProjectileDefinition(Projectiles.frag_cartridge_projectile)
|
|
|
|
|
|
|
|
|
|
val frag_cartridge_projectile_b = ProjectileDefinition(Projectiles.frag_cartridge_projectile_b)
|
|
|
|
|
|
|
|
|
|
val frag_grenade_projectile = ProjectileDefinition(Projectiles.frag_grenade_projectile)
|
|
|
|
|
|
|
|
|
|
val frag_grenade_projectile_enh = ProjectileDefinition(Projectiles.frag_grenade_projectile_enh)
|
|
|
|
|
|
|
|
|
|
val galaxy_gunship_gun_projectile = ProjectileDefinition(Projectiles.galaxy_gunship_gun_projectile)
|
|
|
|
|
|
|
|
|
|
val gauss_cannon_projectile = ProjectileDefinition(Projectiles.gauss_cannon_projectile)
|
|
|
|
|
|
|
|
|
|
val grenade_projectile = ProjectileDefinition(Projectiles.grenade_projectile)
|
|
|
|
|
|
|
|
|
|
val heavy_grenade_projectile = ProjectileDefinition(Projectiles.heavy_grenade_projectile)
|
|
|
|
|
|
|
|
|
|
val heavy_rail_beam_projectile = ProjectileDefinition(Projectiles.heavy_rail_beam_projectile)
|
|
|
|
|
|
|
|
|
|
val heavy_sniper_projectile = ProjectileDefinition(Projectiles.heavy_sniper_projectile)
|
|
|
|
|
|
|
|
|
|
val hellfire_projectile = ProjectileDefinition(Projectiles.hellfire_projectile)
|
|
|
|
|
|
|
|
|
|
val hunter_seeker_missile_dumbfire = ProjectileDefinition(Projectiles.hunter_seeker_missile_dumbfire)
|
|
|
|
|
|
|
|
|
|
val hunter_seeker_missile_projectile = ProjectileDefinition(Projectiles.hunter_seeker_missile_projectile)
|
|
|
|
|
|
|
|
|
|
val jammer_cartridge_projectile = ProjectileDefinition(Projectiles.jammer_cartridge_projectile)
|
|
|
|
|
|
|
|
|
|
val jammer_cartridge_projectile_b = ProjectileDefinition(Projectiles.jammer_cartridge_projectile_b)
|
|
|
|
|
|
|
|
|
|
val jammer_grenade_projectile = ProjectileDefinition(Projectiles.jammer_grenade_projectile)
|
|
|
|
|
|
|
|
|
|
val jammer_grenade_projectile_enh = ProjectileDefinition(Projectiles.jammer_grenade_projectile_enh)
|
|
|
|
|
|
|
|
|
|
val katana_projectile = ProjectileDefinition(Projectiles.katana_projectile)
|
|
|
|
|
|
|
|
|
|
val katana_projectileb = ProjectileDefinition(Projectiles.katana_projectileb)
|
|
|
|
|
|
|
|
|
|
val lancer_projectile = ProjectileDefinition(Projectiles.lancer_projectile)
|
|
|
|
|
|
|
|
|
|
val lasher_projectile = ProjectileDefinition(Projectiles.lasher_projectile)
|
|
|
|
|
|
|
|
|
|
val lasher_projectile_ap = ProjectileDefinition(Projectiles.lasher_projectile_ap)
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
val liberator_bomb_cluster_bomblet_projectile = ProjectileDefinition(
|
|
|
|
|
Projectiles.liberator_bomb_cluster_bomblet_projectile
|
|
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
|
|
|
|
val liberator_bomb_cluster_projectile = ProjectileDefinition(Projectiles.liberator_bomb_cluster_projectile)
|
|
|
|
|
|
|
|
|
|
val liberator_bomb_projectile = ProjectileDefinition(Projectiles.liberator_bomb_projectile)
|
|
|
|
|
|
|
|
|
|
val maelstrom_grenade_projectile = ProjectileDefinition(Projectiles.maelstrom_grenade_projectile)
|
|
|
|
|
|
|
|
|
|
val maelstrom_grenade_projectile_contact = ProjectileDefinition(Projectiles.maelstrom_grenade_projectile_contact)
|
|
|
|
|
|
|
|
|
|
val maelstrom_stream_projectile = ProjectileDefinition(Projectiles.maelstrom_stream_projectile)
|
|
|
|
|
|
|
|
|
|
val magcutter_projectile = ProjectileDefinition(Projectiles.magcutter_projectile)
|
|
|
|
|
|
|
|
|
|
val melee_ammo_projectile = ProjectileDefinition(Projectiles.melee_ammo_projectile)
|
|
|
|
|
|
|
|
|
|
val meteor_common = ProjectileDefinition(Projectiles.meteor_common)
|
|
|
|
|
|
|
|
|
|
val meteor_projectile_b_large = ProjectileDefinition(Projectiles.meteor_projectile_b_large)
|
|
|
|
|
|
|
|
|
|
val meteor_projectile_b_medium = ProjectileDefinition(Projectiles.meteor_projectile_b_medium)
|
|
|
|
|
|
|
|
|
|
val meteor_projectile_b_small = ProjectileDefinition(Projectiles.meteor_projectile_b_small)
|
|
|
|
|
|
|
|
|
|
val meteor_projectile_large = ProjectileDefinition(Projectiles.meteor_projectile_large)
|
|
|
|
|
|
|
|
|
|
val meteor_projectile_medium = ProjectileDefinition(Projectiles.meteor_projectile_medium)
|
|
|
|
|
|
|
|
|
|
val meteor_projectile_small = ProjectileDefinition(Projectiles.meteor_projectile_small)
|
|
|
|
|
|
|
|
|
|
val mine_projectile = ProjectileDefinition(Projectiles.mine_projectile)
|
|
|
|
|
|
|
|
|
|
val mine_sweeper_projectile = ProjectileDefinition(Projectiles.mine_sweeper_projectile)
|
|
|
|
|
|
|
|
|
|
val mine_sweeper_projectile_enh = ProjectileDefinition(Projectiles.mine_sweeper_projectile_enh)
|
|
|
|
|
|
|
|
|
|
val oicw_projectile = ProjectileDefinition(Projectiles.oicw_projectile)
|
|
|
|
|
|
2019-05-10 23:11:49 -04:00
|
|
|
val oicw_little_buddy = ProjectileDefinition(Projectiles.oicw_little_buddy)
|
|
|
|
|
|
2018-06-12 21:51:53 -04:00
|
|
|
val pellet_gun_projectile = ProjectileDefinition(Projectiles.pellet_gun_projectile)
|
|
|
|
|
|
|
|
|
|
val peregrine_dual_machine_gun_projectile = ProjectileDefinition(Projectiles.peregrine_dual_machine_gun_projectile)
|
|
|
|
|
|
|
|
|
|
val peregrine_mechhammer_projectile = ProjectileDefinition(Projectiles.peregrine_mechhammer_projectile)
|
|
|
|
|
|
|
|
|
|
val peregrine_particle_cannon_projectile = ProjectileDefinition(Projectiles.peregrine_particle_cannon_projectile)
|
|
|
|
|
|
|
|
|
|
val peregrine_rocket_pod_projectile = ProjectileDefinition(Projectiles.peregrine_rocket_pod_projectile)
|
|
|
|
|
|
|
|
|
|
val peregrine_sparrow_projectile = ProjectileDefinition(Projectiles.peregrine_sparrow_projectile)
|
|
|
|
|
|
|
|
|
|
val phalanx_av_projectile = ProjectileDefinition(Projectiles.phalanx_av_projectile)
|
|
|
|
|
|
|
|
|
|
val phalanx_flak_projectile = ProjectileDefinition(Projectiles.phalanx_flak_projectile)
|
|
|
|
|
|
|
|
|
|
val phalanx_projectile = ProjectileDefinition(Projectiles.phalanx_projectile)
|
|
|
|
|
|
|
|
|
|
val phoenix_missile_guided_projectile = ProjectileDefinition(Projectiles.phoenix_missile_guided_projectile)
|
|
|
|
|
|
|
|
|
|
val phoenix_missile_projectile = ProjectileDefinition(Projectiles.phoenix_missile_projectile)
|
|
|
|
|
|
|
|
|
|
val plasma_cartridge_projectile = ProjectileDefinition(Projectiles.plasma_cartridge_projectile)
|
|
|
|
|
|
|
|
|
|
val plasma_cartridge_projectile_b = ProjectileDefinition(Projectiles.plasma_cartridge_projectile_b)
|
|
|
|
|
|
|
|
|
|
val plasma_grenade_projectile = ProjectileDefinition(Projectiles.plasma_grenade_projectile)
|
|
|
|
|
|
|
|
|
|
val plasma_grenade_projectile_B = ProjectileDefinition(Projectiles.plasma_grenade_projectile_B)
|
|
|
|
|
|
|
|
|
|
val pounder_projectile = ProjectileDefinition(Projectiles.pounder_projectile)
|
|
|
|
|
|
|
|
|
|
val pounder_projectile_enh = ProjectileDefinition(Projectiles.pounder_projectile_enh)
|
|
|
|
|
|
|
|
|
|
val ppa_projectile = ProjectileDefinition(Projectiles.ppa_projectile)
|
|
|
|
|
|
|
|
|
|
val pulsar_ap_projectile = ProjectileDefinition(Projectiles.pulsar_ap_projectile)
|
|
|
|
|
|
|
|
|
|
val pulsar_projectile = ProjectileDefinition(Projectiles.pulsar_projectile)
|
|
|
|
|
|
|
|
|
|
val quasar_projectile = ProjectileDefinition(Projectiles.quasar_projectile)
|
|
|
|
|
|
|
|
|
|
val radiator_grenade_projectile = ProjectileDefinition(Projectiles.radiator_grenade_projectile)
|
|
|
|
|
|
|
|
|
|
val radiator_sticky_projectile = ProjectileDefinition(Projectiles.radiator_sticky_projectile)
|
|
|
|
|
|
|
|
|
|
val reaver_rocket_projectile = ProjectileDefinition(Projectiles.reaver_rocket_projectile)
|
|
|
|
|
|
|
|
|
|
val rocket_projectile = ProjectileDefinition(Projectiles.rocket_projectile)
|
|
|
|
|
|
|
|
|
|
val rocklet_flak_projectile = ProjectileDefinition(Projectiles.rocklet_flak_projectile)
|
|
|
|
|
|
|
|
|
|
val rocklet_jammer_projectile = ProjectileDefinition(Projectiles.rocklet_jammer_projectile)
|
|
|
|
|
|
|
|
|
|
val scattercannon_projectile = ProjectileDefinition(Projectiles.scattercannon_projectile)
|
|
|
|
|
|
|
|
|
|
val scythe_projectile = ProjectileDefinition(Projectiles.scythe_projectile)
|
|
|
|
|
|
|
|
|
|
val scythe_projectile_slave = ProjectileDefinition(Projectiles.scythe_projectile_slave)
|
|
|
|
|
|
|
|
|
|
val shotgun_shell_AP_projectile = ProjectileDefinition(Projectiles.shotgun_shell_AP_projectile)
|
|
|
|
|
|
|
|
|
|
val shotgun_shell_projectile = ProjectileDefinition(Projectiles.shotgun_shell_projectile)
|
|
|
|
|
|
|
|
|
|
val six_shooter_projectile = ProjectileDefinition(Projectiles.six_shooter_projectile)
|
|
|
|
|
|
|
|
|
|
val skyguard_flak_cannon_projectile = ProjectileDefinition(Projectiles.skyguard_flak_cannon_projectile)
|
|
|
|
|
|
|
|
|
|
val sparrow_projectile = ProjectileDefinition(Projectiles.sparrow_projectile)
|
|
|
|
|
|
|
|
|
|
val sparrow_secondary_projectile = ProjectileDefinition(Projectiles.sparrow_secondary_projectile)
|
|
|
|
|
|
|
|
|
|
val spiker_projectile = ProjectileDefinition(Projectiles.spiker_projectile)
|
|
|
|
|
|
|
|
|
|
val spitfire_aa_ammo_projectile = ProjectileDefinition(Projectiles.spitfire_aa_ammo_projectile)
|
|
|
|
|
|
|
|
|
|
val spitfire_ammo_projectile = ProjectileDefinition(Projectiles.spitfire_ammo_projectile)
|
|
|
|
|
|
|
|
|
|
val starfire_projectile = ProjectileDefinition(Projectiles.starfire_projectile)
|
|
|
|
|
|
|
|
|
|
val striker_missile_projectile = ProjectileDefinition(Projectiles.striker_missile_projectile)
|
|
|
|
|
|
|
|
|
|
val striker_missile_targeting_projectile = ProjectileDefinition(Projectiles.striker_missile_targeting_projectile)
|
|
|
|
|
|
|
|
|
|
val trek_projectile = ProjectileDefinition(Projectiles.trek_projectile)
|
|
|
|
|
|
|
|
|
|
val vanu_sentry_turret_projectile = ProjectileDefinition(Projectiles.vanu_sentry_turret_projectile)
|
|
|
|
|
|
|
|
|
|
val vulture_bomb_projectile = ProjectileDefinition(Projectiles.vulture_bomb_projectile)
|
|
|
|
|
|
|
|
|
|
val vulture_nose_bullet_projectile = ProjectileDefinition(Projectiles.vulture_nose_bullet_projectile)
|
|
|
|
|
|
|
|
|
|
val vulture_tail_bullet_projectile = ProjectileDefinition(Projectiles.vulture_tail_bullet_projectile)
|
|
|
|
|
|
|
|
|
|
val wasp_gun_projectile = ProjectileDefinition(Projectiles.wasp_gun_projectile)
|
|
|
|
|
|
|
|
|
|
val wasp_rocket_projectile = ProjectileDefinition(Projectiles.wasp_rocket_projectile)
|
|
|
|
|
|
|
|
|
|
val winchester_projectile = ProjectileDefinition(Projectiles.winchester_projectile)
|
|
|
|
|
init_projectile()
|
|
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
/*
|
|
|
|
|
Equipment (locker_container, kits, ammunition, weapons)
|
|
|
|
|
*/
|
|
|
|
|
import net.psforever.packet.game.objectcreate.ObjectClass
|
|
|
|
|
val locker_container = new EquipmentDefinition(456) {
|
2018-05-10 23:03:34 -04:00
|
|
|
Name = "locker_container"
|
2017-11-26 00:00:41 -05:00
|
|
|
Size = EquipmentSize.Inventory
|
|
|
|
|
Packet = new LockerContainerConverter()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val medkit = KitDefinition(Kits.medkit)
|
|
|
|
|
|
|
|
|
|
val super_medkit = KitDefinition(Kits.super_medkit)
|
|
|
|
|
|
|
|
|
|
val super_armorkit = KitDefinition(Kits.super_armorkit)
|
|
|
|
|
|
|
|
|
|
val super_staminakit = KitDefinition(Kits.super_staminakit) //super stimpak
|
2018-05-10 23:03:34 -04:00
|
|
|
init_kit()
|
2017-11-26 00:00:41 -05:00
|
|
|
|
|
|
|
|
val melee_ammo = AmmoBoxDefinition(Ammo.melee_ammo)
|
|
|
|
|
|
|
|
|
|
val frag_grenade_ammo = AmmoBoxDefinition(Ammo.frag_grenade_ammo)
|
|
|
|
|
|
|
|
|
|
val plasma_grenade_ammo = AmmoBoxDefinition(Ammo.plasma_grenade_ammo)
|
|
|
|
|
|
|
|
|
|
val jammer_grenade_ammo = AmmoBoxDefinition(Ammo.jammer_grenade_ammo)
|
|
|
|
|
|
|
|
|
|
val bullet_9mm = AmmoBoxDefinition(Ammo.bullet_9mm)
|
|
|
|
|
|
|
|
|
|
val bullet_9mm_AP = AmmoBoxDefinition(Ammo.bullet_9mm_AP)
|
|
|
|
|
|
|
|
|
|
val shotgun_shell = AmmoBoxDefinition(Ammo.shotgun_shell)
|
|
|
|
|
|
|
|
|
|
val shotgun_shell_AP = AmmoBoxDefinition(Ammo.shotgun_shell_AP)
|
|
|
|
|
|
|
|
|
|
val energy_cell = AmmoBoxDefinition(Ammo.energy_cell)
|
|
|
|
|
|
|
|
|
|
val anniversary_ammo = AmmoBoxDefinition(Ammo.anniversary_ammo) //10mm multi-phase
|
|
|
|
|
|
|
|
|
|
val ancient_ammo_combo = AmmoBoxDefinition(Ammo.ancient_ammo_combo)
|
|
|
|
|
|
|
|
|
|
val maelstrom_ammo = AmmoBoxDefinition(Ammo.maelstrom_ammo)
|
|
|
|
|
|
|
|
|
|
val phoenix_missile = AmmoBoxDefinition(Ammo.phoenix_missile) //decimator missile
|
|
|
|
|
|
|
|
|
|
val striker_missile_ammo = AmmoBoxDefinition(Ammo.striker_missile_ammo)
|
|
|
|
|
|
|
|
|
|
val hunter_seeker_missile = AmmoBoxDefinition(Ammo.hunter_seeker_missile) //phoenix missile
|
|
|
|
|
|
|
|
|
|
val lancer_cartridge = AmmoBoxDefinition(Ammo.lancer_cartridge)
|
|
|
|
|
|
|
|
|
|
val rocket = AmmoBoxDefinition(Ammo.rocket)
|
|
|
|
|
|
|
|
|
|
val frag_cartridge = AmmoBoxDefinition(Ammo.frag_cartridge)
|
|
|
|
|
|
|
|
|
|
val plasma_cartridge = AmmoBoxDefinition(Ammo.plasma_cartridge)
|
|
|
|
|
|
|
|
|
|
val jammer_cartridge = AmmoBoxDefinition(Ammo.jammer_cartridge)
|
|
|
|
|
|
|
|
|
|
val bolt = AmmoBoxDefinition(Ammo.bolt)
|
|
|
|
|
|
|
|
|
|
val oicw_ammo = AmmoBoxDefinition(Ammo.oicw_ammo) //scorpion missile
|
|
|
|
|
|
|
|
|
|
val flamethrower_ammo = AmmoBoxDefinition(Ammo.flamethrower_ammo)
|
|
|
|
|
|
2019-10-22 17:15:46 +01:00
|
|
|
val winchester_ammo = AmmoBoxDefinition(Ammo.winchester_ammo)
|
|
|
|
|
|
|
|
|
|
val pellet_gun_ammo = AmmoBoxDefinition(Ammo.pellet_gun_ammo)
|
|
|
|
|
|
|
|
|
|
val six_shooter_ammo = AmmoBoxDefinition(Ammo.six_shooter_ammo)
|
|
|
|
|
|
2017-12-30 19:28:43 -05:00
|
|
|
val dualcycler_ammo = AmmoBoxDefinition(Ammo.dualcycler_ammo)
|
|
|
|
|
|
|
|
|
|
val pounder_ammo = AmmoBoxDefinition(Ammo.pounder_ammo)
|
|
|
|
|
|
|
|
|
|
val burster_ammo = AmmoBoxDefinition(Ammo.burster_ammo)
|
|
|
|
|
|
|
|
|
|
val scattercannon_ammo = AmmoBoxDefinition(Ammo.scattercannon_ammo)
|
|
|
|
|
|
|
|
|
|
val falcon_ammo = AmmoBoxDefinition(Ammo.falcon_ammo)
|
|
|
|
|
|
|
|
|
|
val sparrow_ammo = AmmoBoxDefinition(Ammo.sparrow_ammo)
|
|
|
|
|
|
|
|
|
|
val quasar_ammo = AmmoBoxDefinition(Ammo.quasar_ammo)
|
|
|
|
|
|
|
|
|
|
val comet_ammo = AmmoBoxDefinition(Ammo.comet_ammo)
|
|
|
|
|
|
|
|
|
|
val starfire_ammo = AmmoBoxDefinition(Ammo.starfire_ammo)
|
|
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
val health_canister = AmmoBoxDefinition(Ammo.health_canister)
|
|
|
|
|
|
|
|
|
|
val armor_canister = AmmoBoxDefinition(Ammo.armor_canister)
|
|
|
|
|
|
|
|
|
|
val upgrade_canister = AmmoBoxDefinition(Ammo.upgrade_canister)
|
|
|
|
|
|
|
|
|
|
val trek_ammo = AmmoBoxDefinition(Ammo.trek_ammo)
|
2018-07-14 21:25:44 -04:00
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
val bullet_35mm = AmmoBoxDefinition(Ammo.bullet_35mm) //liberator nosegun
|
|
|
|
|
|
|
|
|
|
val ancient_ammo_vehicle = AmmoBoxDefinition(Ammo.ancient_ammo_vehicle)
|
2018-07-14 21:25:44 -04:00
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
val aphelion_laser_ammo = AmmoBoxDefinition(Ammo.aphelion_laser_ammo)
|
|
|
|
|
|
|
|
|
|
val aphelion_immolation_cannon_ammo = AmmoBoxDefinition(Ammo.aphelion_immolation_cannon_ammo)
|
|
|
|
|
|
|
|
|
|
val aphelion_plasma_rocket_ammo = AmmoBoxDefinition(Ammo.aphelion_plasma_rocket_ammo)
|
|
|
|
|
|
|
|
|
|
val aphelion_ppa_ammo = AmmoBoxDefinition(Ammo.aphelion_ppa_ammo)
|
|
|
|
|
|
|
|
|
|
val aphelion_starfire_ammo = AmmoBoxDefinition(Ammo.aphelion_starfire_ammo)
|
|
|
|
|
|
|
|
|
|
val skyguard_flak_cannon_ammo = AmmoBoxDefinition(Ammo.skyguard_flak_cannon_ammo)
|
|
|
|
|
|
|
|
|
|
val firebird_missile = AmmoBoxDefinition(ObjectClass.firebird_missile)
|
|
|
|
|
|
|
|
|
|
val flux_cannon_thresher_battery = AmmoBoxDefinition(Ammo.flux_cannon_thresher_battery)
|
|
|
|
|
|
|
|
|
|
val fluxpod_ammo = AmmoBoxDefinition(Ammo.fluxpod_ammo)
|
|
|
|
|
|
|
|
|
|
val hellfire_ammo = AmmoBoxDefinition(Ammo.hellfire_ammo)
|
|
|
|
|
|
|
|
|
|
val liberator_bomb = AmmoBoxDefinition(Ammo.liberator_bomb)
|
|
|
|
|
|
|
|
|
|
val bullet_25mm = AmmoBoxDefinition(Ammo.bullet_25mm) //liberator tailgun
|
|
|
|
|
|
|
|
|
|
val bullet_75mm = AmmoBoxDefinition(Ammo.bullet_75mm) //lightning shell
|
|
|
|
|
|
|
|
|
|
val heavy_grenade_mortar = AmmoBoxDefinition(Ammo.heavy_grenade_mortar) //marauder and gal gunship
|
|
|
|
|
|
|
|
|
|
val pulse_battery = AmmoBoxDefinition(Ammo.pulse_battery)
|
|
|
|
|
|
|
|
|
|
val heavy_rail_beam_battery = AmmoBoxDefinition(Ammo.heavy_rail_beam_battery)
|
|
|
|
|
|
|
|
|
|
val reaver_rocket = AmmoBoxDefinition(Ammo.reaver_rocket)
|
|
|
|
|
|
|
|
|
|
val bullet_20mm = AmmoBoxDefinition(Ammo.bullet_20mm) //reaver nosegun
|
|
|
|
|
|
|
|
|
|
val bullet_12mm = AmmoBoxDefinition(Ammo.bullet_12mm) //common
|
|
|
|
|
|
|
|
|
|
val wasp_rocket_ammo = AmmoBoxDefinition(Ammo.wasp_rocket_ammo)
|
|
|
|
|
|
|
|
|
|
val wasp_gun_ammo = AmmoBoxDefinition(Ammo.wasp_gun_ammo) //wasp nosegun
|
|
|
|
|
|
|
|
|
|
val bullet_15mm = AmmoBoxDefinition(Ammo.bullet_15mm)
|
|
|
|
|
|
|
|
|
|
val colossus_100mm_cannon_ammo = AmmoBoxDefinition(Ammo.colossus_100mm_cannon_ammo)
|
|
|
|
|
|
|
|
|
|
val colossus_burster_ammo = AmmoBoxDefinition(Ammo.colossus_burster_ammo)
|
|
|
|
|
|
|
|
|
|
val colossus_cluster_bomb_ammo = AmmoBoxDefinition(Ammo.colossus_cluster_bomb_ammo) //colossus mortar launcher shells
|
|
|
|
|
|
|
|
|
|
val colossus_chaingun_ammo = AmmoBoxDefinition(Ammo.colossus_chaingun_ammo)
|
|
|
|
|
|
|
|
|
|
val colossus_tank_cannon_ammo = AmmoBoxDefinition(Ammo.colossus_tank_cannon_ammo)
|
|
|
|
|
|
|
|
|
|
val bullet_105mm = AmmoBoxDefinition(Ammo.bullet_105mm) //prowler 100mm cannon shell
|
|
|
|
|
|
|
|
|
|
val gauss_cannon_ammo = AmmoBoxDefinition(Ammo.gauss_cannon_ammo)
|
|
|
|
|
|
|
|
|
|
val peregrine_dual_machine_gun_ammo = AmmoBoxDefinition(Ammo.peregrine_dual_machine_gun_ammo)
|
|
|
|
|
|
|
|
|
|
val peregrine_mechhammer_ammo = AmmoBoxDefinition(Ammo.peregrine_mechhammer_ammo)
|
|
|
|
|
|
|
|
|
|
val peregrine_particle_cannon_ammo = AmmoBoxDefinition(Ammo.peregrine_particle_cannon_ammo)
|
|
|
|
|
|
|
|
|
|
val peregrine_rocket_pod_ammo = AmmoBoxDefinition(Ammo.peregrine_rocket_pod_ammo)
|
|
|
|
|
|
|
|
|
|
val peregrine_sparrow_ammo = AmmoBoxDefinition(Ammo.peregrine_sparrow_ammo)
|
|
|
|
|
|
|
|
|
|
val bullet_150mm = AmmoBoxDefinition(Ammo.bullet_150mm)
|
2018-07-14 21:25:44 -04:00
|
|
|
|
|
|
|
|
val phalanx_ammo = AmmoBoxDefinition(Ammo.phalanx_ammo)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
val spitfire_ammo = AmmoBoxDefinition(Ammo.spitfire_ammo)
|
|
|
|
|
|
|
|
|
|
val spitfire_aa_ammo = AmmoBoxDefinition(Ammo.spitfire_aa_ammo)
|
|
|
|
|
|
|
|
|
|
val energy_gun_ammo = AmmoBoxDefinition(Ammo.energy_gun_ammo)
|
2017-11-26 00:00:41 -05:00
|
|
|
init_ammo()
|
|
|
|
|
|
|
|
|
|
val chainblade = ToolDefinition(ObjectClass.chainblade)
|
|
|
|
|
|
|
|
|
|
val magcutter = ToolDefinition(ObjectClass.magcutter)
|
|
|
|
|
|
|
|
|
|
val forceblade = ToolDefinition(ObjectClass.forceblade)
|
|
|
|
|
|
|
|
|
|
val katana = ToolDefinition(ObjectClass.katana)
|
|
|
|
|
|
|
|
|
|
val frag_grenade = ToolDefinition(ObjectClass.frag_grenade)
|
|
|
|
|
|
|
|
|
|
val plasma_grenade = ToolDefinition(ObjectClass.plasma_grenade)
|
|
|
|
|
|
|
|
|
|
val jammer_grenade = ToolDefinition(ObjectClass.jammer_grenade)
|
|
|
|
|
|
|
|
|
|
val repeater = ToolDefinition(ObjectClass.repeater)
|
|
|
|
|
|
|
|
|
|
val isp = ToolDefinition(ObjectClass.isp) //mag-scatter
|
|
|
|
|
|
|
|
|
|
val beamer = ToolDefinition(ObjectClass.beamer)
|
|
|
|
|
|
|
|
|
|
val ilc9 = ToolDefinition(ObjectClass.ilc9) //amp
|
|
|
|
|
|
|
|
|
|
val suppressor = ToolDefinition(ObjectClass.suppressor)
|
|
|
|
|
|
|
|
|
|
val punisher = ToolDefinition(ObjectClass.punisher)
|
|
|
|
|
|
|
|
|
|
val flechette = ToolDefinition(ObjectClass.flechette) //sweeper
|
|
|
|
|
|
|
|
|
|
val cycler = ToolDefinition(ObjectClass.cycler)
|
|
|
|
|
|
|
|
|
|
val gauss = ToolDefinition(ObjectClass.gauss)
|
|
|
|
|
|
|
|
|
|
val pulsar = ToolDefinition(ObjectClass.pulsar)
|
|
|
|
|
|
|
|
|
|
val anniversary_guna = ToolDefinition(ObjectClass.anniversary_guna) //tr stinger
|
|
|
|
|
|
|
|
|
|
val anniversary_gun = ToolDefinition(ObjectClass.anniversary_gun) //nc spear
|
|
|
|
|
|
|
|
|
|
val anniversary_gunb = ToolDefinition(ObjectClass.anniversary_gunb) //vs eraser
|
|
|
|
|
|
|
|
|
|
val spiker = ToolDefinition(ObjectClass.spiker)
|
|
|
|
|
|
|
|
|
|
val mini_chaingun = ToolDefinition(ObjectClass.mini_chaingun)
|
|
|
|
|
|
|
|
|
|
val r_shotgun = ToolDefinition(ObjectClass.r_shotgun) //jackhammer
|
|
|
|
|
|
|
|
|
|
val lasher = ToolDefinition(ObjectClass.lasher)
|
|
|
|
|
|
|
|
|
|
val maelstrom = ToolDefinition(ObjectClass.maelstrom)
|
|
|
|
|
|
2019-05-17 01:54:27 -04:00
|
|
|
val phoenix = ToolDefinition(ObjectClass.phoenix) //decimator
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-11-01 11:11:47 -04:00
|
|
|
val striker = ToolDefinition(ObjectClass.striker)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-11-01 11:11:47 -04:00
|
|
|
val hunterseeker = ToolDefinition(ObjectClass.hunterseeker)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
|
|
|
|
val lancer = ToolDefinition(ObjectClass.lancer)
|
|
|
|
|
|
|
|
|
|
val rocklet = ToolDefinition(ObjectClass.rocklet)
|
|
|
|
|
|
|
|
|
|
val thumper = ToolDefinition(ObjectClass.thumper)
|
|
|
|
|
|
|
|
|
|
val radiator = ToolDefinition(ObjectClass.radiator)
|
|
|
|
|
|
|
|
|
|
val heavy_sniper = ToolDefinition(ObjectClass.heavy_sniper) //hsr
|
|
|
|
|
|
|
|
|
|
val bolt_driver = ToolDefinition(ObjectClass.bolt_driver)
|
|
|
|
|
|
2018-11-21 20:31:51 -05:00
|
|
|
val oicw = ToolDefinition(ObjectClass.oicw)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
|
|
|
|
val flamethrower = ToolDefinition(ObjectClass.flamethrower)
|
|
|
|
|
|
2019-10-22 17:15:46 +01:00
|
|
|
val winchester = ToolDefinition(ObjectClass.winchester)
|
|
|
|
|
|
|
|
|
|
val pellet_gun = ToolDefinition(ObjectClass.pellet_gun)
|
|
|
|
|
|
|
|
|
|
val six_shooter = ToolDefinition(ObjectClass.six_shooter)
|
|
|
|
|
|
|
|
|
|
val dynomite = ToolDefinition(ObjectClass.dynomite)
|
|
|
|
|
|
2018-05-18 15:33:39 -04:00
|
|
|
val trhev_dualcycler = new ToolDefinition(ObjectClass.trhev_dualcycler) {
|
2020-08-26 02:18:44 +02:00
|
|
|
Name = "trhev_dualcycler"
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
override def NextFireModeIndex(index: Int): Int = index
|
2018-05-18 15:33:39 -04:00
|
|
|
}
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-18 15:33:39 -04:00
|
|
|
val trhev_pounder = new ToolDefinition(ObjectClass.trhev_pounder) {
|
2020-08-26 02:18:44 +02:00
|
|
|
Name = "trhev_pounder"
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
override def NextFireModeIndex(index: Int): Int = {
|
2018-05-18 15:33:39 -04:00
|
|
|
//TODO other modes
|
2020-07-14 05:54:05 +02:00
|
|
|
if (index == 0 || index == 3) {
|
|
|
|
|
if (index == 0) {
|
2018-05-18 15:33:39 -04:00
|
|
|
3 //3-second fuse
|
2020-07-14 05:54:05 +02:00
|
|
|
} else {
|
2018-05-18 15:33:39 -04:00
|
|
|
0 //explode on contact
|
|
|
|
|
}
|
2020-07-14 05:54:05 +02:00
|
|
|
} else if (index == 1 || index == 4) {
|
|
|
|
|
if (index == 1) {
|
2018-05-18 15:33:39 -04:00
|
|
|
4 //3-second fuse, anchored
|
2020-07-14 05:54:05 +02:00
|
|
|
} else {
|
2018-05-18 15:33:39 -04:00
|
|
|
1 //explode on contact, anchored
|
|
|
|
|
}
|
2020-07-14 05:54:05 +02:00
|
|
|
} else {
|
2018-05-18 15:33:39 -04:00
|
|
|
index
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-18 15:33:39 -04:00
|
|
|
val trhev_burster = new ToolDefinition(ObjectClass.trhev_burster) {
|
2020-08-26 02:18:44 +02:00
|
|
|
Name = "trhev_burster"
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
override def NextFireModeIndex(index: Int): Int = index
|
2018-05-18 15:33:39 -04:00
|
|
|
}
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-26 02:18:44 +02:00
|
|
|
val nchev_scattercannon = new ToolDefinition(ObjectClass.nchev_scattercannon) { Name = "nchev_scattercannon" }
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-26 02:18:44 +02:00
|
|
|
val nchev_falcon = new ToolDefinition(ObjectClass.nchev_falcon) { Name = "nchev_falcon" }
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-26 02:18:44 +02:00
|
|
|
val nchev_sparrow = new ToolDefinition(ObjectClass.nchev_sparrow) { Name = "nchev_sparrow" }
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-26 02:18:44 +02:00
|
|
|
val vshev_quasar = new ToolDefinition(ObjectClass.vshev_quasar) { Name = "vshev_quasar" }
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-26 02:18:44 +02:00
|
|
|
val vshev_comet = new ToolDefinition(ObjectClass.vshev_comet) { Name = "vshev_comet" }
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-08-26 02:18:44 +02:00
|
|
|
val vshev_starfire = new ToolDefinition(ObjectClass.vshev_starfire) { Name = "vshev_starfire" }
|
2017-11-26 00:00:41 -05:00
|
|
|
|
|
|
|
|
val medicalapplicator = ToolDefinition(ObjectClass.medicalapplicator)
|
|
|
|
|
|
|
|
|
|
val nano_dispenser = ToolDefinition(ObjectClass.nano_dispenser)
|
|
|
|
|
|
|
|
|
|
val bank = ToolDefinition(ObjectClass.bank)
|
|
|
|
|
|
2018-09-23 08:00:58 -04:00
|
|
|
val boomer_trigger = SimpleItemDefinition(SItem.boomer_trigger)
|
|
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
val remote_electronics_kit = SimpleItemDefinition(SItem.remote_electronics_kit)
|
|
|
|
|
|
|
|
|
|
val trek = ToolDefinition(ObjectClass.trek)
|
|
|
|
|
|
|
|
|
|
val flail_targeting_laser = SimpleItemDefinition(SItem.flail_targeting_laser)
|
|
|
|
|
|
|
|
|
|
val command_detonater = SimpleItemDefinition(SItem.command_detonater)
|
|
|
|
|
|
2018-09-23 08:00:58 -04:00
|
|
|
val ace = ConstructionItemDefinition(CItem.ace)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-09-23 08:00:58 -04:00
|
|
|
val advanced_ace = ConstructionItemDefinition(CItem.advanced_ace)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-10-17 12:36:43 -04:00
|
|
|
val router_telepad = ConstructionItemDefinition(CItem.router_telepad)
|
|
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
val fury_weapon_systema = ToolDefinition(ObjectClass.fury_weapon_systema)
|
|
|
|
|
|
|
|
|
|
val quadassault_weapon_system = ToolDefinition(ObjectClass.quadassault_weapon_system)
|
|
|
|
|
|
|
|
|
|
val scythe = ToolDefinition(ObjectClass.scythe) //TODO resolve ammo slot/pool discrepancy
|
|
|
|
|
|
|
|
|
|
val chaingun_p = ToolDefinition(ObjectClass.chaingun_p)
|
|
|
|
|
|
|
|
|
|
val skyguard_weapon_system = ToolDefinition(ObjectClass.skyguard_weapon_system)
|
|
|
|
|
|
|
|
|
|
val grenade_launcher_marauder = ToolDefinition(ObjectClass.grenade_launcher_marauder)
|
|
|
|
|
|
|
|
|
|
val advanced_missile_launcher_t = ToolDefinition(ObjectClass.advanced_missile_launcher_t)
|
|
|
|
|
|
|
|
|
|
val flux_cannon_thresher = ToolDefinition(ObjectClass.flux_cannon_thresher)
|
|
|
|
|
|
|
|
|
|
val mediumtransport_weapon_systemA = ToolDefinition(ObjectClass.mediumtransport_weapon_systemA)
|
|
|
|
|
|
|
|
|
|
val mediumtransport_weapon_systemB = ToolDefinition(ObjectClass.mediumtransport_weapon_systemB)
|
|
|
|
|
|
|
|
|
|
val battlewagon_weapon_systema = ToolDefinition(ObjectClass.battlewagon_weapon_systema)
|
|
|
|
|
|
|
|
|
|
val battlewagon_weapon_systemb = ToolDefinition(ObjectClass.battlewagon_weapon_systemb)
|
|
|
|
|
|
|
|
|
|
val battlewagon_weapon_systemc = ToolDefinition(ObjectClass.battlewagon_weapon_systemc)
|
|
|
|
|
|
|
|
|
|
val battlewagon_weapon_systemd = ToolDefinition(ObjectClass.battlewagon_weapon_systemd)
|
|
|
|
|
|
|
|
|
|
val thunderer_weapon_systema = ToolDefinition(ObjectClass.thunderer_weapon_systema)
|
|
|
|
|
|
|
|
|
|
val thunderer_weapon_systemb = ToolDefinition(ObjectClass.thunderer_weapon_systemb)
|
|
|
|
|
|
|
|
|
|
val aurora_weapon_systema = ToolDefinition(ObjectClass.aurora_weapon_systema)
|
|
|
|
|
|
|
|
|
|
val aurora_weapon_systemb = ToolDefinition(ObjectClass.aurora_weapon_systemb)
|
|
|
|
|
|
|
|
|
|
val apc_weapon_systema = ToolDefinition(ObjectClass.apc_weapon_systema)
|
|
|
|
|
|
|
|
|
|
val apc_weapon_systemb = ToolDefinition(ObjectClass.apc_weapon_systemb)
|
|
|
|
|
|
|
|
|
|
val apc_ballgun_r = ToolDefinition(ObjectClass.apc_ballgun_r)
|
|
|
|
|
|
|
|
|
|
val apc_ballgun_l = ToolDefinition(ObjectClass.apc_ballgun_l)
|
|
|
|
|
|
|
|
|
|
val apc_weapon_systemc_tr = ToolDefinition(ObjectClass.apc_weapon_systemc_tr)
|
|
|
|
|
|
|
|
|
|
val apc_weapon_systemd_tr = ToolDefinition(ObjectClass.apc_weapon_systemd_tr)
|
|
|
|
|
|
|
|
|
|
val apc_weapon_systemc_nc = ToolDefinition(ObjectClass.apc_weapon_systemc_nc)
|
|
|
|
|
|
|
|
|
|
val apc_weapon_systemd_nc = ToolDefinition(ObjectClass.apc_weapon_systemd_nc)
|
|
|
|
|
|
|
|
|
|
val apc_weapon_systemc_vs = ToolDefinition(ObjectClass.apc_weapon_systemc_vs)
|
|
|
|
|
|
|
|
|
|
val apc_weapon_systemd_vs = ToolDefinition(ObjectClass.apc_weapon_systemd_vs)
|
|
|
|
|
|
|
|
|
|
val lightning_weapon_system = ToolDefinition(ObjectClass.lightning_weapon_system)
|
|
|
|
|
|
|
|
|
|
val prowler_weapon_systemA = ToolDefinition(ObjectClass.prowler_weapon_systemA)
|
|
|
|
|
|
|
|
|
|
val prowler_weapon_systemB = ToolDefinition(ObjectClass.prowler_weapon_systemB)
|
|
|
|
|
|
|
|
|
|
val vanguard_weapon_system = ToolDefinition(ObjectClass.vanguard_weapon_system)
|
|
|
|
|
|
|
|
|
|
val particle_beam_magrider = ToolDefinition(ObjectClass.particle_beam_magrider)
|
|
|
|
|
|
|
|
|
|
val heavy_rail_beam_magrider = ToolDefinition(ObjectClass.heavy_rail_beam_magrider)
|
|
|
|
|
|
|
|
|
|
val flail_weapon = ToolDefinition(ObjectClass.flail_weapon)
|
|
|
|
|
|
|
|
|
|
val rotarychaingun_mosquito = ToolDefinition(ObjectClass.rotarychaingun_mosquito)
|
|
|
|
|
|
|
|
|
|
val lightgunship_weapon_system = ToolDefinition(ObjectClass.lightgunship_weapon_system)
|
|
|
|
|
|
2019-11-01 11:11:47 -04:00
|
|
|
val wasp_weapon_system = new ToolDefinition(ObjectClass.wasp_weapon_system)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
|
|
|
|
val liberator_weapon_system = ToolDefinition(ObjectClass.liberator_weapon_system)
|
|
|
|
|
|
|
|
|
|
val liberator_bomb_bay = ToolDefinition(ObjectClass.liberator_bomb_bay)
|
|
|
|
|
|
|
|
|
|
val liberator_25mm_cannon = ToolDefinition(ObjectClass.liberator_25mm_cannon)
|
|
|
|
|
|
|
|
|
|
val vulture_nose_weapon_system = ToolDefinition(ObjectClass.vulture_nose_weapon_system)
|
|
|
|
|
|
|
|
|
|
val vulture_bomb_bay = ToolDefinition(ObjectClass.vulture_bomb_bay)
|
|
|
|
|
|
|
|
|
|
val vulture_tail_cannon = ToolDefinition(ObjectClass.vulture_tail_cannon)
|
|
|
|
|
|
|
|
|
|
val cannon_dropship_20mm = ToolDefinition(ObjectClass.cannon_dropship_20mm)
|
|
|
|
|
|
|
|
|
|
val dropship_rear_turret = ToolDefinition(ObjectClass.dropship_rear_turret)
|
|
|
|
|
|
|
|
|
|
val galaxy_gunship_cannon = ToolDefinition(ObjectClass.galaxy_gunship_cannon)
|
|
|
|
|
|
|
|
|
|
val galaxy_gunship_tailgun = ToolDefinition(ObjectClass.galaxy_gunship_tailgun)
|
|
|
|
|
|
|
|
|
|
val galaxy_gunship_gun = ToolDefinition(ObjectClass.galaxy_gunship_gun)
|
2018-07-14 21:25:44 -04:00
|
|
|
|
|
|
|
|
val phalanx_sgl_hevgatcan = ToolDefinition(ObjectClass.phalanx_sgl_hevgatcan)
|
|
|
|
|
|
|
|
|
|
val phalanx_avcombo = ToolDefinition(ObjectClass.phalanx_avcombo)
|
|
|
|
|
|
|
|
|
|
val phalanx_flakcombo = ToolDefinition(ObjectClass.phalanx_flakcombo)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
2020-02-14 15:52:57 +00:00
|
|
|
val vanu_sentry_turret_weapon = ToolDefinition(ObjectClass.vanu_sentry_turret_weapon)
|
|
|
|
|
|
2018-09-23 08:00:58 -04:00
|
|
|
val spitfire_weapon = ToolDefinition(ObjectClass.spitfire_weapon)
|
|
|
|
|
|
|
|
|
|
val spitfire_aa_weapon = ToolDefinition(ObjectClass.spitfire_aa_weapon)
|
|
|
|
|
|
|
|
|
|
val energy_gun = ToolDefinition(ObjectClass.energy_gun)
|
|
|
|
|
|
|
|
|
|
val energy_gun_nc = ToolDefinition(ObjectClass.energy_gun_nc)
|
|
|
|
|
|
|
|
|
|
val energy_gun_tr = ToolDefinition(ObjectClass.energy_gun_tr)
|
|
|
|
|
|
|
|
|
|
val energy_gun_vs = ToolDefinition(ObjectClass.energy_gun_vs)
|
2017-11-26 00:00:41 -05:00
|
|
|
init_tools()
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
Vehicles
|
|
|
|
|
*/
|
|
|
|
|
val fury = VehicleDefinition(ObjectClass.fury)
|
|
|
|
|
|
|
|
|
|
val quadassault = VehicleDefinition(ObjectClass.quadassault)
|
|
|
|
|
|
|
|
|
|
val quadstealth = VehicleDefinition(ObjectClass.quadstealth)
|
|
|
|
|
|
|
|
|
|
val two_man_assault_buggy = VehicleDefinition(ObjectClass.two_man_assault_buggy)
|
|
|
|
|
|
|
|
|
|
val skyguard = VehicleDefinition(ObjectClass.skyguard)
|
|
|
|
|
|
|
|
|
|
val threemanheavybuggy = VehicleDefinition(ObjectClass.threemanheavybuggy)
|
|
|
|
|
|
|
|
|
|
val twomanheavybuggy = VehicleDefinition(ObjectClass.twomanheavybuggy)
|
|
|
|
|
|
|
|
|
|
val twomanhoverbuggy = VehicleDefinition(ObjectClass.twomanhoverbuggy)
|
|
|
|
|
|
|
|
|
|
val mediumtransport = VehicleDefinition(ObjectClass.mediumtransport)
|
|
|
|
|
|
|
|
|
|
val battlewagon = VehicleDefinition(ObjectClass.battlewagon)
|
|
|
|
|
|
|
|
|
|
val thunderer = VehicleDefinition(ObjectClass.thunderer)
|
|
|
|
|
|
|
|
|
|
val aurora = VehicleDefinition(ObjectClass.aurora)
|
|
|
|
|
|
|
|
|
|
val apc_tr = VehicleDefinition(ObjectClass.apc_tr)
|
|
|
|
|
|
|
|
|
|
val apc_nc = VehicleDefinition(ObjectClass.apc_nc)
|
|
|
|
|
|
|
|
|
|
val apc_vs = VehicleDefinition(ObjectClass.apc_vs)
|
|
|
|
|
|
|
|
|
|
val lightning = VehicleDefinition(ObjectClass.lightning)
|
|
|
|
|
|
|
|
|
|
val prowler = VehicleDefinition(ObjectClass.prowler)
|
|
|
|
|
|
|
|
|
|
val vanguard = VehicleDefinition(ObjectClass.vanguard)
|
|
|
|
|
|
|
|
|
|
val magrider = VehicleDefinition(ObjectClass.magrider)
|
|
|
|
|
|
|
|
|
|
val ant = VehicleDefinition(ObjectClass.ant)
|
|
|
|
|
|
|
|
|
|
val ams = VehicleDefinition(ObjectClass.ams)
|
|
|
|
|
|
|
|
|
|
val router = VehicleDefinition(ObjectClass.router)
|
|
|
|
|
|
|
|
|
|
val switchblade = VehicleDefinition(ObjectClass.switchblade)
|
|
|
|
|
|
|
|
|
|
val flail = VehicleDefinition(ObjectClass.flail)
|
|
|
|
|
|
|
|
|
|
val mosquito = VehicleDefinition(ObjectClass.mosquito)
|
|
|
|
|
|
|
|
|
|
val lightgunship = VehicleDefinition(ObjectClass.lightgunship)
|
|
|
|
|
|
|
|
|
|
val wasp = VehicleDefinition(ObjectClass.wasp)
|
|
|
|
|
|
|
|
|
|
val liberator = VehicleDefinition(ObjectClass.liberator)
|
|
|
|
|
|
|
|
|
|
val vulture = VehicleDefinition(ObjectClass.vulture)
|
|
|
|
|
|
|
|
|
|
val dropship = VehicleDefinition(ObjectClass.dropship)
|
|
|
|
|
|
|
|
|
|
val galaxy_gunship = VehicleDefinition(ObjectClass.galaxy_gunship)
|
|
|
|
|
|
|
|
|
|
val lodestar = VehicleDefinition(ObjectClass.lodestar)
|
|
|
|
|
|
|
|
|
|
val phantasm = VehicleDefinition(ObjectClass.phantasm)
|
2020-04-16 21:21:33 -04:00
|
|
|
|
|
|
|
|
val droppod = VehicleDefinition(ObjectClass.droppod)
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
|
|
|
|
|
val orbital_shuttle = VehicleDefinition(ObjectClass.orbital_shuttle)
|
2017-11-26 00:00:41 -05:00
|
|
|
init_vehicles()
|
|
|
|
|
|
2018-09-23 08:00:58 -04:00
|
|
|
/*
|
|
|
|
|
combat engineering deployables
|
|
|
|
|
*/
|
2019-12-27 00:18:46 -05:00
|
|
|
val boomer = ExplosiveDeployableDefinition(DeployedItem.boomer)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
2019-12-27 00:18:46 -05:00
|
|
|
val he_mine = ExplosiveDeployableDefinition(DeployedItem.he_mine)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
2019-12-27 00:18:46 -05:00
|
|
|
val jammer_mine = ExplosiveDeployableDefinition(DeployedItem.jammer_mine)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
val spitfire_turret = TurretDeployableDefinition(DeployedItem.spitfire_turret)
|
|
|
|
|
|
|
|
|
|
val spitfire_cloaked = TurretDeployableDefinition(DeployedItem.spitfire_cloaked)
|
|
|
|
|
|
|
|
|
|
val spitfire_aa = TurretDeployableDefinition(DeployedItem.spitfire_aa)
|
|
|
|
|
|
2019-12-27 00:18:46 -05:00
|
|
|
val motionalarmsensor = SensorDeployableDefinition(DeployedItem.motionalarmsensor)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
2019-12-27 00:18:46 -05:00
|
|
|
val sensor_shield = SensorDeployableDefinition(DeployedItem.sensor_shield)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
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 15:17:32 -04:00
|
|
|
val tank_traps = TrapDeployableDefinition(DeployedItem.tank_traps)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
val portable_manned_turret = TurretDeployableDefinition(DeployedItem.portable_manned_turret)
|
|
|
|
|
|
|
|
|
|
val portable_manned_turret_nc = TurretDeployableDefinition(DeployedItem.portable_manned_turret_nc)
|
|
|
|
|
|
|
|
|
|
val portable_manned_turret_tr = TurretDeployableDefinition(DeployedItem.portable_manned_turret_tr)
|
|
|
|
|
|
|
|
|
|
val portable_manned_turret_vs = TurretDeployableDefinition(DeployedItem.portable_manned_turret_vs)
|
|
|
|
|
|
|
|
|
|
val deployable_shield_generator = new ShieldGeneratorDefinition
|
2018-10-17 12:36:43 -04:00
|
|
|
|
2019-12-21 09:08:06 -05:00
|
|
|
val router_telepad_deployable = SimpleDeployableDefinition(DeployedItem.router_telepad_deployable)
|
2018-10-17 12:36:43 -04:00
|
|
|
|
2021-02-08 00:20:17 -05:00
|
|
|
val special_emp = ExplosiveDeployableDefinition(DeployedItem.jammer_mine)
|
|
|
|
|
|
2019-11-01 11:11:47 -04:00
|
|
|
//this is only treated like a deployable
|
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 15:17:32 -04:00
|
|
|
val internal_router_telepad_deployable = InternalTelepadDefinition() //objectId: 744
|
2018-09-23 08:00:58 -04:00
|
|
|
init_deployables()
|
|
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
/*
|
|
|
|
|
Miscellaneous
|
|
|
|
|
*/
|
2018-03-24 00:28:02 -04:00
|
|
|
val ams_respawn_tube = new SpawnTubeDefinition(49)
|
2018-02-24 21:03:20 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val matrix_terminala = new MatrixTerminalDefinition(517)
|
|
|
|
|
|
|
|
|
|
val matrix_terminalb = new MatrixTerminalDefinition(518)
|
|
|
|
|
|
2018-02-24 23:25:16 -05:00
|
|
|
val matrix_terminalc = new MatrixTerminalDefinition(519)
|
|
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val spawn_terminal = new MatrixTerminalDefinition(812)
|
|
|
|
|
|
|
|
|
|
val order_terminal = new OrderTerminalDefinition(612)
|
|
|
|
|
|
|
|
|
|
val order_terminala = new OrderTerminalDefinition(613)
|
2018-02-09 22:57:04 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val order_terminalb = new OrderTerminalDefinition(614)
|
2018-02-09 22:57:04 -05:00
|
|
|
|
2020-01-17 18:36:15 +00:00
|
|
|
val vanu_equipment_term = new OrderTerminalDefinition(933)
|
|
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val cert_terminal = new OrderTerminalDefinition(171)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2017-11-29 22:30:25 -05:00
|
|
|
val implant_terminal_mech = new ImplantTerminalMechDefinition
|
|
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val implant_terminal_interface = new OrderTerminalDefinition(409)
|
2017-11-29 22:30:25 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val ground_vehicle_terminal = new OrderTerminalDefinition(386)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val air_vehicle_terminal = new OrderTerminalDefinition(43)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val dropship_vehicle_terminal = new OrderTerminalDefinition(263)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val vehicle_terminal_combined = new OrderTerminalDefinition(952)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-01-17 18:36:15 +00:00
|
|
|
val vanu_air_vehicle_term = new OrderTerminalDefinition(928)
|
|
|
|
|
|
|
|
|
|
val vanu_vehicle_term = new OrderTerminalDefinition(949)
|
|
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val bfr_terminal = new OrderTerminalDefinition(143)
|
2018-03-24 00:28:02 -04:00
|
|
|
|
|
|
|
|
val respawn_tube = new SpawnTubeDefinition(732)
|
|
|
|
|
|
2019-04-08 08:05:15 -04:00
|
|
|
val respawn_tube_sanctuary = new SpawnTubeDefinition(732) //respawn_tube for sanctuary VT_building_* structures
|
|
|
|
|
|
2018-03-24 00:28:02 -04:00
|
|
|
val respawn_tube_tower = new SpawnTubeDefinition(733)
|
2018-03-10 21:18:27 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val teleportpad_terminal = new OrderTerminalDefinition(853)
|
2018-10-17 12:36:43 -04:00
|
|
|
|
2018-04-18 11:56:26 -04:00
|
|
|
val adv_med_terminal = new MedicalTerminalDefinition(38)
|
|
|
|
|
|
|
|
|
|
val crystals_health_a = new MedicalTerminalDefinition(225)
|
|
|
|
|
|
|
|
|
|
val crystals_health_b = new MedicalTerminalDefinition(226)
|
|
|
|
|
|
|
|
|
|
val medical_terminal = new MedicalTerminalDefinition(529)
|
|
|
|
|
|
2018-12-23 21:09:12 -05:00
|
|
|
val portable_med_terminal = new MedicalTerminalDefinition(689)
|
2018-05-16 20:35:33 -04:00
|
|
|
|
2018-12-23 21:09:12 -05:00
|
|
|
val pad_landing_frame = new MedicalTerminalDefinition(618)
|
|
|
|
|
|
|
|
|
|
val pad_landing_tower_frame = new MedicalTerminalDefinition(619)
|
|
|
|
|
|
|
|
|
|
val repair_silo = new MedicalTerminalDefinition(729)
|
2018-05-13 21:57:14 -04:00
|
|
|
|
2019-04-04 19:44:57 +01:00
|
|
|
val mb_pad_creation = new VehicleSpawnPadDefinition(525)
|
|
|
|
|
|
|
|
|
|
val dropship_pad_doors = new VehicleSpawnPadDefinition(261)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2020-01-17 18:36:15 +00:00
|
|
|
val vanu_vehicle_creation_pad = new VehicleSpawnPadDefinition(947)
|
|
|
|
|
|
2018-01-26 15:32:08 -05:00
|
|
|
val mb_locker = new LockerDefinition
|
2018-01-22 20:45:05 -05:00
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
val lock_external = new IFFLockDefinition
|
|
|
|
|
|
|
|
|
|
val door = new DoorDefinition
|
|
|
|
|
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
val gr_door_mb_orb = new DoorDefinition
|
|
|
|
|
|
2018-05-26 12:52:03 +01:00
|
|
|
val resource_silo = new ResourceSiloDefinition
|
|
|
|
|
|
2018-08-10 23:21:15 +01:00
|
|
|
val capture_terminal = new CaptureTerminalDefinition(158) // Base CC
|
|
|
|
|
|
|
|
|
|
val secondary_capture = new CaptureTerminalDefinition(751) // Tower CC
|
|
|
|
|
|
2020-01-17 18:36:15 +00:00
|
|
|
val vanu_control_console = new CaptureTerminalDefinition(930) // Cavern CC
|
|
|
|
|
|
2021-01-26 22:57:44 +00:00
|
|
|
val llm_socket = new CaptureFlagSocketDefinition()
|
|
|
|
|
|
|
|
|
|
val capture_flag = new CaptureFlagDefinition()
|
|
|
|
|
capture_flag.Packet = new CaptureFlagConverter
|
|
|
|
|
|
2018-12-23 21:09:12 -05:00
|
|
|
val lodestar_repair_terminal = new MedicalTerminalDefinition(461)
|
2018-12-05 01:17:02 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val multivehicle_rearm_terminal = new OrderTerminalDefinition(576)
|
2018-12-05 01:17:02 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val bfr_rearm_terminal = new OrderTerminalDefinition(142)
|
2018-12-05 01:17:02 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val air_rearm_terminal = new OrderTerminalDefinition(42)
|
2018-12-23 21:09:12 -05:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
val ground_rearm_terminal = new OrderTerminalDefinition(384)
|
2018-12-23 21:09:12 -05:00
|
|
|
|
2019-12-21 09:08:06 -05:00
|
|
|
val manned_turret = new FacilityTurretDefinition(480)
|
2019-10-06 19:09:25 +01:00
|
|
|
|
2020-02-14 15:52:57 +00:00
|
|
|
val vanu_sentry_turret = new FacilityTurretDefinition(943)
|
|
|
|
|
|
2019-10-06 19:09:25 +01:00
|
|
|
val painbox = new PainboxDefinition(622)
|
2020-01-17 13:19:07 -05:00
|
|
|
|
2019-10-06 19:09:25 +01:00
|
|
|
val painbox_continuous = new PainboxDefinition(623)
|
2020-01-17 13:19:07 -05:00
|
|
|
|
2019-10-06 19:09:25 +01:00
|
|
|
val painbox_door_radius = new PainboxDefinition(624)
|
2020-01-17 13:19:07 -05:00
|
|
|
|
2019-10-06 19:09:25 +01:00
|
|
|
val painbox_door_radius_continuous = new PainboxDefinition(625)
|
2020-01-17 13:19:07 -05:00
|
|
|
|
2019-10-06 19:09:25 +01:00
|
|
|
val painbox_radius = new PainboxDefinition(626)
|
2020-01-17 13:19:07 -05:00
|
|
|
|
2019-10-06 19:09:25 +01:00
|
|
|
val painbox_radius_continuous = new PainboxDefinition(627)
|
|
|
|
|
|
2020-01-17 13:19:07 -05:00
|
|
|
val gen_control = new GeneratorTerminalDefinition(349)
|
|
|
|
|
|
|
|
|
|
val generator = new GeneratorDefinition(351)
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
|
2021-04-16 21:37:20 +02:00
|
|
|
val obbasemesh = new AmenityDefinition(598) {}
|
2018-12-23 21:09:12 -05:00
|
|
|
initMiscellaneous()
|
2018-07-14 21:25:44 -04:00
|
|
|
|
2019-04-08 08:05:15 -04:00
|
|
|
/*
|
|
|
|
|
Buildings
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
val building = new BuildingDefinition(474) { Name = "building" } //borrows object id of entity mainbase1
|
|
|
|
|
val amp_station = new BuildingDefinition(45) { Name = "amp_station"; SOIRadius = 300 }
|
|
|
|
|
val comm_station = new BuildingDefinition(211) { Name = "comm_station"; SOIRadius = 300 }
|
2020-04-16 21:21:33 -04:00
|
|
|
val comm_station_dsp = new BuildingDefinition(212) { Name = "comm_station_dsp"; SOIRadius = 300 }
|
2020-07-14 05:54:05 +02:00
|
|
|
val cryo_facility = new BuildingDefinition(215) { Name = "cryo_facility"; SOIRadius = 300 }
|
2020-04-16 21:21:33 -04:00
|
|
|
|
|
|
|
|
val vanu_core = new BuildingDefinition(932) { Name = "vanu_core" }
|
|
|
|
|
|
|
|
|
|
val ground_bldg_a = new BuildingDefinition(474) { Name = "ground_bldg_a" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_b = new BuildingDefinition(474) { Name = "ground_bldg_b" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_c = new BuildingDefinition(474) { Name = "ground_bldg_c" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_d = new BuildingDefinition(474) { Name = "ground_bldg_d" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_e = new BuildingDefinition(474) { Name = "ground_bldg_e" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_f = new BuildingDefinition(474) { Name = "ground_bldg_f" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_g = new BuildingDefinition(474) { Name = "ground_bldg_g" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_h = new BuildingDefinition(474) { Name = "ground_bldg_h" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_i = new BuildingDefinition(474) { Name = "ground_bldg_i" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_j = new BuildingDefinition(474) { Name = "ground_bldg_j" } //borrows object id of entity mainbase1
|
|
|
|
|
val ground_bldg_z = new BuildingDefinition(474) { Name = "ground_bldg_z" } //borrows object id of entity mainbase1
|
|
|
|
|
|
|
|
|
|
val ceiling_bldg_a = new BuildingDefinition(474) { Name = "ceiling_bldg_a" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_b = new BuildingDefinition(474) { Name = "ceiling_bldg_b" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_c = new BuildingDefinition(474) { Name = "ceiling_bldg_c" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_d = new BuildingDefinition(474) { Name = "ceiling_bldg_d" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_e = new BuildingDefinition(474) { Name = "ceiling_bldg_e" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_f = new BuildingDefinition(474) { Name = "ceiling_bldg_f" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_g = new BuildingDefinition(474) { Name = "ceiling_bldg_g" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_h = new BuildingDefinition(474) { Name = "ceiling_bldg_h" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_i = new BuildingDefinition(474) { Name = "ceiling_bldg_i" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_j = new BuildingDefinition(474) { Name = "ceiling_bldg_j" } //borrows object id of entity mainbase1
|
|
|
|
|
val ceiling_bldg_z = new BuildingDefinition(474) { Name = "ceiling_bldg_z" } //borrows object id of entity mainbase1
|
|
|
|
|
|
|
|
|
|
val hst = new WarpGateDefinition(402)
|
2019-04-08 08:05:15 -04:00
|
|
|
hst.Name = "hst"
|
|
|
|
|
hst.UseRadius = 20.4810f
|
2020-04-16 21:21:33 -04:00
|
|
|
hst.SOIRadius = 21
|
2019-04-08 08:05:15 -04:00
|
|
|
hst.VehicleAllowance = true
|
|
|
|
|
hst.NoWarp += dropship
|
|
|
|
|
hst.NoWarp += galaxy_gunship
|
|
|
|
|
hst.NoWarp += lodestar
|
|
|
|
|
//hst.NoWarp += aphelion_gunner
|
|
|
|
|
//hst.NoWarp += aphelion_flight
|
|
|
|
|
//hst.NoWarp += colossus_gunner
|
|
|
|
|
//hst.NoWarp += colossus_flight
|
|
|
|
|
//hst.NoWarp += peregrine_gunner
|
|
|
|
|
//hst.NoWarp += peregrine_flight
|
|
|
|
|
hst.SpecificPointFunc = SpawnPoint.Gate
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
val mainbase1 = new BuildingDefinition(474) { Name = "mainbase1" }
|
|
|
|
|
val mainbase2 = new BuildingDefinition(475) { Name = "mainbase2" }
|
|
|
|
|
val mainbase3 = new BuildingDefinition(476) { Name = "mainbase3" }
|
|
|
|
|
val meeting_center_nc = new BuildingDefinition(537) { Name = "meeting_center_nc" }
|
|
|
|
|
val meeting_center_tr = new BuildingDefinition(538) { Name = "meeting_center_tr" }
|
|
|
|
|
val meeting_center_vs = new BuildingDefinition(539) { Name = "meeting_center_vs" }
|
|
|
|
|
val minibase1 = new BuildingDefinition(557) { Name = "minibase1" }
|
|
|
|
|
val minibase2 = new BuildingDefinition(558) { Name = "minibase2" }
|
|
|
|
|
val minibase3 = new BuildingDefinition(559) { Name = "minibase3" }
|
|
|
|
|
val redoubt = new BuildingDefinition(726) { Name = "redoubt"; SOIRadius = 187 }
|
|
|
|
|
val tech_plant = new BuildingDefinition(852) { Name = "tech_plant"; SOIRadius = 300 }
|
|
|
|
|
val tower_a = new BuildingDefinition(869) { Name = "tower_a"; SOIRadius = 50 }
|
|
|
|
|
val tower_b = new BuildingDefinition(870) { Name = "tower_b"; SOIRadius = 50 }
|
|
|
|
|
val tower_c = new BuildingDefinition(871) { Name = "tower_c"; SOIRadius = 50 }
|
|
|
|
|
val vanu_control_point = new BuildingDefinition(931) { Name = "vanu_control_point"; SOIRadius = 187 }
|
2020-04-16 21:21:33 -04:00
|
|
|
val vanu_vehicle_station = new BuildingDefinition(948) { Name = "vanu_vehicle_station"; SOIRadius = 187 }
|
|
|
|
|
|
|
|
|
|
val warpgate = new WarpGateDefinition(993)
|
2019-10-06 19:09:25 +01:00
|
|
|
warpgate.Name = "warpgate"
|
|
|
|
|
warpgate.UseRadius = 301.8713f
|
2020-04-16 21:21:33 -04:00
|
|
|
warpgate.SOIRadius = 302
|
2019-10-06 19:09:25 +01:00
|
|
|
warpgate.VehicleAllowance = true
|
|
|
|
|
warpgate.SpecificPointFunc = SpawnPoint.Gate
|
|
|
|
|
|
2020-04-16 21:21:33 -04:00
|
|
|
val warpgate_cavern = new WarpGateDefinition(994)
|
2019-04-08 08:05:15 -04:00
|
|
|
warpgate_cavern.Name = "warpgate_cavern"
|
2019-10-06 19:09:25 +01:00
|
|
|
warpgate_cavern.UseRadius = 51.0522f
|
2020-04-16 21:21:33 -04:00
|
|
|
warpgate_cavern.SOIRadius = 52
|
2019-04-08 08:05:15 -04:00
|
|
|
warpgate_cavern.VehicleAllowance = true
|
|
|
|
|
warpgate_cavern.SpecificPointFunc = SpawnPoint.Gate
|
|
|
|
|
|
2020-04-16 21:21:33 -04:00
|
|
|
val warpgate_small = new WarpGateDefinition(995)
|
2019-10-06 19:09:25 +01:00
|
|
|
warpgate_small.Name = "warpgate_small"
|
|
|
|
|
warpgate_small.UseRadius = 103f
|
2020-04-16 21:21:33 -04:00
|
|
|
warpgate_small.SOIRadius = 103
|
2019-10-06 19:09:25 +01:00
|
|
|
warpgate_small.VehicleAllowance = true
|
|
|
|
|
warpgate_small.SpecificPointFunc = SpawnPoint.Gate
|
|
|
|
|
|
2020-04-16 21:21:33 -04:00
|
|
|
val bunker_gauntlet = new BuildingDefinition(150) { Name = "bunker_gauntlet" }
|
2020-07-14 05:54:05 +02:00
|
|
|
val bunker_lg = new BuildingDefinition(151) { Name = "bunker_lg" }
|
|
|
|
|
val bunker_sm = new BuildingDefinition(152) { Name = "bunker_sm" }
|
2019-10-06 19:09:25 +01:00
|
|
|
|
2020-04-16 21:21:33 -04:00
|
|
|
val orbital_building_nc = new BuildingDefinition(605) { Name = "orbital_building_nc" }
|
|
|
|
|
val orbital_building_tr = new BuildingDefinition(606) { Name = "orbital_building_tr" }
|
|
|
|
|
val orbital_building_vs = new BuildingDefinition(607) { Name = "orbital_building_vs" }
|
2020-07-14 05:54:05 +02:00
|
|
|
val VT_building_nc = new BuildingDefinition(978) { Name = "VT_building_nc" }
|
|
|
|
|
val VT_building_tr = new BuildingDefinition(979) { Name = "VT_building_tr" }
|
|
|
|
|
val VT_building_vs = new BuildingDefinition(980) { Name = "VT_building_vs" }
|
|
|
|
|
val vt_dropship = new BuildingDefinition(981) { Name = "vt_dropship" }
|
|
|
|
|
val vt_spawn = new BuildingDefinition(984) { Name = "vt_spawn" }
|
|
|
|
|
val vt_vehicle = new BuildingDefinition(985) { Name = "vt_vehicle" }
|
2019-10-06 19:09:25 +01: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 18:46:01 -04:00
|
|
|
/**
|
|
|
|
|
* Given a faction, provide the standard assault melee weapon.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return the `ToolDefinition` for the melee weapon
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def StandardMelee(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => chainblade
|
|
|
|
|
case PlanetSideEmpire.NC => magcutter
|
|
|
|
|
case PlanetSideEmpire.VS => forceblade
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => chainblade //do NOT hand out the katana
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Given a faction, provide the satndard assault pistol.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return the `ToolDefinition` for the pistol
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def StandardPistol(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => repeater
|
|
|
|
|
case PlanetSideEmpire.NC => isp
|
|
|
|
|
case PlanetSideEmpire.VS => beamer
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => ilc9
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the ammunition for the standard assault pistol.
|
|
|
|
|
* The ammunition value here must work with the result of obtaining the pistol using the faction.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return thr `AmmoBoxDefinition` for the pistol's ammo
|
|
|
|
|
* @see `GlobalDefinitions.StandardPistol`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def StandardPistolAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => bullet_9mm
|
|
|
|
|
case PlanetSideEmpire.NC => shotgun_shell
|
|
|
|
|
case PlanetSideEmpire.VS => energy_cell
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => bullet_9mm
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the medium assault pistol.
|
|
|
|
|
* The medium assault pistols all use the same ammunition so there is no point for a separate selection function.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return the `ToolDefinition` for the pistol
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def MediumPistol(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => anniversary_guna
|
|
|
|
|
case PlanetSideEmpire.NC => anniversary_gun
|
|
|
|
|
case PlanetSideEmpire.VS => anniversary_gunb
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => ilc9 //do not hand out the spiker
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the medium assault rifle.
|
|
|
|
|
* For `Neutral` or `Black Ops`, just return a Suppressor.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return the `ToolDefinition` for the rifle
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def MediumRifle(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => cycler
|
|
|
|
|
case PlanetSideEmpire.NC => gauss
|
|
|
|
|
case PlanetSideEmpire.VS => pulsar
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => suppressor //the Punisher would be messy to have to code for
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the ammunition for the medium assault rifle.
|
|
|
|
|
* The ammunition value here must work with the result of obtaining the rifle using the faction.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return thr `AmmoBoxDefinition` for the rifle's ammo
|
|
|
|
|
* @see `GlobalDefinitions.MediumRifle`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def MediumRifleAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => bullet_9mm
|
|
|
|
|
case PlanetSideEmpire.NC => bullet_9mm
|
|
|
|
|
case PlanetSideEmpire.VS => energy_cell
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => bullet_9mm
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2019-10-22 17:15:46 +01:00
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the AP ammunition for the medium assault rifle.
|
|
|
|
|
* The ammunition value here must work with the result of obtaining the rifle using the faction.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return thr `AmmoBoxDefinition` for the rifle's ammo
|
|
|
|
|
* @see `GlobalDefinitions.MediumRifle`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def MediumRifleAPAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
2019-10-22 17:15:46 +01:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => bullet_9mm_AP
|
|
|
|
|
case PlanetSideEmpire.NC => bullet_9mm_AP
|
|
|
|
|
case PlanetSideEmpire.VS => energy_cell
|
2019-10-22 17:15:46 +01:00
|
|
|
case PlanetSideEmpire.NEUTRAL => bullet_9mm_AP
|
|
|
|
|
}
|
|
|
|
|
}
|
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 18:46:01 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the heavy assault rifle.
|
|
|
|
|
* For `Neutral` or `Black Ops`, just return a Suppressor.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return the `ToolDefinition` for the rifle
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def HeavyRifle(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => mini_chaingun
|
|
|
|
|
case PlanetSideEmpire.NC => r_shotgun
|
|
|
|
|
case PlanetSideEmpire.VS => lasher
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => suppressor //do not hand out the maelstrom
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the ammunition for the heavy assault rifle.
|
|
|
|
|
* The ammunition value here must work with the result of obtaining the rifle using the faction.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return thr `AmmoBoxDefinition` for the rifle's ammo
|
|
|
|
|
* @see `GlobalDefinitions.HeavyRifle`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def HeavyRifleAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => bullet_9mm
|
|
|
|
|
case PlanetSideEmpire.NC => shotgun_shell
|
|
|
|
|
case PlanetSideEmpire.VS => energy_cell
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => bullet_9mm
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-22 17:15:46 +01:00
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the AP ammunition for the heavy assault rifle.
|
|
|
|
|
* The ammunition value here must work with the result of obtaining the rifle using the faction.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return thr `AmmoBoxDefinition` for the rifle's ammo
|
|
|
|
|
* @see `GlobalDefinitions.HeavyRifle`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def HeavyRifleAPAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
2019-10-22 17:15:46 +01:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => bullet_9mm_AP
|
|
|
|
|
case PlanetSideEmpire.NC => shotgun_shell_AP
|
|
|
|
|
case PlanetSideEmpire.VS => energy_cell
|
2019-10-22 17:15:46 +01:00
|
|
|
case PlanetSideEmpire.NEUTRAL => bullet_9mm_AP
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
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 18:46:01 -04:00
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the anti-vehicular launcher.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return the `ToolDefinition` for the launcher
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def AntiVehicularLauncher(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => striker
|
|
|
|
|
case PlanetSideEmpire.NC => hunterseeker
|
|
|
|
|
case PlanetSideEmpire.VS => lancer
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => phoenix
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* For a given faction, provide the ammunition for the anti-vehicular launcher.
|
|
|
|
|
* The ammunition value here must work with the result of obtaining the anti-vehicular launcher using the faction.
|
|
|
|
|
* @param faction the faction
|
|
|
|
|
* @return thr `AmmoBoxDefinition` for the launcher's ammo
|
|
|
|
|
* @see `GlobalDefinitions.AntiVehicular`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def AntiVehicularAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
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 18:46:01 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => striker_missile_ammo
|
|
|
|
|
case PlanetSideEmpire.NC => hunter_seeker_missile
|
|
|
|
|
case PlanetSideEmpire.VS => lancer_cartridge
|
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 18:46:01 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => phoenix_missile //careful - does not exist as an AmmoBox normally
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def MAXArms(subtype: Int, faction: PlanetSideEmpire.Value): ToolDefinition = {
|
|
|
|
|
if (subtype == 1) {
|
2020-08-26 05:05:59 +02:00
|
|
|
AA_MAX(faction)
|
2020-07-14 05:54:05 +02:00
|
|
|
} else if (subtype == 2) {
|
2020-08-26 05:05:59 +02:00
|
|
|
AI_MAX(faction)
|
2020-07-14 05:54:05 +02:00
|
|
|
} else if (subtype == 3) {
|
2020-08-26 05:05:59 +02:00
|
|
|
AV_MAX(faction)
|
2020-07-14 05:54:05 +02:00
|
|
|
} else {
|
2020-08-26 02:18:44 +02:00
|
|
|
suppressor // there are no common pool MAX arms
|
2017-12-30 19:28:43 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def isMaxArms(tdef: ToolDefinition): Boolean = {
|
2018-03-31 19:31:17 -04:00
|
|
|
tdef match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case `trhev_dualcycler` | `nchev_scattercannon` | `vshev_quasar` | `trhev_pounder` | `nchev_falcon` |
|
|
|
|
|
`vshev_comet` | `trhev_burster` | `nchev_sparrow` | `vshev_starfire` =>
|
2018-03-31 19:31:17 -04:00
|
|
|
true
|
|
|
|
|
case _ =>
|
|
|
|
|
false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def AI_MAX(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
2017-11-08 21:00:46 -05:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => trhev_dualcycler
|
|
|
|
|
case PlanetSideEmpire.NC => nchev_scattercannon
|
|
|
|
|
case PlanetSideEmpire.VS => vshev_quasar
|
2017-11-26 00:00:41 -05:00
|
|
|
case PlanetSideEmpire.NEUTRAL => suppressor //there are no common pool MAX arms
|
2017-11-08 21:00:46 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def AI_MAXAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
2019-10-22 17:15:46 +01:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => dualcycler_ammo
|
|
|
|
|
case PlanetSideEmpire.NC => scattercannon_ammo
|
|
|
|
|
case PlanetSideEmpire.VS => quasar_ammo
|
2019-10-22 17:15:46 +01:00
|
|
|
case PlanetSideEmpire.NEUTRAL => bullet_9mm //there are no common pool MAX arms
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def AV_MAX(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
2017-11-08 21:00:46 -05:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => trhev_pounder
|
|
|
|
|
case PlanetSideEmpire.NC => nchev_falcon
|
|
|
|
|
case PlanetSideEmpire.VS => vshev_comet
|
2017-11-26 00:00:41 -05:00
|
|
|
case PlanetSideEmpire.NEUTRAL => suppressor //there are no common pool MAX arms
|
2017-11-08 21:00:46 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def AV_MAXAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
2019-10-22 17:15:46 +01:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => pounder_ammo
|
|
|
|
|
case PlanetSideEmpire.NC => falcon_ammo
|
|
|
|
|
case PlanetSideEmpire.VS => comet_ammo
|
2019-10-22 17:15:46 +01:00
|
|
|
case PlanetSideEmpire.NEUTRAL => bullet_9mm //there are no common pool MAX arms
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def AA_MAX(faction: PlanetSideEmpire.Value): ToolDefinition = {
|
2017-11-08 21:00:46 -05:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => trhev_burster
|
|
|
|
|
case PlanetSideEmpire.NC => nchev_sparrow
|
|
|
|
|
case PlanetSideEmpire.VS => vshev_starfire
|
2017-11-26 00:00:41 -05:00
|
|
|
case PlanetSideEmpire.NEUTRAL => suppressor //there are no common pool MAX arms
|
2017-11-08 21:00:46 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def AA_MAXAmmo(faction: PlanetSideEmpire.Value): AmmoBoxDefinition = {
|
2019-10-22 17:15:46 +01:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => burster_ammo
|
|
|
|
|
case PlanetSideEmpire.NC => sparrow_ammo
|
|
|
|
|
case PlanetSideEmpire.VS => starfire_ammo
|
2019-10-22 17:15:46 +01:00
|
|
|
case PlanetSideEmpire.NEUTRAL => bullet_9mm //there are no common pool MAX arms
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def PortableMannedTurret(faction: PlanetSideEmpire.Value): TurretDeployableDefinition = {
|
2018-09-23 08:00:58 -04:00
|
|
|
faction match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case PlanetSideEmpire.TR => portable_manned_turret_tr
|
|
|
|
|
case PlanetSideEmpire.NC => portable_manned_turret_nc
|
|
|
|
|
case PlanetSideEmpire.VS => portable_manned_turret_vs
|
2018-09-23 08:00:58 -04:00
|
|
|
case PlanetSideEmpire.NEUTRAL => portable_manned_turret
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-09-07 00:10:10 -04:00
|
|
|
/**
|
|
|
|
|
* Using the definition for a piece of `Equipment` determine if it is a grenade-type weapon.
|
|
|
|
|
* Only the normal grenades count; the grenade packs are excluded.
|
|
|
|
|
* @param edef the `EquipmentDefinition` of the item
|
|
|
|
|
* @return `true`, if it is a grenade-type weapon; `false`, otherwise
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isGrenade(edef: EquipmentDefinition): Boolean = {
|
2017-09-07 00:10:10 -04:00
|
|
|
edef match {
|
2019-10-22 17:15:46 +01:00
|
|
|
case `frag_grenade` | `jammer_grenade` | `plasma_grenade` | `dynomite` =>
|
2017-09-07 00:10:10 -04:00
|
|
|
true
|
|
|
|
|
case _ =>
|
|
|
|
|
false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Using the definition for a piece of `Equipment` determine if it is a grenade-type weapon.
|
|
|
|
|
* Only the grenade packs count; the normal grenades are excluded.
|
|
|
|
|
* @param edef the `EquipmentDefinition` of the item
|
|
|
|
|
* @return `true`, if it is a grenade-type weapon; `false`, otherwise
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isGrenadePack(edef: EquipmentDefinition): Boolean = {
|
2017-09-07 00:10:10 -04:00
|
|
|
edef match {
|
|
|
|
|
case `frag_cartridge` | `jammer_cartridge` | `plasma_cartridge` =>
|
|
|
|
|
true
|
|
|
|
|
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 18:46:01 -04:00
|
|
|
/**
|
|
|
|
|
* Using the definition for a piece of `Equipment` determine with which faction it aligns if it is a weapon.
|
|
|
|
|
* Only checks `Tool` objects.
|
2017-11-08 21:00:46 -05:00
|
|
|
* Useful for determining if some item has to be dropped during an activity like `Loadout` switching.
|
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 18:46:01 -04:00
|
|
|
* @param edef the `EquipmentDefinition` of the item
|
|
|
|
|
* @return the faction alignment, or `Neutral`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isFactionWeapon(edef: EquipmentDefinition): PlanetSideEmpire.Value = {
|
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 18:46:01 -04:00
|
|
|
edef match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case `chainblade` | `repeater` | `anniversary_guna` | `cycler` | `mini_chaingun` | `striker` |
|
|
|
|
|
`trhev_dualcycler` | `trhev_pounder` | `trhev_burster` =>
|
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 18:46:01 -04:00
|
|
|
PlanetSideEmpire.TR
|
2020-07-14 05:54:05 +02:00
|
|
|
case `magcutter` | `isp` | `anniversary_gun` | `gauss` | `r_shotgun` | `hunterseeker` | `nchev_scattercannon` |
|
|
|
|
|
`nchev_falcon` | `nchev_sparrow` =>
|
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 18:46:01 -04:00
|
|
|
PlanetSideEmpire.NC
|
2020-07-14 05:54:05 +02:00
|
|
|
case `forceblade` | `beamer` | `anniversary_gunb` | `pulsar` | `lasher` | `lancer` | `vshev_quasar` |
|
|
|
|
|
`vshev_comet` | `vshev_starfire` =>
|
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 18:46:01 -04:00
|
|
|
PlanetSideEmpire.VS
|
|
|
|
|
case _ =>
|
|
|
|
|
PlanetSideEmpire.NEUTRAL
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Using the definition for a piece of `Equipment` determine with which faction it aligns.
|
|
|
|
|
* Checks both `Tool` objects and unique `AmmoBox` objects.
|
|
|
|
|
* @param edef the `EquipmentDefinition` of the item
|
|
|
|
|
* @return the faction alignment, or `Neutral`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isFactionEquipment(edef: EquipmentDefinition): PlanetSideEmpire.Value = {
|
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 18:46:01 -04:00
|
|
|
edef match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case `chainblade` | `repeater` | `anniversary_guna` | `cycler` | `mini_chaingun` | `striker` |
|
|
|
|
|
`striker_missile_ammo` | `trhev_dualcycler` | `trhev_pounder` | `trhev_burster` | `dualcycler_ammo` |
|
|
|
|
|
`pounder_ammo` | `burster_ammo` =>
|
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 18:46:01 -04:00
|
|
|
PlanetSideEmpire.TR
|
2020-07-14 05:54:05 +02:00
|
|
|
case `magcutter` | `isp` | `anniversary_gun` | `gauss` | `r_shotgun` | `hunterseeker` | `hunter_seeker_missile` |
|
|
|
|
|
`nchev_scattercannon` | `nchev_falcon` | `nchev_sparrow` | `scattercannon_ammo` | `falcon_ammo` |
|
|
|
|
|
`sparrow_ammo` =>
|
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 18:46:01 -04:00
|
|
|
PlanetSideEmpire.NC
|
2020-07-14 05:54:05 +02:00
|
|
|
case `forceblade` | `beamer` | `anniversary_gunb` | `pulsar` | `lasher` | `lancer` | `energy_cell` |
|
|
|
|
|
`lancer_cartridge` | `vshev_quasar` | `vshev_comet` | `vshev_starfire` | `quasar_ammo` | `comet_ammo` |
|
|
|
|
|
`starfire_ammo` =>
|
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 18:46:01 -04:00
|
|
|
PlanetSideEmpire.VS
|
|
|
|
|
case _ =>
|
|
|
|
|
PlanetSideEmpire.NEUTRAL
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Using the definition for a piece of `Equipment` determine whether it is a "cavern weapon."
|
2017-11-08 21:00:46 -05:00
|
|
|
* Useful for determining if some item has to be dropped during an activity like `Loadout` switching.
|
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 18:46:01 -04:00
|
|
|
* @param edef the `EquipmentDefinition` of the item
|
|
|
|
|
* @return `true`, if it is; otherwise, `false`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isCavernWeapon(edef: EquipmentDefinition): 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 18:46:01 -04:00
|
|
|
edef match {
|
|
|
|
|
case `spiker` | `maelstrom` | `radiator` => true
|
2020-07-14 05:54:05 +02: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 18:46:01 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Using the definition for a piece of `Equipment` determine whether it is "cavern equipment."
|
|
|
|
|
* @param edef the `EquipmentDefinition` of the item
|
|
|
|
|
* @return `true`, if it is; otherwise, `false`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isCavernEquipment(edef: EquipmentDefinition): 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 18:46:01 -04:00
|
|
|
edef match {
|
|
|
|
|
case `spiker` | `maelstrom` | `radiator` | `ancient_ammo_combo` | `maelstrom_ammo` => true
|
2020-07-14 05:54:05 +02: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 18:46:01 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Using the definition for a piece of `Equipment` determine whether it is "special."
|
|
|
|
|
* "Special equipment" is any non-standard `Equipment` that, while it can be obtained from a `Terminal`, has artificial prerequisites.
|
|
|
|
|
* For example, the Kits are unlocked as rewards for holiday events and require possessing a specific `MeritCommendation`.
|
|
|
|
|
* @param edef the `EquipmentDefinition` of the item
|
|
|
|
|
* @return `true`, if it is; otherwise, `false`
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isSpecialEquipment(edef: EquipmentDefinition): 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 18:46:01 -04:00
|
|
|
edef match {
|
|
|
|
|
case `super_medkit` | `super_armorkit` | `super_staminakit` | `katana` =>
|
|
|
|
|
true
|
|
|
|
|
case _ =>
|
|
|
|
|
false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
/**
|
2018-04-21 17:50:20 -04:00
|
|
|
* Using the definition for a `Vehicle` determine whether it can fly.
|
2018-04-13 23:10:52 -04:00
|
|
|
* @param vdef the `VehicleDefinition` of the vehicle
|
|
|
|
|
* @return `true`, if it is; `false`, otherwise
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isFlightVehicle(vdef: VehicleDefinition): Boolean = {
|
2018-04-13 23:10:52 -04:00
|
|
|
vdef match {
|
2020-07-14 05:54:05 +02:00
|
|
|
case `mosquito` | `lightgunship` | `wasp` | `liberator` | `vulture` | `phantasm` | `lodestar` | `dropship` |
|
|
|
|
|
`galaxy_gunship` =>
|
2018-04-13 23:10:52 -04:00
|
|
|
true
|
|
|
|
|
case _ =>
|
|
|
|
|
false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-04-21 17:50:20 -04:00
|
|
|
/**
|
|
|
|
|
* Using the definition for a `Vehicle` determine whether it hovers.
|
|
|
|
|
* @param vdef the `VehicleDefinition` of the vehicle
|
|
|
|
|
* @return `true`, if it can; `false`, otherwise
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def isHoverVehicle(vdef: VehicleDefinition): Boolean = {
|
2018-04-21 17:50:20 -04:00
|
|
|
vdef match {
|
|
|
|
|
case `twomanhoverbuggy` | `magrider` | `router` | `flail` =>
|
|
|
|
|
true
|
|
|
|
|
case _ =>
|
|
|
|
|
false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Using the definition for a `Vehicle` determine whether it can rotate its body without forward acceleration.
|
|
|
|
|
* @param vdef the `VehicleDefinition` of the vehicle
|
|
|
|
|
* @return `true`, if it is; `false`, otherwise
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
def canStationaryRotate(vdef: VehicleDefinition): Boolean = {
|
|
|
|
|
if (isFlightVehicle(vdef) || isHoverVehicle(vdef)) {
|
2018-04-21 17:50:20 -04:00
|
|
|
true
|
2020-07-14 05:54:05 +02:00
|
|
|
} else {
|
2018-04-21 17:50:20 -04:00
|
|
|
vdef match {
|
|
|
|
|
case `lightning` | `prowler` | `vanguard` =>
|
|
|
|
|
true
|
|
|
|
|
case _ =>
|
|
|
|
|
false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
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 08:04:11 -05:00
|
|
|
def MaxDepth(obj: PlanetSideGameObject): Float = {
|
|
|
|
|
obj match {
|
|
|
|
|
case p: Player =>
|
|
|
|
|
if (p.Crouching) {
|
|
|
|
|
1.093750f // same regardless of gender
|
|
|
|
|
} else if (p.ExoSuit == ExoSuitType.MAX) {
|
|
|
|
|
1.906250f // VS female MAX
|
2021-03-21 14:22:00 -04:00
|
|
|
} else if (p.Sex == CharacterSex.Male) {
|
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 08:04:11 -05:00
|
|
|
obj.Definition.MaxDepth // male
|
|
|
|
|
} else {
|
|
|
|
|
1.546875f // female
|
|
|
|
|
}
|
|
|
|
|
case _ =>
|
|
|
|
|
obj.Definition.MaxDepth
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
/**
|
|
|
|
|
* Initialize `KitDefinition` globals.
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
private def init_kit(): Unit = {
|
2018-05-10 23:03:34 -04:00
|
|
|
medkit.Name = "medkit"
|
|
|
|
|
|
|
|
|
|
super_medkit.Name = "super_medkit"
|
|
|
|
|
|
|
|
|
|
super_armorkit.Name = "super_armorkit"
|
|
|
|
|
|
|
|
|
|
super_staminakit.Name = "super_staminakit"
|
|
|
|
|
}
|
|
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
/**
|
|
|
|
|
* Initialize `ExoSuitType` globals.
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
private def init_exosuit(): Unit = {
|
2019-03-03 08:23:30 -05:00
|
|
|
Standard.Name = "standard"
|
|
|
|
|
Standard.MaxArmor = 50
|
|
|
|
|
Standard.InventoryScale = InventoryTile.Tile96
|
|
|
|
|
Standard.InventoryOffset = 6
|
|
|
|
|
Standard.Holster(0, EquipmentSize.Pistol)
|
|
|
|
|
Standard.Holster(2, EquipmentSize.Rifle)
|
|
|
|
|
Standard.Holster(4, EquipmentSize.Melee)
|
|
|
|
|
Standard.ResistanceDirectHit = 4
|
|
|
|
|
Standard.ResistanceSplash = 15
|
|
|
|
|
Standard.ResistanceAggravated = 8
|
|
|
|
|
|
2019-12-11 10:16:54 -05:00
|
|
|
Agile.Name = "lite_armor"
|
|
|
|
|
Agile.Descriptor = "agile"
|
2019-03-03 08:23:30 -05:00
|
|
|
Agile.MaxArmor = 100
|
|
|
|
|
Agile.InventoryScale = InventoryTile.Tile99
|
|
|
|
|
Agile.InventoryOffset = 6
|
|
|
|
|
Agile.Holster(0, EquipmentSize.Pistol)
|
|
|
|
|
Agile.Holster(1, EquipmentSize.Pistol)
|
|
|
|
|
Agile.Holster(2, EquipmentSize.Rifle)
|
|
|
|
|
Agile.Holster(4, EquipmentSize.Melee)
|
|
|
|
|
Agile.ResistanceDirectHit = 6
|
|
|
|
|
Agile.ResistanceSplash = 25
|
|
|
|
|
Agile.ResistanceAggravated = 10
|
|
|
|
|
|
2019-12-11 10:16:54 -05:00
|
|
|
Reinforced.Name = "med_armor"
|
|
|
|
|
Reinforced.Descriptor = "reinforced"
|
2020-08-01 12:25:03 +02:00
|
|
|
Reinforced.Permissions = List(Certification.ReinforcedExoSuit)
|
2019-03-03 08:23:30 -05:00
|
|
|
Reinforced.MaxArmor = 200
|
|
|
|
|
Reinforced.InventoryScale = InventoryTile.Tile1209
|
|
|
|
|
Reinforced.InventoryOffset = 6
|
|
|
|
|
Reinforced.Holster(0, EquipmentSize.Pistol)
|
|
|
|
|
Reinforced.Holster(1, EquipmentSize.Pistol)
|
|
|
|
|
Reinforced.Holster(2, EquipmentSize.Rifle)
|
|
|
|
|
Reinforced.Holster(3, EquipmentSize.Rifle)
|
|
|
|
|
Reinforced.Holster(4, EquipmentSize.Melee)
|
|
|
|
|
Reinforced.ResistanceDirectHit = 10
|
|
|
|
|
Reinforced.ResistanceSplash = 35
|
|
|
|
|
Reinforced.ResistanceAggravated = 12
|
|
|
|
|
|
|
|
|
|
Infiltration.Name = "infiltration_suit"
|
2020-08-01 12:25:03 +02:00
|
|
|
Infiltration.Permissions = List(Certification.InfiltrationSuit)
|
2019-03-03 08:23:30 -05:00
|
|
|
Infiltration.MaxArmor = 0
|
|
|
|
|
Infiltration.InventoryScale = InventoryTile.Tile66
|
|
|
|
|
Infiltration.InventoryOffset = 6
|
|
|
|
|
Infiltration.Holster(0, EquipmentSize.Pistol)
|
|
|
|
|
Infiltration.Holster(4, EquipmentSize.Melee)
|
|
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
def CommonMaxConfig(max: SpecialExoSuitDefinition): Unit = {
|
2020-08-01 12:25:03 +02:00
|
|
|
max.Permissions = List(Certification.AIMAX, Certification.AVMAX, Certification.AAMAX, Certification.UniMAX)
|
2019-12-10 13:53:11 +00:00
|
|
|
max.MaxArmor = 650
|
|
|
|
|
max.InventoryScale = InventoryTile.Tile1612
|
|
|
|
|
max.InventoryOffset = 6
|
|
|
|
|
max.Holster(0, EquipmentSize.Max)
|
|
|
|
|
max.Holster(4, EquipmentSize.Melee)
|
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 14:32:42 -05:00
|
|
|
max.Subtract.Damage1 = 2
|
2019-12-10 13:53:11 +00:00
|
|
|
max.ResistanceDirectHit = 6
|
|
|
|
|
max.ResistanceSplash = 35
|
|
|
|
|
max.ResistanceAggravated = 10
|
2020-07-28 00:02:43 -04:00
|
|
|
max.DamageUsing = DamageCalculations.AgainstMaxSuit
|
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 14:32:42 -05:00
|
|
|
max.Model = MaxResolutions.calculate
|
2019-12-10 13:53:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CommonMaxConfig(VSMAX)
|
2019-12-11 10:16:54 -05:00
|
|
|
VSMAX.Name = "vshev"
|
2019-12-10 13:53:11 +00:00
|
|
|
VSMAX.MaxCapacitor = 50
|
|
|
|
|
VSMAX.CapacitorRechargeDelayMillis = 5000
|
|
|
|
|
VSMAX.CapacitorRechargePerSecond = 3
|
|
|
|
|
VSMAX.CapacitorDrainPerSecond = 20
|
|
|
|
|
|
|
|
|
|
CommonMaxConfig(TRMAX)
|
2019-12-11 10:16:54 -05:00
|
|
|
TRMAX.Name = "trhev"
|
2019-12-10 13:53:11 +00:00
|
|
|
TRMAX.MaxCapacitor = 300
|
|
|
|
|
TRMAX.CapacitorRechargeDelayMillis = 10000
|
|
|
|
|
TRMAX.CapacitorRechargePerSecond = 10
|
|
|
|
|
TRMAX.CapacitorDrainPerSecond = 30
|
|
|
|
|
|
|
|
|
|
CommonMaxConfig(NCMAX)
|
2019-12-11 10:16:54 -05:00
|
|
|
NCMAX.Name = "nchev"
|
2019-12-10 13:53:11 +00:00
|
|
|
NCMAX.MaxCapacitor = 400
|
|
|
|
|
NCMAX.CapacitorRechargeDelayMillis = 10000
|
|
|
|
|
NCMAX.CapacitorRechargePerSecond = 4
|
|
|
|
|
NCMAX.CapacitorDrainPerSecond = 4
|
|
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
}
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
/**
|
|
|
|
|
* Initialize `AmmoBoxDefinition` globals.
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
private def init_ammo(): Unit = {
|
2018-05-10 23:03:34 -04:00
|
|
|
melee_ammo.Name = "melee_ammo"
|
2017-12-05 00:37:24 -05:00
|
|
|
melee_ammo.Size = EquipmentSize.Blocked
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
frag_grenade_ammo.Name = "frag_grenade_ammo"
|
2017-12-05 00:37:24 -05:00
|
|
|
frag_grenade_ammo.Size = EquipmentSize.Blocked
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
jammer_grenade_ammo.Name = "jammer_grenade_ammo"
|
2017-12-05 00:37:24 -05:00
|
|
|
jammer_grenade_ammo.Size = EquipmentSize.Blocked
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
plasma_grenade_ammo.Name = "plasma_grenade_ammo"
|
2017-12-05 00:37:24 -05:00
|
|
|
plasma_grenade_ammo.Size = EquipmentSize.Blocked
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_9mm.Name = "9mmbullet"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_9mm.Capacity = 50
|
|
|
|
|
bullet_9mm.Tile = InventoryTile.Tile33
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
bullet_9mm_AP.Name = "9mmbullet_AP"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_9mm_AP.Capacity = 50
|
|
|
|
|
bullet_9mm_AP.Tile = InventoryTile.Tile33
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
shotgun_shell.Name = "shotgun_shell"
|
2018-01-26 15:32:08 -05:00
|
|
|
shotgun_shell.Capacity = 16
|
2017-11-26 00:00:41 -05:00
|
|
|
shotgun_shell.Tile = InventoryTile.Tile33
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
shotgun_shell_AP.Name = "shotgun_shell_AP"
|
2018-01-26 15:32:08 -05:00
|
|
|
shotgun_shell_AP.Capacity = 16
|
2017-11-26 00:00:41 -05:00
|
|
|
shotgun_shell_AP.Tile = InventoryTile.Tile33
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
energy_cell.Name = "energy_cell"
|
2017-11-26 00:00:41 -05:00
|
|
|
energy_cell.Capacity = 50
|
|
|
|
|
energy_cell.Tile = InventoryTile.Tile33
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
anniversary_ammo.Name = "anniversary_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_ammo.Capacity = 30
|
|
|
|
|
anniversary_ammo.Tile = InventoryTile.Tile33
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
ancient_ammo_combo.Name = "ancient_ammo_combo"
|
2017-11-26 00:00:41 -05:00
|
|
|
ancient_ammo_combo.Capacity = 30
|
|
|
|
|
ancient_ammo_combo.Tile = InventoryTile.Tile33
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
maelstrom_ammo.Name = "maelstrom_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
maelstrom_ammo.Capacity = 50
|
|
|
|
|
maelstrom_ammo.Tile = InventoryTile.Tile33
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
phoenix_missile.Name = "phoenix_missile"
|
2017-12-05 00:37:24 -05:00
|
|
|
phoenix_missile.Size = EquipmentSize.Blocked
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
striker_missile_ammo.Name = "striker_missile_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
striker_missile_ammo.Capacity = 15
|
|
|
|
|
striker_missile_ammo.Tile = InventoryTile.Tile44
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
hunter_seeker_missile.Name = "hunter_seeker_missile"
|
2017-11-26 00:00:41 -05:00
|
|
|
hunter_seeker_missile.Capacity = 9
|
|
|
|
|
hunter_seeker_missile.Tile = InventoryTile.Tile44
|
2017-09-07 23:31:25 -04:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
lancer_cartridge.Name = "lancer_cartridge"
|
2017-11-26 00:00:41 -05:00
|
|
|
lancer_cartridge.Capacity = 18
|
|
|
|
|
lancer_cartridge.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
rocket.Name = "rocket"
|
2017-11-26 00:00:41 -05:00
|
|
|
rocket.Capacity = 15
|
|
|
|
|
rocket.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
frag_cartridge.Name = "frag_cartridge"
|
2017-11-26 00:00:41 -05:00
|
|
|
frag_cartridge.Capacity = 12
|
|
|
|
|
frag_cartridge.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
plasma_cartridge.Name = "plasma_cartridge"
|
2017-11-26 00:00:41 -05:00
|
|
|
plasma_cartridge.Capacity = 12
|
|
|
|
|
plasma_cartridge.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
jammer_cartridge.Name = "jammer_cartridge"
|
2017-11-26 00:00:41 -05:00
|
|
|
jammer_cartridge.Capacity = 12
|
|
|
|
|
jammer_cartridge.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
bolt.Name = "bolt"
|
2017-11-26 00:00:41 -05:00
|
|
|
bolt.Capacity = 10
|
|
|
|
|
bolt.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
oicw_ammo.Name = "oicw_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
oicw_ammo.Capacity = 10
|
|
|
|
|
oicw_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
flamethrower_ammo.Name = "flamethrower_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
flamethrower_ammo.Capacity = 100
|
|
|
|
|
flamethrower_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2019-10-22 17:15:46 +01:00
|
|
|
winchester_ammo.Name = "winchester_ammo"
|
|
|
|
|
winchester_ammo.Capacity = 10
|
|
|
|
|
winchester_ammo.Tile = InventoryTile.Tile33
|
|
|
|
|
|
|
|
|
|
pellet_gun_ammo.Name = "pellet_gun_ammo"
|
|
|
|
|
pellet_gun_ammo.Capacity = 8
|
|
|
|
|
pellet_gun_ammo.Tile = InventoryTile.Tile33
|
|
|
|
|
|
|
|
|
|
six_shooter_ammo.Name = "six_shooter_ammo"
|
|
|
|
|
six_shooter_ammo.Capacity = 12
|
|
|
|
|
six_shooter_ammo.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
dualcycler_ammo.Name = "dualcycler_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
dualcycler_ammo.Capacity = 100
|
|
|
|
|
dualcycler_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
pounder_ammo.Name = "pounder_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
pounder_ammo.Capacity = 50
|
|
|
|
|
pounder_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
burster_ammo.Name = "burster_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
burster_ammo.Capacity = 100
|
|
|
|
|
burster_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
scattercannon_ammo.Name = "scattercannon_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
scattercannon_ammo.Capacity = 50
|
|
|
|
|
scattercannon_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
falcon_ammo.Name = "falcon_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
falcon_ammo.Capacity = 50
|
|
|
|
|
falcon_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
sparrow_ammo.Name = "sparrow_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
sparrow_ammo.Capacity = 50
|
|
|
|
|
sparrow_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
quasar_ammo.Name = "quasar_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
quasar_ammo.Capacity = 60
|
|
|
|
|
quasar_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
comet_ammo.Name = "comet_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
comet_ammo.Capacity = 50
|
|
|
|
|
comet_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
starfire_ammo.Name = "starfire_ammo"
|
2017-12-30 19:28:43 -05:00
|
|
|
starfire_ammo.Capacity = 50
|
|
|
|
|
starfire_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
health_canister.Name = "health_canister"
|
2017-11-26 00:00:41 -05:00
|
|
|
health_canister.Capacity = 100
|
2018-07-14 21:25:44 -04:00
|
|
|
health_canister.Tile = InventoryTile.Tile23
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
armor_canister.Name = "armor_canister"
|
2017-11-26 00:00:41 -05:00
|
|
|
armor_canister.Capacity = 100
|
2018-07-14 21:25:44 -04:00
|
|
|
armor_canister.Tile = InventoryTile.Tile23
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
upgrade_canister.Name = "upgrade_canister"
|
2018-07-14 21:25:44 -04:00
|
|
|
upgrade_canister.Capacity = 1
|
|
|
|
|
upgrade_canister.Tile = InventoryTile.Tile23
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
trek_ammo.Name = "trek_ammo"
|
2017-12-05 00:37:24 -05:00
|
|
|
trek_ammo.Size = EquipmentSize.Blocked
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_35mm.Name = "35mmbullet"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_35mm.Capacity = 100
|
|
|
|
|
bullet_35mm.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
aphelion_laser_ammo.Name = "aphelion_laser_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
aphelion_laser_ammo.Capacity = 165
|
|
|
|
|
aphelion_laser_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
aphelion_immolation_cannon_ammo.Name = "aphelion_immolation_cannon_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
aphelion_immolation_cannon_ammo.Capacity = 100
|
|
|
|
|
aphelion_immolation_cannon_ammo.Tile = InventoryTile.Tile55
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
aphelion_plasma_rocket_ammo.Name = "aphelion_plasma_rocket_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
aphelion_plasma_rocket_ammo.Capacity = 195
|
|
|
|
|
aphelion_plasma_rocket_ammo.Tile = InventoryTile.Tile55
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
aphelion_ppa_ammo.Name = "aphelion_ppa_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
aphelion_ppa_ammo.Capacity = 110
|
|
|
|
|
aphelion_ppa_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
aphelion_starfire_ammo.Name = "aphelion_starfire_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
aphelion_starfire_ammo.Capacity = 132
|
|
|
|
|
aphelion_starfire_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
skyguard_flak_cannon_ammo.Name = "skyguard_flak_cannon_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
skyguard_flak_cannon_ammo.Capacity = 200
|
|
|
|
|
skyguard_flak_cannon_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
firebird_missile.Name = "firebird_missile"
|
2017-11-26 00:00:41 -05:00
|
|
|
firebird_missile.Capacity = 50
|
|
|
|
|
firebird_missile.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
flux_cannon_thresher_battery.Name = "flux_cannon_thresher_battery"
|
2017-11-26 00:00:41 -05:00
|
|
|
flux_cannon_thresher_battery.Capacity = 150
|
|
|
|
|
flux_cannon_thresher_battery.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
fluxpod_ammo.Name = "fluxpod_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
fluxpod_ammo.Capacity = 80
|
|
|
|
|
fluxpod_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
hellfire_ammo.Name = "hellfire_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
hellfire_ammo.Capacity = 24
|
|
|
|
|
hellfire_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
liberator_bomb.Name = "liberator_bomb"
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator_bomb.Capacity = 20
|
|
|
|
|
liberator_bomb.Tile = InventoryTile.Tile44
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_25mm.Name = "25mmbullet"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_25mm.Capacity = 150
|
|
|
|
|
bullet_25mm.Tile = InventoryTile.Tile44
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_75mm.Name = "75mmbullet"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_75mm.Capacity = 100
|
|
|
|
|
bullet_75mm.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
heavy_grenade_mortar.Name = "heavy_grenade_mortar"
|
2017-11-26 00:00:41 -05:00
|
|
|
heavy_grenade_mortar.Capacity = 100
|
|
|
|
|
heavy_grenade_mortar.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
pulse_battery.Name = "pulse_battery"
|
2017-11-26 00:00:41 -05:00
|
|
|
pulse_battery.Capacity = 100
|
|
|
|
|
pulse_battery.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
heavy_rail_beam_battery.Name = "heavy_rail_beam_battery"
|
2017-11-26 00:00:41 -05:00
|
|
|
heavy_rail_beam_battery.Capacity = 100
|
|
|
|
|
heavy_rail_beam_battery.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
reaver_rocket.Name = "reaver_rocket"
|
2017-11-26 00:00:41 -05:00
|
|
|
reaver_rocket.Capacity = 12
|
|
|
|
|
reaver_rocket.Tile = InventoryTile.Tile44
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_20mm.Name = "20mmbullet"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_20mm.Capacity = 200
|
|
|
|
|
bullet_20mm.Tile = InventoryTile.Tile44
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_12mm.Name = "12mmbullet"
|
2017-12-11 18:17:05 -05:00
|
|
|
bullet_12mm.Capacity = 300
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_12mm.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
wasp_rocket_ammo.Name = "wasp_rocket_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
wasp_rocket_ammo.Capacity = 6
|
|
|
|
|
wasp_rocket_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
wasp_gun_ammo.Name = "wasp_gun_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
wasp_gun_ammo.Capacity = 150
|
|
|
|
|
wasp_gun_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_15mm.Name = "15mmbullet"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_15mm.Capacity = 360
|
|
|
|
|
bullet_15mm.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
colossus_100mm_cannon_ammo.Name = "colossus_100mm_cannon_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
colossus_100mm_cannon_ammo.Capacity = 90
|
|
|
|
|
colossus_100mm_cannon_ammo.Tile = InventoryTile.Tile55
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
colossus_burster_ammo.Name = "colossus_burster_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
colossus_burster_ammo.Capacity = 235
|
|
|
|
|
colossus_burster_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
colossus_cluster_bomb_ammo.Name = "colossus_cluster_bomb_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
colossus_cluster_bomb_ammo.Capacity = 150
|
|
|
|
|
colossus_cluster_bomb_ammo.Tile = InventoryTile.Tile55
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
colossus_chaingun_ammo.Name = "colossus_chaingun_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
colossus_chaingun_ammo.Capacity = 600
|
|
|
|
|
colossus_chaingun_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
colossus_tank_cannon_ammo.Name = "colossus_tank_cannon_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
colossus_tank_cannon_ammo.Capacity = 110
|
|
|
|
|
colossus_tank_cannon_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_105mm.Name = "105mmbullet"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_105mm.Capacity = 100
|
|
|
|
|
bullet_105mm.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
gauss_cannon_ammo.Name = "gauss_cannon_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
gauss_cannon_ammo.Capacity = 15
|
|
|
|
|
gauss_cannon_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
peregrine_dual_machine_gun_ammo.Name = "peregrine_dual_machine_gun_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
peregrine_dual_machine_gun_ammo.Capacity = 240
|
|
|
|
|
peregrine_dual_machine_gun_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
peregrine_mechhammer_ammo.Name = "peregrine_mechhammer_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
peregrine_mechhammer_ammo.Capacity = 30
|
|
|
|
|
peregrine_mechhammer_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
peregrine_particle_cannon_ammo.Name = "peregrine_particle_cannon_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
peregrine_particle_cannon_ammo.Capacity = 40
|
|
|
|
|
peregrine_particle_cannon_ammo.Tile = InventoryTile.Tile55
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
peregrine_rocket_pod_ammo.Name = "peregrine_rocket_pod_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
peregrine_rocket_pod_ammo.Capacity = 275
|
|
|
|
|
peregrine_rocket_pod_ammo.Tile = InventoryTile.Tile55
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
peregrine_sparrow_ammo.Name = "peregrine_sparrow_ammo"
|
2017-11-26 00:00:41 -05:00
|
|
|
peregrine_sparrow_ammo.Capacity = 150
|
|
|
|
|
peregrine_sparrow_ammo.Tile = InventoryTile.Tile44
|
|
|
|
|
|
Let's Move Item, Together, Again (#445)
* mix-in code for akka messaging move item, currently testing on infantry only
* adjusted structure of COntainable so callbacks are separate from message-producing functions, are separate from message-sending functionality; massaged LockerContainer until it could support control agency and created a wrapper for its Equipment interfacing; the control structure starts and stops when PlayerControl starts and stops, and it converts whenever necessary
* added failsafe conditions to Containable, such as blocking certain messages while completing a MoveItem call, or blocking all messages to reset disruptive MoveItem calls; depiction message callbacks for Player, Locker, and Vehicle, to properly depict the manipulation of items; eliminated the old code from WSA
* added useful comments to Containable; moved functionality for deployables, and for container'ing, and dropping logic out from WSA and distributed it appropriately
* handling terminal operations - buying an exosuit and selecting an infantry loadout; starting work on support for more persistent equipment timers local to the avatar (that were removed in this update; see wsa changes)
* linked terminal page/message with routing policy
* tuning vehicle loadout management and display
* separated use time from purchase time and applied a system that limits either if that same event would recur too soon; tuning exosuit and loadout changes
* some ask timeout handling and comments
* normalizing item on ground interactions
* rearranging the project structure
* merged with master; commas removed
* fixing tests
* added description strings to Tasks; adjusted the completion conditions for some Tasks
* a failed purchase will not block future purchases; increased timeout on move-item tasks
* corpses, even one's own, should have properly moveable inventories
* for better persistence, until GlobalDefinitions is renovated, moved the object id->name map onto the avatar object, for the purpose of timers; replaced a use of values in GridInventory for a map conversion
* max loadouts and max exosuit switch use same cooldown now; hopefully better clarifcation regarding held arm position
* manual merge-rebase of master with hand reconstruction of WorldSessionActor and PlayerControl, and variations for other files necessary to maintain both inventory operations and login reliability
* test fixes; MAX exo-suit cooldown is now five minutes again
2020-06-04 16:39:08 -04:00
|
|
|
bullet_150mm.Name = "150mmbullet"
|
2017-11-26 00:00:41 -05:00
|
|
|
bullet_150mm.Capacity = 50
|
|
|
|
|
bullet_150mm.Tile = InventoryTile.Tile44
|
2018-07-14 21:25:44 -04:00
|
|
|
|
|
|
|
|
phalanx_ammo.Name = "phalanx_ammo"
|
|
|
|
|
phalanx_ammo.Size = EquipmentSize.Inventory
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
spitfire_ammo.Name = "spitfire_ammo"
|
|
|
|
|
spitfire_ammo.Size = EquipmentSize.Inventory
|
|
|
|
|
|
|
|
|
|
spitfire_aa_ammo.Name = "spitfire_aa_ammo"
|
|
|
|
|
spitfire_aa_ammo.Size = EquipmentSize.Inventory
|
|
|
|
|
|
|
|
|
|
energy_gun_ammo.Name = "energy_gun_ammo"
|
|
|
|
|
energy_gun_ammo.Size = EquipmentSize.Inventory
|
2017-08-30 20:20:33 -04:00
|
|
|
}
|
|
|
|
|
|
2018-06-12 21:51:53 -04:00
|
|
|
/**
|
|
|
|
|
* Initialize `ProjectileDefinition` globals.
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
private def init_projectile(): Unit = {
|
|
|
|
|
val projectileConverter: ProjectileConverter = new ProjectileConverter
|
2019-05-14 05:34:07 -04:00
|
|
|
|
2019-11-15 16:21:35 -05:00
|
|
|
no_projectile.Name = "none"
|
|
|
|
|
ProjectileDefinition.CalculateDerivedFields(no_projectile)
|
2020-08-04 23:08:57 -04:00
|
|
|
no_projectile.Modifiers = Nil
|
2019-11-15 16:21:35 -05:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_105mm_projectile.Name = "105mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_105mm_projectile.Damage0 = 150
|
|
|
|
|
bullet_105mm_projectile.Damage1 = 300
|
|
|
|
|
bullet_105mm_projectile.Damage2 = 300
|
|
|
|
|
bullet_105mm_projectile.Damage3 = 300
|
|
|
|
|
bullet_105mm_projectile.Damage4 = 180
|
|
|
|
|
bullet_105mm_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
bullet_105mm_projectile.DamageRadius = 7f
|
|
|
|
|
bullet_105mm_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
bullet_105mm_projectile.InitialVelocity = 100
|
|
|
|
|
bullet_105mm_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_105mm_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2020-07-14 05:54:05 +02:00
|
|
|
bullet_12mm_projectile.Name = "12mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_12mm_projectile.Damage0 = 25
|
|
|
|
|
bullet_12mm_projectile.Damage1 = 10
|
|
|
|
|
bullet_12mm_projectile.Damage2 = 25
|
|
|
|
|
bullet_12mm_projectile.Damage3 = 10
|
|
|
|
|
bullet_12mm_projectile.Damage4 = 7
|
|
|
|
|
bullet_12mm_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_12mm_projectile.DegradeDelay = .015f
|
|
|
|
|
bullet_12mm_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
bullet_12mm_projectile.InitialVelocity = 500
|
|
|
|
|
bullet_12mm_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_12mm_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_12mm_projectileb.Name = "12mmbullet_projectileb"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent 12mmbullet_projectileb game_objects 12mmbullet_projectile
|
|
|
|
|
bullet_12mm_projectileb.Damage0 = 25
|
|
|
|
|
bullet_12mm_projectileb.Damage1 = 10
|
|
|
|
|
bullet_12mm_projectileb.Damage2 = 25
|
|
|
|
|
bullet_12mm_projectileb.Damage3 = 10
|
|
|
|
|
bullet_12mm_projectileb.Damage4 = 7
|
|
|
|
|
bullet_12mm_projectileb.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_12mm_projectileb.DegradeDelay = .015f
|
|
|
|
|
bullet_12mm_projectileb.DegradeMultiplier = 0.5f
|
|
|
|
|
bullet_12mm_projectileb.InitialVelocity = 500
|
|
|
|
|
bullet_12mm_projectileb.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_12mm_projectileb)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_150mm_projectile.Name = "150mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_150mm_projectile.Damage0 = 150
|
|
|
|
|
bullet_150mm_projectile.Damage1 = 450
|
|
|
|
|
bullet_150mm_projectile.Damage2 = 450
|
|
|
|
|
bullet_150mm_projectile.Damage3 = 450
|
|
|
|
|
bullet_150mm_projectile.Damage4 = 400
|
|
|
|
|
bullet_150mm_projectile.DamageAtEdge = 0.10f
|
|
|
|
|
bullet_150mm_projectile.DamageRadius = 8f
|
|
|
|
|
bullet_150mm_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
bullet_150mm_projectile.InitialVelocity = 100
|
|
|
|
|
bullet_150mm_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_150mm_projectile)
|
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 14:32:42 -05:00
|
|
|
bullet_150mm_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_15mm_apc_projectile.Name = "15mmbullet_apc_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent 15mmbullet_apc_projectile game_objects 15mmbullet_projectile
|
|
|
|
|
bullet_15mm_apc_projectile.Damage0 = 12
|
|
|
|
|
bullet_15mm_apc_projectile.Damage1 = 20
|
|
|
|
|
bullet_15mm_apc_projectile.Damage2 = 30
|
|
|
|
|
bullet_15mm_apc_projectile.Damage3 = 20
|
|
|
|
|
bullet_15mm_apc_projectile.Damage4 = 16
|
|
|
|
|
bullet_15mm_apc_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_15mm_apc_projectile.DegradeDelay = .015f
|
|
|
|
|
bullet_15mm_apc_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
bullet_15mm_apc_projectile.InitialVelocity = 500
|
|
|
|
|
bullet_15mm_apc_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_15mm_apc_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_15mm_projectile.Name = "15mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_15mm_projectile.Damage0 = 21
|
|
|
|
|
bullet_15mm_projectile.Damage1 = 18
|
|
|
|
|
bullet_15mm_projectile.Damage2 = 25
|
|
|
|
|
bullet_15mm_projectile.Damage3 = 18
|
|
|
|
|
bullet_15mm_projectile.Damage4 = 11
|
|
|
|
|
bullet_15mm_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_15mm_projectile.DegradeDelay = .015f
|
|
|
|
|
bullet_15mm_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
bullet_15mm_projectile.InitialVelocity = 500
|
|
|
|
|
bullet_15mm_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_15mm_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_20mm_apc_projectile.Name = "20mmbullet_apc_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent 20mmbullet_apc_projectile game_objects 20mmbullet_projectile
|
|
|
|
|
bullet_20mm_apc_projectile.Damage0 = 24
|
|
|
|
|
bullet_20mm_apc_projectile.Damage1 = 40
|
|
|
|
|
bullet_20mm_apc_projectile.Damage2 = 60
|
|
|
|
|
bullet_20mm_apc_projectile.Damage3 = 40
|
|
|
|
|
bullet_20mm_apc_projectile.Damage4 = 32
|
|
|
|
|
bullet_20mm_apc_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_20mm_apc_projectile.DegradeDelay = .015f
|
|
|
|
|
bullet_20mm_apc_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
bullet_20mm_apc_projectile.InitialVelocity = 500
|
|
|
|
|
bullet_20mm_apc_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_20mm_apc_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_20mm_projectile.Name = "20mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_20mm_projectile.Damage0 = 20
|
|
|
|
|
bullet_20mm_projectile.Damage1 = 20
|
|
|
|
|
bullet_20mm_projectile.Damage2 = 40
|
|
|
|
|
bullet_20mm_projectile.Damage3 = 20
|
|
|
|
|
bullet_20mm_projectile.Damage4 = 16
|
|
|
|
|
bullet_20mm_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_20mm_projectile.DegradeDelay = .015f
|
|
|
|
|
bullet_20mm_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
bullet_20mm_projectile.InitialVelocity = 500
|
|
|
|
|
bullet_20mm_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_20mm_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_25mm_projectile.Name = "25mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_25mm_projectile.Damage0 = 25
|
|
|
|
|
bullet_25mm_projectile.Damage1 = 35
|
|
|
|
|
bullet_25mm_projectile.Damage2 = 50
|
|
|
|
|
bullet_25mm_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_25mm_projectile.DegradeDelay = .02f
|
|
|
|
|
bullet_25mm_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
bullet_25mm_projectile.InitialVelocity = 500
|
|
|
|
|
bullet_25mm_projectile.Lifespan = 0.6f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_25mm_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_35mm_projectile.Name = "35mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_35mm_projectile.Damage0 = 40
|
|
|
|
|
bullet_35mm_projectile.Damage1 = 50
|
|
|
|
|
bullet_35mm_projectile.Damage2 = 60
|
|
|
|
|
bullet_35mm_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_35mm_projectile.DegradeDelay = .015f
|
|
|
|
|
bullet_35mm_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
bullet_35mm_projectile.InitialVelocity = 200
|
|
|
|
|
bullet_35mm_projectile.Lifespan = 1.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_35mm_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_75mm_apc_projectile.Name = "75mmbullet_apc_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent 75mmbullet_apc_projectile game_objects 75mmbullet_projectile
|
|
|
|
|
bullet_75mm_apc_projectile.Damage0 = 85
|
|
|
|
|
bullet_75mm_apc_projectile.Damage1 = 155
|
|
|
|
|
bullet_75mm_apc_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
bullet_75mm_apc_projectile.DamageRadius = 5f
|
|
|
|
|
bullet_75mm_apc_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
bullet_75mm_apc_projectile.InitialVelocity = 100
|
|
|
|
|
bullet_75mm_apc_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_75mm_apc_projectile)
|
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 14:32:42 -05:00
|
|
|
bullet_75mm_apc_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_75mm_projectile.Name = "75mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_75mm_projectile.Damage0 = 75
|
|
|
|
|
bullet_75mm_projectile.Damage1 = 125
|
|
|
|
|
bullet_75mm_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
bullet_75mm_projectile.DamageRadius = 5f
|
|
|
|
|
bullet_75mm_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
bullet_75mm_projectile.InitialVelocity = 100
|
|
|
|
|
bullet_75mm_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_75mm_projectile)
|
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 14:32:42 -05:00
|
|
|
bullet_75mm_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_9mm_AP_projectile.Name = "9mmbullet_AP_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent 9mmbullet_AP_projectile game_objects 9mmbullet_projectile
|
|
|
|
|
bullet_9mm_AP_projectile.Damage0 = 10
|
|
|
|
|
bullet_9mm_AP_projectile.Damage1 = 15
|
|
|
|
|
bullet_9mm_AP_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_9mm_AP_projectile.DegradeDelay = 0.15f
|
|
|
|
|
bullet_9mm_AP_projectile.DegradeMultiplier = 0.25f
|
|
|
|
|
bullet_9mm_AP_projectile.InitialVelocity = 500
|
|
|
|
|
bullet_9mm_AP_projectile.Lifespan = 0.4f
|
|
|
|
|
bullet_9mm_AP_projectile.UseDamage1Subtract = true
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_9mm_AP_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bullet_9mm_projectile.Name = "9mmbullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bullet_9mm_projectile.Damage0 = 18
|
|
|
|
|
bullet_9mm_projectile.Damage1 = 10
|
|
|
|
|
bullet_9mm_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
bullet_9mm_projectile.DegradeDelay = 0.15f
|
|
|
|
|
bullet_9mm_projectile.DegradeMultiplier = 0.25f
|
|
|
|
|
bullet_9mm_projectile.InitialVelocity = 500
|
|
|
|
|
bullet_9mm_projectile.Lifespan = 0.4f
|
|
|
|
|
bullet_9mm_projectile.UseDamage1Subtract = true
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bullet_9mm_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
anniversary_projectilea.Name = "anniversary_projectilea"
|
2018-06-12 21:51:53 -04:00
|
|
|
anniversary_projectilea.Damage0 = 30
|
|
|
|
|
anniversary_projectilea.Damage1 = 15
|
|
|
|
|
anniversary_projectilea.Damage2 = 15
|
|
|
|
|
anniversary_projectilea.Damage3 = 45
|
|
|
|
|
anniversary_projectilea.Damage4 = 15
|
|
|
|
|
anniversary_projectilea.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
anniversary_projectilea.DegradeDelay = 0.04f
|
|
|
|
|
anniversary_projectilea.DegradeMultiplier = 0.2f
|
|
|
|
|
anniversary_projectilea.InitialVelocity = 500
|
|
|
|
|
anniversary_projectilea.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(anniversary_projectilea)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
anniversary_projectileb.Name = "anniversary_projectileb"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent anniversary_projectileb game_objects anniversary_projectilea
|
|
|
|
|
anniversary_projectileb.Damage0 = 30
|
|
|
|
|
anniversary_projectileb.Damage1 = 15
|
|
|
|
|
anniversary_projectileb.Damage2 = 15
|
|
|
|
|
anniversary_projectileb.Damage3 = 45
|
|
|
|
|
anniversary_projectileb.Damage4 = 15
|
|
|
|
|
anniversary_projectileb.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
anniversary_projectileb.DegradeDelay = 0.04f
|
|
|
|
|
anniversary_projectileb.DegradeMultiplier = 0.2f
|
|
|
|
|
anniversary_projectileb.InitialVelocity = 500
|
|
|
|
|
anniversary_projectileb.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(anniversary_projectileb)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
aphelion_immolation_cannon_projectile.Name = "aphelion_immolation_cannon_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
aphelion_immolation_cannon_projectile.Damage0 = 55
|
|
|
|
|
aphelion_immolation_cannon_projectile.Damage1 = 225
|
|
|
|
|
aphelion_immolation_cannon_projectile.Damage2 = 210
|
|
|
|
|
aphelion_immolation_cannon_projectile.Damage3 = 135
|
|
|
|
|
aphelion_immolation_cannon_projectile.Damage4 = 140
|
|
|
|
|
aphelion_immolation_cannon_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
aphelion_immolation_cannon_projectile.DamageRadius = 2.0f
|
|
|
|
|
aphelion_immolation_cannon_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
aphelion_immolation_cannon_projectile.InitialVelocity = 250
|
|
|
|
|
aphelion_immolation_cannon_projectile.Lifespan = 1.4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(aphelion_immolation_cannon_projectile)
|
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 14:32:42 -05:00
|
|
|
aphelion_immolation_cannon_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
aphelion_laser_projectile.Name = "aphelion_laser_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
aphelion_laser_projectile.Damage0 = 3
|
|
|
|
|
aphelion_laser_projectile.Damage1 = 5
|
|
|
|
|
aphelion_laser_projectile.Damage2 = 5
|
|
|
|
|
aphelion_laser_projectile.Damage3 = 4
|
|
|
|
|
aphelion_laser_projectile.Damage4 = 5
|
|
|
|
|
aphelion_laser_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
aphelion_laser_projectile.DegradeDelay = .05f
|
|
|
|
|
aphelion_laser_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
aphelion_laser_projectile.InitialVelocity = 500
|
|
|
|
|
aphelion_laser_projectile.Lifespan = 0.35f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(aphelion_laser_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
aphelion_plasma_rocket_projectile.Name = "aphelion_plasma_rocket_projectile"
|
2020-07-10 00:26:30 -04:00
|
|
|
//has property aggravated_damage_max_factor, but it's the aphelion_plasma_cloud that performs aggravated damage
|
2018-06-12 21:51:53 -04:00
|
|
|
aphelion_plasma_rocket_projectile.Damage0 = 38
|
|
|
|
|
aphelion_plasma_rocket_projectile.Damage1 = 70
|
|
|
|
|
aphelion_plasma_rocket_projectile.Damage2 = 95
|
|
|
|
|
aphelion_plasma_rocket_projectile.Damage3 = 55
|
|
|
|
|
aphelion_plasma_rocket_projectile.Damage4 = 60
|
|
|
|
|
aphelion_plasma_rocket_projectile.Acceleration = 20
|
|
|
|
|
aphelion_plasma_rocket_projectile.AccelerationUntil = 2f
|
|
|
|
|
aphelion_plasma_rocket_projectile.DamageAtEdge = .1f
|
|
|
|
|
aphelion_plasma_rocket_projectile.DamageRadius = 3f
|
|
|
|
|
aphelion_plasma_rocket_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
aphelion_plasma_rocket_projectile.InitialVelocity = 75
|
|
|
|
|
aphelion_plasma_rocket_projectile.Lifespan = 5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(aphelion_plasma_rocket_projectile)
|
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 14:32:42 -05:00
|
|
|
aphelion_plasma_rocket_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
aphelion_ppa_projectile.Name = "aphelion_ppa_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent aphelion_ppa_projectile game_objects ppa_projectile
|
|
|
|
|
aphelion_ppa_projectile.Damage0 = 31
|
|
|
|
|
aphelion_ppa_projectile.Damage1 = 84
|
|
|
|
|
aphelion_ppa_projectile.Damage2 = 58
|
|
|
|
|
aphelion_ppa_projectile.Damage3 = 57
|
|
|
|
|
aphelion_ppa_projectile.Damage4 = 60
|
|
|
|
|
aphelion_ppa_projectile.DamageAtEdge = 0.10f
|
|
|
|
|
aphelion_ppa_projectile.DamageRadius = 1f
|
|
|
|
|
aphelion_ppa_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
aphelion_ppa_projectile.DegradeDelay = .5f
|
|
|
|
|
aphelion_ppa_projectile.DegradeMultiplier = 0.55f
|
|
|
|
|
aphelion_ppa_projectile.InitialVelocity = 350
|
|
|
|
|
aphelion_ppa_projectile.Lifespan = .7f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(aphelion_ppa_projectile)
|
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 14:32:42 -05:00
|
|
|
aphelion_ppa_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
aphelion_starfire_projectile.Name = "aphelion_starfire_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent aphelion_starfire_projectile game_objects starfire_projectile
|
|
|
|
|
aphelion_starfire_projectile.Damage0 = 12
|
|
|
|
|
aphelion_starfire_projectile.Damage1 = 20
|
|
|
|
|
aphelion_starfire_projectile.Damage2 = 15
|
|
|
|
|
aphelion_starfire_projectile.Damage3 = 19
|
|
|
|
|
aphelion_starfire_projectile.Damage4 = 17
|
|
|
|
|
aphelion_starfire_projectile.Acceleration = 11
|
|
|
|
|
aphelion_starfire_projectile.AccelerationUntil = 5f
|
|
|
|
|
aphelion_starfire_projectile.InitialVelocity = 45
|
|
|
|
|
aphelion_starfire_projectile.Lifespan = 7f
|
|
|
|
|
aphelion_starfire_projectile.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
aphelion_starfire_projectile.Aggravated = AggravatedDamage(
|
|
|
|
|
AggravatedInfo(DamageType.Direct, 0.25f, 250),
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.None,
|
2020-08-10 08:20:12 -04:00
|
|
|
2000,
|
2020-07-10 00:26:30 -04:00
|
|
|
0f,
|
2020-08-07 23:32:09 -04:00
|
|
|
true,
|
|
|
|
|
List(TargetValidation(EffectTarget.Category.Aircraft, EffectTarget.Validation.Aircraft))
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2019-05-10 23:11:49 -04:00
|
|
|
aphelion_starfire_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
aphelion_starfire_projectile.RemoteClientData = (39577, 249) //starfire_projectile data
|
2019-11-04 09:21:36 -05:00
|
|
|
aphelion_starfire_projectile.AutoLock = true
|
2019-05-14 05:34:07 -04:00
|
|
|
aphelion_starfire_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(aphelion_starfire_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
bolt_projectile.Name = "bolt_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
bolt_projectile.Damage0 = 100
|
|
|
|
|
bolt_projectile.Damage1 = 50
|
|
|
|
|
bolt_projectile.Damage2 = 50
|
|
|
|
|
bolt_projectile.Damage3 = 50
|
|
|
|
|
bolt_projectile.Damage4 = 75
|
|
|
|
|
bolt_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
bolt_projectile.InitialVelocity = 500
|
|
|
|
|
bolt_projectile.Lifespan = 1.0f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(bolt_projectile)
|
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 14:32:42 -05:00
|
|
|
//TODO bolt_projectile.Modifiers = DistanceDegrade?
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
burster_projectile.Name = "burster_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
burster_projectile.Damage0 = 18
|
|
|
|
|
burster_projectile.Damage1 = 25
|
|
|
|
|
burster_projectile.Damage2 = 50
|
|
|
|
|
burster_projectile.DamageAtEdge = 0.25f
|
|
|
|
|
burster_projectile.DamageRadius = 10f
|
|
|
|
|
burster_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
burster_projectile.ProjectileDamageTypeSecondary = DamageType.Splash
|
|
|
|
|
burster_projectile.InitialVelocity = 125
|
|
|
|
|
burster_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(burster_projectile)
|
2020-09-21 23:18:11 -04:00
|
|
|
burster_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
//FlakHit,
|
|
|
|
|
FlakBurst,
|
|
|
|
|
MaxDistanceCutoff
|
2020-09-21 23:18:11 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
chainblade_projectile.Name = "chainblade_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent chainblade_projectile game_objects melee_ammo_projectile
|
|
|
|
|
chainblade_projectile.Damage0 = 50
|
|
|
|
|
chainblade_projectile.Damage1 = 0
|
|
|
|
|
chainblade_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
chainblade_projectile.InitialVelocity = 100
|
|
|
|
|
chainblade_projectile.Lifespan = .02f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(chainblade_projectile)
|
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 14:32:42 -05:00
|
|
|
chainblade_projectile.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
colossus_100mm_projectile.Name = "colossus_100mm_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
colossus_100mm_projectile.Damage0 = 58
|
|
|
|
|
colossus_100mm_projectile.Damage1 = 330
|
|
|
|
|
colossus_100mm_projectile.Damage2 = 300
|
|
|
|
|
colossus_100mm_projectile.Damage3 = 165
|
|
|
|
|
colossus_100mm_projectile.Damage4 = 190
|
|
|
|
|
colossus_100mm_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
colossus_100mm_projectile.DamageRadius = 5f
|
|
|
|
|
colossus_100mm_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
colossus_100mm_projectile.InitialVelocity = 100
|
|
|
|
|
colossus_100mm_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(colossus_100mm_projectile)
|
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 14:32:42 -05:00
|
|
|
colossus_100mm_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
colossus_burster_projectile.Name = "colossus_burster_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent colossus_burster_projectile game_objects burster_projectile
|
|
|
|
|
colossus_burster_projectile.Damage0 = 18
|
|
|
|
|
colossus_burster_projectile.Damage1 = 26
|
|
|
|
|
colossus_burster_projectile.Damage2 = 18
|
|
|
|
|
colossus_burster_projectile.Damage3 = 22
|
|
|
|
|
colossus_burster_projectile.Damage4 = 20
|
|
|
|
|
colossus_burster_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
colossus_burster_projectile.DamageRadius = 7f
|
|
|
|
|
colossus_burster_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
colossus_burster_projectile.ProjectileDamageTypeSecondary = DamageType.Splash
|
|
|
|
|
colossus_burster_projectile.InitialVelocity = 175
|
|
|
|
|
colossus_burster_projectile.Lifespan = 2.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(colossus_burster_projectile)
|
2020-09-21 23:18:11 -04:00
|
|
|
colossus_burster_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
//FlakHit,
|
|
|
|
|
FlakBurst,
|
|
|
|
|
MaxDistanceCutoff
|
2020-09-21 23:18:11 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
colossus_chaingun_projectile.Name = "colossus_chaingun_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent colossus_chaingun_projectile game_objects 35mmbullet_projectile
|
|
|
|
|
colossus_chaingun_projectile.Damage0 = 15
|
|
|
|
|
colossus_chaingun_projectile.Damage1 = 14
|
|
|
|
|
colossus_chaingun_projectile.Damage2 = 15
|
|
|
|
|
colossus_chaingun_projectile.Damage3 = 13
|
|
|
|
|
colossus_chaingun_projectile.Damage4 = 11
|
|
|
|
|
colossus_chaingun_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
colossus_chaingun_projectile.DegradeDelay = .100f
|
|
|
|
|
colossus_chaingun_projectile.DegradeMultiplier = 0.44f
|
|
|
|
|
colossus_chaingun_projectile.InitialVelocity = 500
|
|
|
|
|
colossus_chaingun_projectile.Lifespan = .50f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(colossus_chaingun_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
colossus_cluster_bomb_projectile.Name = "colossus_cluster_bomb_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
colossus_cluster_bomb_projectile.Damage0 = 40
|
|
|
|
|
colossus_cluster_bomb_projectile.Damage1 = 88
|
|
|
|
|
colossus_cluster_bomb_projectile.Damage2 = 100
|
|
|
|
|
colossus_cluster_bomb_projectile.Damage3 = 83
|
|
|
|
|
colossus_cluster_bomb_projectile.Damage4 = 88
|
|
|
|
|
colossus_cluster_bomb_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
colossus_cluster_bomb_projectile.DamageRadius = 8f
|
|
|
|
|
colossus_cluster_bomb_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
colossus_cluster_bomb_projectile.InitialVelocity = 75
|
|
|
|
|
colossus_cluster_bomb_projectile.Lifespan = 5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(colossus_cluster_bomb_projectile)
|
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 14:32:42 -05:00
|
|
|
colossus_cluster_bomb_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
colossus_tank_cannon_projectile.Name = "colossus_tank_cannon_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent colossus_tank_cannon_projectile game_objects 75mmbullet_projectile
|
|
|
|
|
colossus_tank_cannon_projectile.Damage0 = 33
|
|
|
|
|
colossus_tank_cannon_projectile.Damage1 = 90
|
|
|
|
|
colossus_tank_cannon_projectile.Damage2 = 95
|
|
|
|
|
colossus_tank_cannon_projectile.Damage3 = 71
|
|
|
|
|
colossus_tank_cannon_projectile.Damage4 = 66
|
|
|
|
|
colossus_tank_cannon_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
colossus_tank_cannon_projectile.DamageRadius = 2f
|
|
|
|
|
colossus_tank_cannon_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
colossus_tank_cannon_projectile.InitialVelocity = 165
|
|
|
|
|
colossus_tank_cannon_projectile.Lifespan = 2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(colossus_tank_cannon_projectile)
|
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 14:32:42 -05:00
|
|
|
colossus_tank_cannon_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
comet_projectile.Name = "comet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
comet_projectile.Damage0 = 15
|
|
|
|
|
comet_projectile.Damage1 = 60
|
|
|
|
|
comet_projectile.Damage2 = 60
|
|
|
|
|
comet_projectile.Damage3 = 38
|
|
|
|
|
comet_projectile.Damage4 = 64
|
|
|
|
|
comet_projectile.Acceleration = 10
|
|
|
|
|
comet_projectile.AccelerationUntil = 2f
|
|
|
|
|
comet_projectile.DamageAtEdge = 0.45f
|
|
|
|
|
comet_projectile.DamageRadius = 1.0f
|
|
|
|
|
comet_projectile.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
comet_projectile.Aggravated = AggravatedDamage(
|
2020-08-18 13:32:43 -04:00
|
|
|
AggravatedInfo(DamageType.Direct, 0.25f, 500), //originally, .2
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.Comet,
|
2020-08-18 13:32:43 -04:00
|
|
|
AggravatedTiming(2000, 3),
|
2020-08-07 23:32:09 -04:00
|
|
|
10f,
|
|
|
|
|
List(
|
|
|
|
|
TargetValidation(EffectTarget.Category.Player, EffectTarget.Validation.Player),
|
2020-08-18 13:32:43 -04:00
|
|
|
TargetValidation(EffectTarget.Category.Vehicle, EffectTarget.Validation.Vehicle),
|
|
|
|
|
TargetValidation(EffectTarget.Category.Turret, EffectTarget.Validation.Turret)
|
2020-08-07 23:32:09 -04:00
|
|
|
)
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
comet_projectile.InitialVelocity = 80
|
|
|
|
|
comet_projectile.Lifespan = 3.1f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(comet_projectile)
|
2020-08-11 15:17:56 -04:00
|
|
|
comet_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
CometAggravated,
|
|
|
|
|
CometAggravatedBurn
|
2020-08-11 15:17:56 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
dualcycler_projectile.Name = "dualcycler_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
dualcycler_projectile.Damage0 = 18
|
|
|
|
|
dualcycler_projectile.Damage1 = 10
|
|
|
|
|
dualcycler_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
dualcycler_projectile.DegradeDelay = .025f
|
|
|
|
|
dualcycler_projectile.DegradeMultiplier = .5f
|
|
|
|
|
dualcycler_projectile.InitialVelocity = 500
|
|
|
|
|
dualcycler_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(dualcycler_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
dynomite_projectile.Name = "dynomite_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent dynomite_projectile game_objects frag_grenade_projectile_enh
|
|
|
|
|
dynomite_projectile.Damage0 = 75
|
|
|
|
|
dynomite_projectile.Damage1 = 175
|
|
|
|
|
dynomite_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
dynomite_projectile.DamageRadius = 10f
|
2020-07-17 21:36:01 -04:00
|
|
|
dynomite_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
dynomite_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
dynomite_projectile.InitialVelocity = 30
|
|
|
|
|
dynomite_projectile.Lifespan = 3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(dynomite_projectile)
|
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 14:32:42 -05:00
|
|
|
dynomite_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
energy_cell_projectile.Name = "energy_cell_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
energy_cell_projectile.Damage0 = 18
|
|
|
|
|
energy_cell_projectile.Damage1 = 10
|
|
|
|
|
energy_cell_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
energy_cell_projectile.DegradeDelay = 0.05f
|
|
|
|
|
energy_cell_projectile.DegradeMultiplier = 0.4f
|
|
|
|
|
energy_cell_projectile.InitialVelocity = 500
|
|
|
|
|
energy_cell_projectile.Lifespan = .4f
|
|
|
|
|
energy_cell_projectile.UseDamage1Subtract = true
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(energy_cell_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
energy_gun_nc_projectile.Name = "energy_gun_nc_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
energy_gun_nc_projectile.Damage0 = 10
|
|
|
|
|
energy_gun_nc_projectile.Damage1 = 13
|
|
|
|
|
energy_gun_nc_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
energy_gun_nc_projectile.InitialVelocity = 500
|
|
|
|
|
energy_gun_nc_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(energy_gun_nc_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
energy_gun_tr_projectile.Name = "energy_gun_tr_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
energy_gun_tr_projectile.Damage0 = 14
|
|
|
|
|
energy_gun_tr_projectile.Damage1 = 18
|
|
|
|
|
energy_gun_tr_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
energy_gun_tr_projectile.DegradeDelay = .025f
|
|
|
|
|
energy_gun_tr_projectile.DegradeMultiplier = .5f
|
|
|
|
|
energy_gun_tr_projectile.InitialVelocity = 500
|
|
|
|
|
energy_gun_tr_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(energy_gun_tr_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
energy_gun_vs_projectile.Name = "energy_gun_vs_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
energy_gun_vs_projectile.Damage0 = 25
|
|
|
|
|
energy_gun_vs_projectile.Damage1 = 35
|
|
|
|
|
energy_gun_vs_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
energy_gun_vs_projectile.DegradeDelay = 0.045f
|
|
|
|
|
energy_gun_vs_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
energy_gun_vs_projectile.InitialVelocity = 500
|
|
|
|
|
energy_gun_vs_projectile.Lifespan = .5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(energy_gun_vs_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
enhanced_energy_cell_projectile.Name = "enhanced_energy_cell_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent enhanced_energy_cell_projectile game_objects energy_cell_projectile
|
|
|
|
|
enhanced_energy_cell_projectile.Damage0 = 7
|
|
|
|
|
enhanced_energy_cell_projectile.Damage1 = 15
|
|
|
|
|
enhanced_energy_cell_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
enhanced_energy_cell_projectile.DegradeDelay = 0.05f
|
|
|
|
|
enhanced_energy_cell_projectile.DegradeMultiplier = 0.4f
|
|
|
|
|
enhanced_energy_cell_projectile.InitialVelocity = 500
|
|
|
|
|
enhanced_energy_cell_projectile.Lifespan = .4f
|
|
|
|
|
enhanced_energy_cell_projectile.UseDamage1Subtract = true
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(enhanced_energy_cell_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
enhanced_quasar_projectile.Name = "enhanced_quasar_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent enhanced_quasar_projectile game_objects quasar_projectile
|
|
|
|
|
enhanced_quasar_projectile.Damage1 = 12
|
|
|
|
|
enhanced_quasar_projectile.Damage0 = 10
|
|
|
|
|
enhanced_quasar_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
enhanced_quasar_projectile.DegradeDelay = 0.045f
|
|
|
|
|
enhanced_quasar_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
enhanced_quasar_projectile.InitialVelocity = 500
|
|
|
|
|
enhanced_quasar_projectile.Lifespan = .4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(enhanced_quasar_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
falcon_projectile.Name = "falcon_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
falcon_projectile.Damage0 = 35
|
|
|
|
|
falcon_projectile.Damage1 = 132
|
|
|
|
|
falcon_projectile.Damage2 = 132
|
|
|
|
|
falcon_projectile.Damage3 = 83
|
|
|
|
|
falcon_projectile.Damage4 = 144
|
|
|
|
|
falcon_projectile.Acceleration = 10
|
|
|
|
|
falcon_projectile.AccelerationUntil = 2f
|
|
|
|
|
falcon_projectile.DamageAtEdge = 0.2f
|
|
|
|
|
falcon_projectile.DamageRadius = 1f
|
|
|
|
|
falcon_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
falcon_projectile.InitialVelocity = 120
|
|
|
|
|
falcon_projectile.Lifespan = 2.1f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(falcon_projectile)
|
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 14:32:42 -05:00
|
|
|
falcon_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
firebird_missile_projectile.Name = "firebird_missile_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
firebird_missile_projectile.Damage0 = 125
|
|
|
|
|
firebird_missile_projectile.Damage1 = 220
|
|
|
|
|
firebird_missile_projectile.Damage2 = 220
|
|
|
|
|
firebird_missile_projectile.Damage3 = 200
|
|
|
|
|
firebird_missile_projectile.Damage4 = 181
|
|
|
|
|
firebird_missile_projectile.Acceleration = 20
|
|
|
|
|
firebird_missile_projectile.AccelerationUntil = 2f
|
|
|
|
|
firebird_missile_projectile.DamageAtEdge = .1f
|
|
|
|
|
firebird_missile_projectile.DamageRadius = 5f
|
|
|
|
|
firebird_missile_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
firebird_missile_projectile.InitialVelocity = 75
|
|
|
|
|
firebird_missile_projectile.Lifespan = 5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(firebird_missile_projectile)
|
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 14:32:42 -05:00
|
|
|
firebird_missile_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
flail_projectile.Name = "flail_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
flail_projectile.Damage0 = 75
|
|
|
|
|
flail_projectile.Damage1 = 200
|
|
|
|
|
flail_projectile.Damage2 = 200
|
|
|
|
|
flail_projectile.Damage3 = 200
|
|
|
|
|
flail_projectile.Damage4 = 300
|
|
|
|
|
flail_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
flail_projectile.DamageRadius = 15f
|
|
|
|
|
flail_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
flail_projectile.DegradeDelay = 1.5f
|
|
|
|
|
flail_projectile.DegradeMultiplier = 5f
|
|
|
|
|
flail_projectile.InitialVelocity = 75
|
|
|
|
|
flail_projectile.Lifespan = 40f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(flail_projectile)
|
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 14:32:42 -05:00
|
|
|
//TODO flail_projectile.Modifiers = RadialDegrade?
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
flamethrower_fireball.Name = "flamethrower_fireball"
|
2018-06-12 21:51:53 -04:00
|
|
|
flamethrower_fireball.Damage0 = 30
|
|
|
|
|
flamethrower_fireball.Damage1 = 0
|
|
|
|
|
flamethrower_fireball.Damage2 = 0
|
|
|
|
|
flamethrower_fireball.Damage3 = 20
|
|
|
|
|
flamethrower_fireball.Damage4 = 0
|
2020-08-04 23:08:57 -04:00
|
|
|
flamethrower_fireball.DamageToHealthOnly = true
|
2018-06-12 21:51:53 -04:00
|
|
|
flamethrower_fireball.DamageAtEdge = 0.15f
|
|
|
|
|
flamethrower_fireball.DamageRadius = 5f
|
|
|
|
|
flamethrower_fireball.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
flamethrower_fireball.Aggravated = AggravatedDamage(
|
|
|
|
|
List(AggravatedInfo(DamageType.Direct, 0.9f, 500), AggravatedInfo(DamageType.Splash, 0.9f, 500)),
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.Fire,
|
2020-08-26 19:10:43 -04:00
|
|
|
AggravatedTiming(5000, 10),
|
2020-07-10 00:26:30 -04:00
|
|
|
0.1f,
|
|
|
|
|
false,
|
2020-08-07 23:32:09 -04:00
|
|
|
false,
|
|
|
|
|
List(TargetValidation(EffectTarget.Category.Player, EffectTarget.Validation.Player))
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
flamethrower_fireball.InitialVelocity = 15
|
|
|
|
|
flamethrower_fireball.Lifespan = 1.2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(flamethrower_fireball)
|
2020-08-04 23:08:57 -04:00
|
|
|
flamethrower_fireball.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
InfantryAggravatedDirect,
|
|
|
|
|
InfantryAggravatedSplash,
|
|
|
|
|
RadialDegrade,
|
|
|
|
|
FireballAggravatedBurn
|
2020-08-04 23:08:57 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
flamethrower_projectile.Name = "flamethrower_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
flamethrower_projectile.Damage0 = 10
|
|
|
|
|
flamethrower_projectile.Damage1 = 0
|
|
|
|
|
flamethrower_projectile.Damage2 = 0
|
|
|
|
|
flamethrower_projectile.Damage3 = 4
|
|
|
|
|
flamethrower_projectile.Damage4 = 0
|
2020-08-04 23:08:57 -04:00
|
|
|
flamethrower_projectile.DamageToHealthOnly = true
|
2018-06-12 21:51:53 -04:00
|
|
|
flamethrower_projectile.Acceleration = -5
|
|
|
|
|
flamethrower_projectile.AccelerationUntil = 2f
|
|
|
|
|
flamethrower_projectile.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
flamethrower_projectile.Aggravated = AggravatedDamage(
|
|
|
|
|
List(AggravatedInfo(DamageType.Direct, 0.5f, 500)),
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.Fire,
|
2020-08-26 19:10:43 -04:00
|
|
|
AggravatedTiming(5000, 10),
|
2020-07-10 00:26:30 -04:00
|
|
|
0.5f,
|
|
|
|
|
false,
|
2020-08-07 23:32:09 -04:00
|
|
|
false,
|
|
|
|
|
List(TargetValidation(EffectTarget.Category.Player, EffectTarget.Validation.Player))
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
flamethrower_projectile.DegradeDelay = 1.0f
|
|
|
|
|
flamethrower_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
flamethrower_projectile.InitialVelocity = 10
|
|
|
|
|
flamethrower_projectile.Lifespan = 2.0f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(flamethrower_projectile)
|
2020-08-04 23:08:57 -04:00
|
|
|
flamethrower_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
InfantryAggravatedDirect,
|
|
|
|
|
FireballAggravatedBurn,
|
|
|
|
|
MaxDistanceCutoff
|
2020-08-04 23:08:57 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
flux_cannon_apc_projectile.Name = "flux_cannon_apc_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent flux_cannon_apc_projectile game_objects flux_cannon_thresher_projectile
|
|
|
|
|
flux_cannon_apc_projectile.Damage0 = 14
|
|
|
|
|
flux_cannon_apc_projectile.Damage1 = 23
|
|
|
|
|
flux_cannon_apc_projectile.Damage2 = 35
|
|
|
|
|
flux_cannon_apc_projectile.Damage3 = 23
|
|
|
|
|
flux_cannon_apc_projectile.Damage4 = 18
|
|
|
|
|
flux_cannon_apc_projectile.DamageAtEdge = .5f
|
|
|
|
|
flux_cannon_apc_projectile.DamageRadius = 4f
|
|
|
|
|
flux_cannon_apc_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
flux_cannon_apc_projectile.InitialVelocity = 300
|
|
|
|
|
flux_cannon_apc_projectile.Lifespan = 1f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(flux_cannon_apc_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
flux_cannon_thresher_projectile.Name = "flux_cannon_thresher_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
flux_cannon_thresher_projectile.Damage0 = 30
|
|
|
|
|
flux_cannon_thresher_projectile.Damage1 = 44
|
|
|
|
|
flux_cannon_thresher_projectile.Damage2 = 44
|
|
|
|
|
flux_cannon_thresher_projectile.Damage3 = 40
|
|
|
|
|
flux_cannon_thresher_projectile.Damage4 = 37
|
|
|
|
|
flux_cannon_thresher_projectile.DamageAtEdge = .5f
|
|
|
|
|
flux_cannon_thresher_projectile.DamageRadius = 4f
|
|
|
|
|
flux_cannon_thresher_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
flux_cannon_thresher_projectile.InitialVelocity = 75
|
|
|
|
|
flux_cannon_thresher_projectile.Lifespan = 3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(flux_cannon_thresher_projectile)
|
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 14:32:42 -05:00
|
|
|
flux_cannon_thresher_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
fluxpod_projectile.Name = "fluxpod_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
fluxpod_projectile.Damage0 = 110
|
|
|
|
|
fluxpod_projectile.Damage1 = 80
|
|
|
|
|
fluxpod_projectile.Damage2 = 125
|
|
|
|
|
fluxpod_projectile.Damage3 = 80
|
|
|
|
|
fluxpod_projectile.Damage4 = 52
|
|
|
|
|
fluxpod_projectile.DamageAtEdge = .3f
|
|
|
|
|
fluxpod_projectile.DamageRadius = 3f
|
|
|
|
|
fluxpod_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
fluxpod_projectile.InitialVelocity = 80
|
|
|
|
|
fluxpod_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(fluxpod_projectile)
|
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 14:32:42 -05:00
|
|
|
fluxpod_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
forceblade_projectile.Name = "forceblade_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent forceblade_projectile game_objects melee_ammo_projectile
|
|
|
|
|
forceblade_projectile.Damage0 = 50
|
|
|
|
|
forceblade_projectile.Damage1 = 0
|
|
|
|
|
forceblade_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
forceblade_projectile.InitialVelocity = 100
|
|
|
|
|
forceblade_projectile.Lifespan = .02f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(forceblade_projectile)
|
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 14:32:42 -05:00
|
|
|
forceblade_projectile.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
frag_cartridge_projectile.Name = "frag_cartridge_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent frag_cartridge_projectile game_objects frag_grenade_projectile
|
|
|
|
|
frag_cartridge_projectile.Damage0 = 75
|
|
|
|
|
frag_cartridge_projectile.Damage1 = 100
|
|
|
|
|
frag_cartridge_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
frag_cartridge_projectile.DamageRadius = 7f
|
2020-07-17 21:36:01 -04:00
|
|
|
frag_cartridge_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
frag_cartridge_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
frag_cartridge_projectile.InitialVelocity = 30
|
|
|
|
|
frag_cartridge_projectile.Lifespan = 15f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(frag_cartridge_projectile)
|
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 14:32:42 -05:00
|
|
|
frag_cartridge_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
frag_cartridge_projectile_b.Name = "frag_cartridge_projectile_b"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent frag_cartridge_projectile_b game_objects frag_grenade_projectile_enh
|
|
|
|
|
frag_cartridge_projectile_b.Damage0 = 75
|
|
|
|
|
frag_cartridge_projectile_b.Damage1 = 100
|
|
|
|
|
frag_cartridge_projectile_b.DamageAtEdge = 0.1f
|
|
|
|
|
frag_cartridge_projectile_b.DamageRadius = 5f
|
2020-07-17 21:36:01 -04:00
|
|
|
frag_cartridge_projectile_b.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
frag_cartridge_projectile_b.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
frag_cartridge_projectile_b.InitialVelocity = 30
|
|
|
|
|
frag_cartridge_projectile_b.Lifespan = 2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(frag_cartridge_projectile_b)
|
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 14:32:42 -05:00
|
|
|
frag_cartridge_projectile_b.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
frag_grenade_projectile.Name = "frag_grenade_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
frag_grenade_projectile.Damage0 = 75
|
|
|
|
|
frag_grenade_projectile.Damage1 = 100
|
|
|
|
|
frag_grenade_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
frag_grenade_projectile.DamageRadius = 7f
|
2020-07-17 21:36:01 -04:00
|
|
|
frag_grenade_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
frag_grenade_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
frag_grenade_projectile.InitialVelocity = 30
|
|
|
|
|
frag_grenade_projectile.Lifespan = 15f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(frag_grenade_projectile)
|
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 14:32:42 -05:00
|
|
|
frag_grenade_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
frag_grenade_projectile_enh.Name = "frag_grenade_projectile_enh"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent frag_grenade_projectile_enh game_objects frag_grenade_projectile
|
|
|
|
|
frag_grenade_projectile_enh.Damage0 = 75
|
|
|
|
|
frag_grenade_projectile_enh.Damage1 = 100
|
|
|
|
|
frag_grenade_projectile_enh.DamageAtEdge = 0.1f
|
|
|
|
|
frag_grenade_projectile_enh.DamageRadius = 7f
|
2020-07-17 21:36:01 -04:00
|
|
|
frag_grenade_projectile_enh.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
frag_grenade_projectile_enh.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
frag_grenade_projectile_enh.InitialVelocity = 30
|
|
|
|
|
frag_grenade_projectile_enh.Lifespan = 2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(frag_grenade_projectile_enh)
|
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 14:32:42 -05:00
|
|
|
frag_grenade_projectile_enh.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
galaxy_gunship_gun_projectile.Name = "galaxy_gunship_gun_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent galaxy_gunship_gun_projectile game_objects 35mmbullet_projectile
|
|
|
|
|
galaxy_gunship_gun_projectile.Damage0 = 40
|
|
|
|
|
galaxy_gunship_gun_projectile.Damage1 = 50
|
|
|
|
|
galaxy_gunship_gun_projectile.Damage2 = 80
|
|
|
|
|
galaxy_gunship_gun_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
galaxy_gunship_gun_projectile.DegradeDelay = 0.4f
|
|
|
|
|
galaxy_gunship_gun_projectile.DegradeMultiplier = 0.6f
|
|
|
|
|
galaxy_gunship_gun_projectile.InitialVelocity = 400
|
|
|
|
|
galaxy_gunship_gun_projectile.Lifespan = 0.8f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(galaxy_gunship_gun_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
gauss_cannon_projectile.Name = "gauss_cannon_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
gauss_cannon_projectile.Damage0 = 190
|
|
|
|
|
gauss_cannon_projectile.Damage1 = 370
|
|
|
|
|
gauss_cannon_projectile.Damage2 = 370
|
|
|
|
|
gauss_cannon_projectile.Damage3 = 370
|
|
|
|
|
gauss_cannon_projectile.Damage4 = 240
|
|
|
|
|
gauss_cannon_projectile.DamageAtEdge = 0.3f
|
|
|
|
|
gauss_cannon_projectile.DamageRadius = 1.5f
|
|
|
|
|
gauss_cannon_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
gauss_cannon_projectile.InitialVelocity = 150
|
|
|
|
|
gauss_cannon_projectile.Lifespan = 2.67f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(gauss_cannon_projectile)
|
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 14:32:42 -05:00
|
|
|
gauss_cannon_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
grenade_projectile.Name = "grenade_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
grenade_projectile.Damage0 = 50
|
|
|
|
|
grenade_projectile.DamageAtEdge = 0.2f
|
|
|
|
|
grenade_projectile.DamageRadius = 100f
|
|
|
|
|
grenade_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
grenade_projectile.InitialVelocity = 15
|
|
|
|
|
grenade_projectile.Lifespan = 15f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(grenade_projectile)
|
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 14:32:42 -05:00
|
|
|
grenade_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
heavy_grenade_projectile.Name = "heavy_grenade_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
heavy_grenade_projectile.Damage0 = 50
|
|
|
|
|
heavy_grenade_projectile.Damage1 = 82
|
|
|
|
|
heavy_grenade_projectile.Damage2 = 82
|
|
|
|
|
heavy_grenade_projectile.Damage3 = 75
|
|
|
|
|
heavy_grenade_projectile.Damage4 = 66
|
|
|
|
|
heavy_grenade_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
heavy_grenade_projectile.DamageRadius = 5f
|
2020-07-17 21:36:01 -04:00
|
|
|
heavy_grenade_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
heavy_grenade_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
heavy_grenade_projectile.InitialVelocity = 75
|
|
|
|
|
heavy_grenade_projectile.Lifespan = 5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(heavy_grenade_projectile)
|
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 14:32:42 -05:00
|
|
|
heavy_grenade_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
heavy_rail_beam_projectile.Name = "heavy_rail_beam_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
heavy_rail_beam_projectile.Damage0 = 75
|
|
|
|
|
heavy_rail_beam_projectile.Damage1 = 215
|
|
|
|
|
heavy_rail_beam_projectile.Damage2 = 215
|
|
|
|
|
heavy_rail_beam_projectile.Damage3 = 215
|
|
|
|
|
heavy_rail_beam_projectile.Damage4 = 120
|
|
|
|
|
heavy_rail_beam_projectile.DamageAtEdge = 0.30f
|
|
|
|
|
heavy_rail_beam_projectile.DamageRadius = 5f
|
|
|
|
|
heavy_rail_beam_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
heavy_rail_beam_projectile.InitialVelocity = 600
|
|
|
|
|
heavy_rail_beam_projectile.Lifespan = .5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(heavy_rail_beam_projectile)
|
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 14:32:42 -05:00
|
|
|
heavy_rail_beam_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
heavy_sniper_projectile.Name = "heavy_sniper_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
heavy_sniper_projectile.Damage0 = 55
|
|
|
|
|
heavy_sniper_projectile.Damage1 = 28
|
|
|
|
|
heavy_sniper_projectile.Damage2 = 28
|
|
|
|
|
heavy_sniper_projectile.Damage3 = 28
|
|
|
|
|
heavy_sniper_projectile.Damage4 = 42
|
|
|
|
|
heavy_sniper_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
heavy_sniper_projectile.InitialVelocity = 500
|
|
|
|
|
heavy_sniper_projectile.Lifespan = 1.0f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(heavy_sniper_projectile)
|
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 14:32:42 -05:00
|
|
|
heavy_sniper_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
hellfire_projectile.Name = "hellfire_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
hellfire_projectile.Damage0 = 50
|
|
|
|
|
hellfire_projectile.Damage1 = 250
|
|
|
|
|
hellfire_projectile.Damage2 = 250
|
|
|
|
|
hellfire_projectile.Damage3 = 125
|
|
|
|
|
hellfire_projectile.Damage4 = 250
|
|
|
|
|
hellfire_projectile.Acceleration = 10
|
|
|
|
|
hellfire_projectile.AccelerationUntil = 2f
|
|
|
|
|
hellfire_projectile.DamageAtEdge = .25f
|
|
|
|
|
hellfire_projectile.DamageRadius = 3f
|
|
|
|
|
hellfire_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
hellfire_projectile.InitialVelocity = 125
|
|
|
|
|
hellfire_projectile.Lifespan = 1.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(hellfire_projectile)
|
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 14:32:42 -05:00
|
|
|
hellfire_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
hunter_seeker_missile_dumbfire.Name = "hunter_seeker_missile_dumbfire"
|
2018-06-12 21:51:53 -04:00
|
|
|
hunter_seeker_missile_dumbfire.Damage0 = 50
|
|
|
|
|
hunter_seeker_missile_dumbfire.Damage1 = 350
|
|
|
|
|
hunter_seeker_missile_dumbfire.Damage2 = 250
|
|
|
|
|
hunter_seeker_missile_dumbfire.Damage3 = 250
|
|
|
|
|
hunter_seeker_missile_dumbfire.Damage4 = 525
|
|
|
|
|
hunter_seeker_missile_dumbfire.DamageAtEdge = 0.1f
|
|
|
|
|
hunter_seeker_missile_dumbfire.DamageRadius = 1.5f
|
|
|
|
|
hunter_seeker_missile_dumbfire.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
hunter_seeker_missile_dumbfire.InitialVelocity = 40
|
|
|
|
|
hunter_seeker_missile_dumbfire.Lifespan = 6.3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(hunter_seeker_missile_dumbfire)
|
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 14:32:42 -05:00
|
|
|
hunter_seeker_missile_dumbfire.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
hunter_seeker_missile_projectile.Name = "hunter_seeker_missile_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
hunter_seeker_missile_projectile.Damage0 = 50
|
|
|
|
|
hunter_seeker_missile_projectile.Damage1 = 350
|
|
|
|
|
hunter_seeker_missile_projectile.Damage2 = 250
|
|
|
|
|
hunter_seeker_missile_projectile.Damage3 = 250
|
|
|
|
|
hunter_seeker_missile_projectile.Damage4 = 525
|
|
|
|
|
hunter_seeker_missile_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
hunter_seeker_missile_projectile.DamageRadius = 1.5f
|
|
|
|
|
hunter_seeker_missile_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
hunter_seeker_missile_projectile.InitialVelocity = 40
|
|
|
|
|
hunter_seeker_missile_projectile.Lifespan = 6.3f
|
2019-05-10 23:11:49 -04:00
|
|
|
hunter_seeker_missile_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
hunter_seeker_missile_projectile.RemoteClientData = (39577, 201)
|
2019-05-14 05:34:07 -04:00
|
|
|
hunter_seeker_missile_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(hunter_seeker_missile_projectile)
|
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 14:32:42 -05:00
|
|
|
hunter_seeker_missile_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
jammer_cartridge_projectile.Name = "jammer_cartridge_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent jammer_cartridge_projectile game_objects jammer_grenade_projectile
|
|
|
|
|
jammer_cartridge_projectile.Damage0 = 0
|
|
|
|
|
jammer_cartridge_projectile.Damage1 = 0
|
|
|
|
|
jammer_cartridge_projectile.DamageAtEdge = 1.0f
|
|
|
|
|
jammer_cartridge_projectile.DamageRadius = 10f
|
2020-07-17 21:36:01 -04:00
|
|
|
jammer_cartridge_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
jammer_cartridge_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
jammer_cartridge_projectile.InitialVelocity = 30
|
|
|
|
|
jammer_cartridge_projectile.Lifespan = 15f
|
2019-12-07 00:02:59 -05:00
|
|
|
jammer_cartridge_projectile.AdditionalEffect = true
|
|
|
|
|
jammer_cartridge_projectile.JammerProjectile = true
|
2020-07-14 05:54:05 +02:00
|
|
|
jammer_cartridge_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Player,
|
|
|
|
|
EffectTarget.Validation.Player
|
|
|
|
|
) -> 1000
|
|
|
|
|
jammer_cartridge_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Vehicle,
|
|
|
|
|
EffectTarget.Validation.AMS
|
|
|
|
|
) -> 5000
|
|
|
|
|
jammer_cartridge_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Deployable,
|
|
|
|
|
EffectTarget.Validation.MotionSensor
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_cartridge_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Deployable,
|
|
|
|
|
EffectTarget.Validation.Spitfire
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_cartridge_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Turret,
|
|
|
|
|
EffectTarget.Validation.Turret
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_cartridge_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Vehicle,
|
|
|
|
|
EffectTarget.Validation.VehicleNotAMS
|
|
|
|
|
) -> 10000
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(jammer_cartridge_projectile)
|
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 14:32:42 -05:00
|
|
|
jammer_cartridge_projectile.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
jammer_cartridge_projectile_b.Name = "jammer_cartridge_projectile_b"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent jammer_cartridge_projectile_b game_objects jammer_grenade_projectile_enh
|
|
|
|
|
jammer_cartridge_projectile_b.Damage0 = 0
|
|
|
|
|
jammer_cartridge_projectile_b.Damage1 = 0
|
|
|
|
|
jammer_cartridge_projectile_b.DamageAtEdge = 1.0f
|
|
|
|
|
jammer_cartridge_projectile_b.DamageRadius = 10f
|
2020-07-17 21:36:01 -04:00
|
|
|
jammer_cartridge_projectile_b.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
jammer_cartridge_projectile_b.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
jammer_cartridge_projectile_b.InitialVelocity = 30
|
|
|
|
|
jammer_cartridge_projectile_b.Lifespan = 2f
|
2019-12-07 00:02:59 -05:00
|
|
|
jammer_cartridge_projectile_b.AdditionalEffect = true
|
|
|
|
|
jammer_cartridge_projectile_b.JammerProjectile = true
|
2020-07-14 05:54:05 +02:00
|
|
|
jammer_cartridge_projectile_b.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Player,
|
|
|
|
|
EffectTarget.Validation.Player
|
|
|
|
|
) -> 1000
|
|
|
|
|
jammer_cartridge_projectile_b.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Vehicle,
|
|
|
|
|
EffectTarget.Validation.AMS
|
|
|
|
|
) -> 5000
|
|
|
|
|
jammer_cartridge_projectile_b.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Deployable,
|
|
|
|
|
EffectTarget.Validation.MotionSensor
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_cartridge_projectile_b.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Deployable,
|
|
|
|
|
EffectTarget.Validation.Spitfire
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_cartridge_projectile_b.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Turret,
|
|
|
|
|
EffectTarget.Validation.Turret
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_cartridge_projectile_b.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Vehicle,
|
|
|
|
|
EffectTarget.Validation.VehicleNotAMS
|
|
|
|
|
) -> 10000
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(jammer_cartridge_projectile_b)
|
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 14:32:42 -05:00
|
|
|
jammer_cartridge_projectile_b.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
jammer_grenade_projectile.Name = "jammer_grenade_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
jammer_grenade_projectile.Damage0 = 0
|
|
|
|
|
jammer_grenade_projectile.Damage1 = 0
|
|
|
|
|
jammer_grenade_projectile.DamageAtEdge = 1.0f
|
|
|
|
|
jammer_grenade_projectile.DamageRadius = 10f
|
2020-07-17 21:36:01 -04:00
|
|
|
jammer_grenade_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
jammer_grenade_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
jammer_grenade_projectile.InitialVelocity = 30
|
|
|
|
|
jammer_grenade_projectile.Lifespan = 15f
|
2019-12-07 00:02:59 -05:00
|
|
|
jammer_grenade_projectile.AdditionalEffect = true
|
|
|
|
|
jammer_grenade_projectile.JammerProjectile = true
|
2020-07-14 05:54:05 +02:00
|
|
|
jammer_grenade_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Player,
|
|
|
|
|
EffectTarget.Validation.Player
|
|
|
|
|
) -> 1000
|
|
|
|
|
jammer_grenade_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Vehicle,
|
|
|
|
|
EffectTarget.Validation.AMS
|
|
|
|
|
) -> 5000
|
|
|
|
|
jammer_grenade_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Deployable,
|
|
|
|
|
EffectTarget.Validation.MotionSensor
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_grenade_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Deployable,
|
|
|
|
|
EffectTarget.Validation.Spitfire
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_grenade_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Turret,
|
|
|
|
|
EffectTarget.Validation.Turret
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_grenade_projectile.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Vehicle,
|
|
|
|
|
EffectTarget.Validation.VehicleNotAMS
|
|
|
|
|
) -> 10000
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(jammer_grenade_projectile)
|
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 14:32:42 -05:00
|
|
|
jammer_grenade_projectile.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
jammer_grenade_projectile_enh.Name = "jammer_grenade_projectile_enh"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent jammer_grenade_projectile_enh game_objects jammer_grenade_projectile
|
|
|
|
|
jammer_grenade_projectile_enh.Damage0 = 0
|
|
|
|
|
jammer_grenade_projectile_enh.Damage1 = 0
|
|
|
|
|
jammer_grenade_projectile_enh.DamageAtEdge = 1.0f
|
|
|
|
|
jammer_grenade_projectile_enh.DamageRadius = 10f
|
2020-07-17 21:36:01 -04:00
|
|
|
jammer_grenade_projectile_enh.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
jammer_grenade_projectile_enh.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
jammer_grenade_projectile_enh.InitialVelocity = 30
|
|
|
|
|
jammer_grenade_projectile_enh.Lifespan = 3f
|
2019-12-07 00:02:59 -05:00
|
|
|
jammer_grenade_projectile_enh.AdditionalEffect = true
|
|
|
|
|
jammer_grenade_projectile_enh.JammerProjectile = true
|
2020-07-14 05:54:05 +02:00
|
|
|
jammer_grenade_projectile_enh.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Player,
|
|
|
|
|
EffectTarget.Validation.Player
|
|
|
|
|
) -> 1000
|
|
|
|
|
jammer_grenade_projectile_enh.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Vehicle,
|
|
|
|
|
EffectTarget.Validation.AMS
|
|
|
|
|
) -> 5000
|
|
|
|
|
jammer_grenade_projectile_enh.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Deployable,
|
|
|
|
|
EffectTarget.Validation.MotionSensor
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_grenade_projectile_enh.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Deployable,
|
|
|
|
|
EffectTarget.Validation.Spitfire
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_grenade_projectile_enh.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Turret,
|
|
|
|
|
EffectTarget.Validation.Turret
|
|
|
|
|
) -> 30000
|
|
|
|
|
jammer_grenade_projectile_enh.JammedEffectDuration += TargetValidation(
|
|
|
|
|
EffectTarget.Category.Vehicle,
|
|
|
|
|
EffectTarget.Validation.VehicleNotAMS
|
|
|
|
|
) -> 10000
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(jammer_grenade_projectile_enh)
|
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 14:32:42 -05:00
|
|
|
jammer_grenade_projectile_enh.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
katana_projectile.Name = "katana_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
katana_projectile.Damage0 = 25
|
|
|
|
|
katana_projectile.Damage1 = 0
|
|
|
|
|
katana_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
katana_projectile.InitialVelocity = 100
|
|
|
|
|
katana_projectile.Lifespan = .03f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(katana_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
katana_projectileb.Name = "katana_projectileb"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent katana_projectileb game_objects katana_projectile
|
|
|
|
|
katana_projectileb.Damage0 = 25
|
|
|
|
|
katana_projectileb.Damage1 = 0
|
|
|
|
|
katana_projectileb.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
katana_projectileb.InitialVelocity = 100
|
|
|
|
|
katana_projectileb.Lifespan = .03f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(katana_projectileb)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
lancer_projectile.Name = "lancer_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
lancer_projectile.Damage0 = 25
|
|
|
|
|
lancer_projectile.Damage1 = 175
|
|
|
|
|
lancer_projectile.Damage2 = 125
|
|
|
|
|
lancer_projectile.Damage3 = 125
|
|
|
|
|
lancer_projectile.Damage4 = 263
|
|
|
|
|
lancer_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
lancer_projectile.InitialVelocity = 500
|
|
|
|
|
lancer_projectile.Lifespan = 0.6f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(lancer_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
lasher_projectile.Name = "lasher_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
lasher_projectile.Damage0 = 30
|
|
|
|
|
lasher_projectile.Damage1 = 15
|
|
|
|
|
lasher_projectile.Damage2 = 15
|
|
|
|
|
lasher_projectile.Damage3 = 12
|
|
|
|
|
lasher_projectile.Damage4 = 12
|
|
|
|
|
lasher_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
lasher_projectile.DegradeDelay = 0.012f
|
|
|
|
|
lasher_projectile.DegradeMultiplier = 0.3f
|
|
|
|
|
lasher_projectile.InitialVelocity = 120
|
2020-07-28 00:02:43 -04:00
|
|
|
lasher_projectile.LashRadius = 2.5f
|
2018-06-12 21:51:53 -04:00
|
|
|
lasher_projectile.Lifespan = 0.75f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(lasher_projectile)
|
2020-08-04 23:08:57 -04:00
|
|
|
lasher_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
DistanceDegrade,
|
|
|
|
|
Lash
|
2020-08-04 23:08:57 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
lasher_projectile_ap.Name = "lasher_projectile_ap"
|
2018-06-12 21:51:53 -04:00
|
|
|
lasher_projectile_ap.Damage0 = 12
|
|
|
|
|
lasher_projectile_ap.Damage1 = 25
|
|
|
|
|
lasher_projectile_ap.Damage2 = 25
|
|
|
|
|
lasher_projectile_ap.Damage3 = 28
|
|
|
|
|
lasher_projectile_ap.Damage4 = 28
|
|
|
|
|
lasher_projectile_ap.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
lasher_projectile_ap.DegradeDelay = 0.012f
|
|
|
|
|
lasher_projectile_ap.DegradeMultiplier = 0.3f
|
|
|
|
|
lasher_projectile_ap.InitialVelocity = 120
|
2020-07-28 00:02:43 -04:00
|
|
|
lasher_projectile_ap.LashRadius = 2.5f
|
2018-06-12 21:51:53 -04:00
|
|
|
lasher_projectile_ap.Lifespan = 0.75f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(lasher_projectile_ap)
|
2020-08-04 23:08:57 -04:00
|
|
|
lasher_projectile_ap.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
DistanceDegrade,
|
|
|
|
|
Lash
|
2020-08-04 23:08:57 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
liberator_bomb_cluster_bomblet_projectile.Name = "liberator_bomb_cluster_bomblet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
liberator_bomb_cluster_bomblet_projectile.Damage0 = 75
|
|
|
|
|
liberator_bomb_cluster_bomblet_projectile.Damage1 = 100
|
|
|
|
|
liberator_bomb_cluster_bomblet_projectile.DamageAtEdge = 0.25f
|
|
|
|
|
liberator_bomb_cluster_bomblet_projectile.DamageRadius = 3f
|
|
|
|
|
liberator_bomb_cluster_bomblet_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
liberator_bomb_cluster_bomblet_projectile.InitialVelocity = 0
|
|
|
|
|
liberator_bomb_cluster_bomblet_projectile.Lifespan = 30f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(liberator_bomb_cluster_bomblet_projectile)
|
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 14:32:42 -05:00
|
|
|
liberator_bomb_cluster_bomblet_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
liberator_bomb_cluster_projectile.Name = "liberator_bomb_cluster_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
liberator_bomb_cluster_projectile.Damage0 = 75
|
|
|
|
|
liberator_bomb_cluster_projectile.Damage1 = 100
|
|
|
|
|
liberator_bomb_cluster_projectile.DamageAtEdge = 0.25f
|
|
|
|
|
liberator_bomb_cluster_projectile.DamageRadius = 3f
|
|
|
|
|
liberator_bomb_cluster_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
liberator_bomb_cluster_projectile.InitialVelocity = 0
|
|
|
|
|
liberator_bomb_cluster_projectile.Lifespan = 30f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(liberator_bomb_cluster_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
liberator_bomb_projectile.Name = "liberator_bomb_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
liberator_bomb_projectile.Damage0 = 250
|
|
|
|
|
liberator_bomb_projectile.Damage1 = 1000
|
|
|
|
|
liberator_bomb_projectile.Damage2 = 1000
|
|
|
|
|
liberator_bomb_projectile.Damage3 = 1000
|
|
|
|
|
liberator_bomb_projectile.Damage4 = 600
|
|
|
|
|
liberator_bomb_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
liberator_bomb_projectile.DamageRadius = 10f
|
|
|
|
|
liberator_bomb_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
liberator_bomb_projectile.InitialVelocity = 0
|
|
|
|
|
liberator_bomb_projectile.Lifespan = 30f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(liberator_bomb_projectile)
|
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 14:32:42 -05:00
|
|
|
liberator_bomb_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
maelstrom_grenade_projectile.Name = "maelstrom_grenade_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
maelstrom_grenade_projectile.Damage0 = 32
|
|
|
|
|
maelstrom_grenade_projectile.Damage1 = 60
|
2020-07-28 00:02:43 -04:00
|
|
|
maelstrom_grenade_projectile.DamageRadius = 20f
|
|
|
|
|
maelstrom_grenade_projectile.LashRadius = 5f
|
2020-07-17 21:36:01 -04:00
|
|
|
maelstrom_grenade_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
maelstrom_grenade_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
maelstrom_grenade_projectile.InitialVelocity = 30
|
|
|
|
|
maelstrom_grenade_projectile.Lifespan = 2f
|
2020-07-28 00:02:43 -04:00
|
|
|
maelstrom_grenade_projectile.DamageProxy = 464
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(maelstrom_grenade_projectile)
|
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 14:32:42 -05:00
|
|
|
maelstrom_grenade_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
maelstrom_grenade_projectile_contact.Name = "maelstrom_grenade_projectile_contact"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent maelstrom_grenade_projectile_contact game_objects maelstrom_grenade_projectile
|
|
|
|
|
maelstrom_grenade_projectile_contact.Damage0 = 32
|
|
|
|
|
maelstrom_grenade_projectile_contact.Damage1 = 60
|
2020-07-28 00:02:43 -04:00
|
|
|
maelstrom_grenade_projectile_contact.DamageRadius = 20f
|
|
|
|
|
maelstrom_grenade_projectile_contact.LashRadius = 5f
|
2020-07-17 21:36:01 -04:00
|
|
|
maelstrom_grenade_projectile_contact.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
maelstrom_grenade_projectile_contact.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
maelstrom_grenade_projectile_contact.InitialVelocity = 30
|
|
|
|
|
maelstrom_grenade_projectile_contact.Lifespan = 15f
|
2020-07-28 00:02:43 -04:00
|
|
|
maelstrom_grenade_projectile_contact.DamageProxy = 464
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(maelstrom_grenade_projectile_contact)
|
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 14:32:42 -05:00
|
|
|
maelstrom_grenade_projectile_contact.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
maelstrom_stream_projectile.Name = "maelstrom_stream_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
maelstrom_stream_projectile.Damage0 = 15
|
|
|
|
|
maelstrom_stream_projectile.Damage1 = 6
|
|
|
|
|
maelstrom_stream_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
maelstrom_stream_projectile.DegradeDelay = .075f
|
|
|
|
|
maelstrom_stream_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
maelstrom_stream_projectile.InitialVelocity = 200
|
|
|
|
|
maelstrom_stream_projectile.Lifespan = 0.2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(maelstrom_stream_projectile)
|
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 14:32:42 -05:00
|
|
|
maelstrom_stream_projectile.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
magcutter_projectile.Name = "magcutter_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent magcutter_projectile game_objects melee_ammo_projectile
|
|
|
|
|
magcutter_projectile.Damage0 = 50
|
|
|
|
|
magcutter_projectile.Damage1 = 0
|
|
|
|
|
magcutter_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
magcutter_projectile.InitialVelocity = 100
|
|
|
|
|
magcutter_projectile.Lifespan = .02f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(magcutter_projectile)
|
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 14:32:42 -05:00
|
|
|
magcutter_projectile.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
melee_ammo_projectile.Name = "melee_ammo_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
melee_ammo_projectile.Damage0 = 25
|
|
|
|
|
melee_ammo_projectile.Damage1 = 0
|
|
|
|
|
melee_ammo_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
melee_ammo_projectile.InitialVelocity = 100
|
|
|
|
|
melee_ammo_projectile.Lifespan = .02f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(melee_ammo_projectile)
|
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 14:32:42 -05:00
|
|
|
melee_ammo_projectile.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
meteor_common.Name = "meteor_common"
|
2018-06-12 21:51:53 -04:00
|
|
|
meteor_common.DamageAtEdge = .1f
|
|
|
|
|
meteor_common.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
meteor_common.InitialVelocity = 0
|
|
|
|
|
meteor_common.Lifespan = 40
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(meteor_common)
|
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 14:32:42 -05:00
|
|
|
meteor_common.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
meteor_projectile_b_large.Name = "meteor_projectile_b_large"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent meteor_projectile_b_large game_objects meteor_common
|
|
|
|
|
meteor_projectile_b_large.Damage0 = 2500
|
|
|
|
|
meteor_projectile_b_large.Damage1 = 5000
|
|
|
|
|
meteor_projectile_b_large.DamageRadius = 15f
|
|
|
|
|
meteor_projectile_b_large.DamageAtEdge = .1f
|
|
|
|
|
meteor_projectile_b_large.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
meteor_projectile_b_large.InitialVelocity = 0
|
|
|
|
|
meteor_projectile_b_large.Lifespan = 40
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(meteor_projectile_b_large)
|
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 14:32:42 -05:00
|
|
|
meteor_projectile_b_large.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
meteor_projectile_b_medium.Name = "meteor_projectile_b_medium"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent meteor_projectile_b_medium game_objects meteor_common
|
|
|
|
|
meteor_projectile_b_medium.Damage0 = 1250
|
|
|
|
|
meteor_projectile_b_medium.Damage1 = 2500
|
|
|
|
|
meteor_projectile_b_medium.DamageRadius = 10f
|
|
|
|
|
meteor_projectile_b_medium.DamageAtEdge = .1f
|
|
|
|
|
meteor_projectile_b_medium.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
meteor_projectile_b_medium.InitialVelocity = 0
|
|
|
|
|
meteor_projectile_b_medium.Lifespan = 40
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(meteor_projectile_b_medium)
|
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 14:32:42 -05:00
|
|
|
meteor_projectile_b_medium.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
meteor_projectile_b_small.Name = "meteor_projectile_b_small"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent meteor_projectile_b_small game_objects meteor_common
|
|
|
|
|
meteor_projectile_b_small.Damage0 = 625
|
|
|
|
|
meteor_projectile_b_small.Damage1 = 1250
|
|
|
|
|
meteor_projectile_b_small.DamageRadius = 5f
|
|
|
|
|
meteor_projectile_b_small.DamageAtEdge = .1f
|
|
|
|
|
meteor_projectile_b_small.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
meteor_projectile_b_small.InitialVelocity = 0
|
|
|
|
|
meteor_projectile_b_small.Lifespan = 40
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(meteor_projectile_b_small)
|
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 14:32:42 -05:00
|
|
|
meteor_projectile_b_small.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
meteor_projectile_large.Name = "meteor_projectile_large"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent meteor_projectile_large game_objects meteor_common
|
|
|
|
|
meteor_projectile_large.Damage0 = 2500
|
|
|
|
|
meteor_projectile_large.Damage1 = 5000
|
|
|
|
|
meteor_projectile_large.DamageRadius = 15f
|
|
|
|
|
meteor_projectile_large.DamageAtEdge = .1f
|
|
|
|
|
meteor_projectile_large.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
meteor_projectile_large.InitialVelocity = 0
|
|
|
|
|
meteor_projectile_large.Lifespan = 40
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(meteor_projectile_large)
|
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 14:32:42 -05:00
|
|
|
meteor_projectile_large.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
meteor_projectile_medium.Name = "meteor_projectile_medium"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent meteor_projectile_medium game_objects meteor_common
|
|
|
|
|
meteor_projectile_medium.Damage0 = 1250
|
|
|
|
|
meteor_projectile_medium.Damage1 = 2500
|
|
|
|
|
meteor_projectile_medium.DamageRadius = 10f
|
|
|
|
|
meteor_projectile_medium.DamageAtEdge = .1f
|
|
|
|
|
meteor_projectile_medium.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
meteor_projectile_medium.InitialVelocity = 0
|
|
|
|
|
meteor_projectile_medium.Lifespan = 40
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(meteor_projectile_medium)
|
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 14:32:42 -05:00
|
|
|
meteor_projectile_medium.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
meteor_projectile_small.Name = "meteor_projectile_small"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent meteor_projectile_small game_objects meteor_common
|
|
|
|
|
meteor_projectile_small.Damage0 = 625
|
|
|
|
|
meteor_projectile_small.Damage1 = 1250
|
|
|
|
|
meteor_projectile_small.DamageRadius = 5f
|
|
|
|
|
meteor_projectile_small.DamageAtEdge = .1f
|
|
|
|
|
meteor_projectile_small.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
meteor_projectile_small.InitialVelocity = 0
|
|
|
|
|
meteor_projectile_small.Lifespan = 40
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(meteor_projectile_small)
|
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 14:32:42 -05:00
|
|
|
meteor_projectile_small.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
mine_projectile.Name = "mine_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
mine_projectile.Lifespan = 0.01f
|
|
|
|
|
mine_projectile.InitialVelocity = 300
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(mine_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
mine_sweeper_projectile.Name = "mine_sweeper_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
mine_sweeper_projectile.Damage0 = 0
|
|
|
|
|
mine_sweeper_projectile.Damage1 = 0
|
|
|
|
|
mine_sweeper_projectile.DamageAtEdge = .33f
|
|
|
|
|
mine_sweeper_projectile.DamageRadius = 25f
|
2020-07-17 21:36:01 -04:00
|
|
|
mine_sweeper_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
mine_sweeper_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
mine_sweeper_projectile.InitialVelocity = 30
|
|
|
|
|
mine_sweeper_projectile.Lifespan = 15f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(mine_sweeper_projectile)
|
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 14:32:42 -05:00
|
|
|
mine_sweeper_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
mine_sweeper_projectile_enh.Name = "mine_sweeper_projectile_enh"
|
2018-06-12 21:51:53 -04:00
|
|
|
mine_sweeper_projectile_enh.Damage0 = 0
|
|
|
|
|
mine_sweeper_projectile_enh.Damage1 = 0
|
|
|
|
|
mine_sweeper_projectile_enh.DamageAtEdge = 0.33f
|
|
|
|
|
mine_sweeper_projectile_enh.DamageRadius = 25f
|
2020-07-17 21:36:01 -04:00
|
|
|
mine_sweeper_projectile_enh.GrenadeProjectile = true
|
2020-07-28 00:02:43 -04:00
|
|
|
mine_sweeper_projectile_enh.ProjectileDamageType = DamageType.Splash
|
2018-06-12 21:51:53 -04:00
|
|
|
mine_sweeper_projectile_enh.InitialVelocity = 30
|
|
|
|
|
mine_sweeper_projectile_enh.Lifespan = 3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(mine_sweeper_projectile_enh)
|
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 14:32:42 -05:00
|
|
|
mine_sweeper_projectile_enh.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
oicw_projectile.Name = "oicw_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
oicw_projectile.Damage0 = 50
|
|
|
|
|
oicw_projectile.Damage1 = 50
|
|
|
|
|
oicw_projectile.Acceleration = 15
|
|
|
|
|
oicw_projectile.AccelerationUntil = 5f
|
|
|
|
|
oicw_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
oicw_projectile.DamageRadius = 10f
|
|
|
|
|
oicw_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
oicw_projectile.InitialVelocity = 5
|
|
|
|
|
oicw_projectile.Lifespan = 6.1f
|
2019-05-10 23:11:49 -04:00
|
|
|
oicw_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
oicw_projectile.RemoteClientData = (13107, 195)
|
2019-05-14 05:34:07 -04:00
|
|
|
oicw_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(oicw_projectile)
|
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 14:32:42 -05:00
|
|
|
oicw_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2020-07-28 00:02:43 -04:00
|
|
|
oicw_little_buddy.Name = "oicw_little_buddy"
|
2019-05-10 23:11:49 -04:00
|
|
|
oicw_little_buddy.Damage0 = 75
|
|
|
|
|
oicw_little_buddy.Damage1 = 75
|
|
|
|
|
oicw_little_buddy.DamageAtEdge = 0.1f
|
|
|
|
|
oicw_little_buddy.DamageRadius = 7.5f
|
|
|
|
|
oicw_little_buddy.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
oicw_little_buddy.InitialVelocity = 40
|
|
|
|
|
oicw_little_buddy.Lifespan = 0.5f
|
2019-05-17 01:54:27 -04:00
|
|
|
oicw_little_buddy.ExistsOnRemoteClients = false //TODO true
|
2019-05-14 05:34:07 -04:00
|
|
|
oicw_little_buddy.Packet = projectileConverter
|
2019-05-10 23:11:49 -04:00
|
|
|
//add_property oicw_little_buddy multi_stage_spawn_server_side true ...
|
|
|
|
|
ProjectileDefinition.CalculateDerivedFields(oicw_little_buddy)
|
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 14:32:42 -05:00
|
|
|
oicw_little_buddy.Modifiers = RadialDegrade
|
2019-05-10 23:11:49 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
pellet_gun_projectile.Name = "pellet_gun_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent pellet_gun_projectile game_objects shotgun_shell_projectile
|
|
|
|
|
pellet_gun_projectile.Damage0 = 12
|
|
|
|
|
pellet_gun_projectile.Damage1 = 8
|
|
|
|
|
pellet_gun_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
pellet_gun_projectile.InitialVelocity = 400
|
|
|
|
|
pellet_gun_projectile.Lifespan = 0.1875f
|
|
|
|
|
pellet_gun_projectile.UseDamage1Subtract = false
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(pellet_gun_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
peregrine_dual_machine_gun_projectile.Name = "peregrine_dual_machine_gun_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent peregrine_dual_machine_gun_projectile game_objects 35mmbullet_projectile
|
|
|
|
|
peregrine_dual_machine_gun_projectile.Damage0 = 16
|
|
|
|
|
peregrine_dual_machine_gun_projectile.Damage1 = 44
|
|
|
|
|
peregrine_dual_machine_gun_projectile.Damage2 = 30
|
|
|
|
|
peregrine_dual_machine_gun_projectile.Damage3 = 27
|
|
|
|
|
peregrine_dual_machine_gun_projectile.Damage4 = 32
|
|
|
|
|
peregrine_dual_machine_gun_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
peregrine_dual_machine_gun_projectile.DegradeDelay = .25f
|
|
|
|
|
peregrine_dual_machine_gun_projectile.DegradeMultiplier = 0.65f
|
|
|
|
|
peregrine_dual_machine_gun_projectile.InitialVelocity = 250
|
|
|
|
|
peregrine_dual_machine_gun_projectile.Lifespan = 1.1f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(peregrine_dual_machine_gun_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
peregrine_mechhammer_projectile.Name = "peregrine_mechhammer_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
peregrine_mechhammer_projectile.Damage0 = 5
|
|
|
|
|
peregrine_mechhammer_projectile.Damage1 = 4
|
|
|
|
|
peregrine_mechhammer_projectile.Damage2 = 4
|
|
|
|
|
peregrine_mechhammer_projectile.Damage3 = 5
|
|
|
|
|
peregrine_mechhammer_projectile.Damage4 = 3
|
|
|
|
|
peregrine_mechhammer_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
peregrine_mechhammer_projectile.InitialVelocity = 500
|
|
|
|
|
peregrine_mechhammer_projectile.Lifespan = 0.4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(peregrine_mechhammer_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
peregrine_particle_cannon_projectile.Name = "peregrine_particle_cannon_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
peregrine_particle_cannon_projectile.Damage0 = 70
|
|
|
|
|
peregrine_particle_cannon_projectile.Damage1 = 525
|
|
|
|
|
peregrine_particle_cannon_projectile.Damage2 = 350
|
|
|
|
|
peregrine_particle_cannon_projectile.Damage3 = 318
|
|
|
|
|
peregrine_particle_cannon_projectile.Damage4 = 310
|
|
|
|
|
peregrine_particle_cannon_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
peregrine_particle_cannon_projectile.DamageRadius = 3f
|
|
|
|
|
peregrine_particle_cannon_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
peregrine_particle_cannon_projectile.InitialVelocity = 500
|
|
|
|
|
peregrine_particle_cannon_projectile.Lifespan = .6f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(peregrine_particle_cannon_projectile)
|
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 14:32:42 -05:00
|
|
|
peregrine_particle_cannon_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
peregrine_rocket_pod_projectile.Name = "peregrine_rocket_pod_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
peregrine_rocket_pod_projectile.Damage0 = 30
|
|
|
|
|
peregrine_rocket_pod_projectile.Damage1 = 50
|
|
|
|
|
peregrine_rocket_pod_projectile.Damage2 = 50
|
|
|
|
|
peregrine_rocket_pod_projectile.Damage3 = 45
|
|
|
|
|
peregrine_rocket_pod_projectile.Damage4 = 40
|
|
|
|
|
peregrine_rocket_pod_projectile.Acceleration = 10
|
|
|
|
|
peregrine_rocket_pod_projectile.AccelerationUntil = 2f
|
|
|
|
|
peregrine_rocket_pod_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
peregrine_rocket_pod_projectile.DamageRadius = 3f
|
|
|
|
|
peregrine_rocket_pod_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
peregrine_rocket_pod_projectile.InitialVelocity = 200
|
|
|
|
|
peregrine_rocket_pod_projectile.Lifespan = 1.85f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(peregrine_rocket_pod_projectile)
|
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 14:32:42 -05:00
|
|
|
peregrine_rocket_pod_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
peregrine_sparrow_projectile.Name = "peregrine_sparrow_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent peregrine_sparrow_projectile game_objects sparrow_projectile
|
|
|
|
|
peregrine_sparrow_projectile.Damage0 = 20
|
|
|
|
|
peregrine_sparrow_projectile.Damage1 = 40
|
|
|
|
|
peregrine_sparrow_projectile.Damage2 = 30
|
|
|
|
|
peregrine_sparrow_projectile.Damage3 = 30
|
|
|
|
|
peregrine_sparrow_projectile.Damage4 = 31
|
|
|
|
|
peregrine_sparrow_projectile.Acceleration = 12
|
|
|
|
|
peregrine_sparrow_projectile.AccelerationUntil = 5f
|
|
|
|
|
peregrine_sparrow_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
peregrine_sparrow_projectile.DamageRadius = 2f
|
|
|
|
|
peregrine_sparrow_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
peregrine_sparrow_projectile.InitialVelocity = 45
|
|
|
|
|
peregrine_sparrow_projectile.Lifespan = 7.5f
|
2019-05-10 23:11:49 -04:00
|
|
|
peregrine_sparrow_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
peregrine_sparrow_projectile.RemoteClientData = (13107, 187) //sparrow_projectile data
|
2019-11-04 09:21:36 -05:00
|
|
|
peregrine_sparrow_projectile.AutoLock = true
|
2019-05-14 05:34:07 -04:00
|
|
|
peregrine_sparrow_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(peregrine_sparrow_projectile)
|
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 14:32:42 -05:00
|
|
|
peregrine_sparrow_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
phalanx_av_projectile.Name = "phalanx_av_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
phalanx_av_projectile.Damage0 = 60
|
|
|
|
|
phalanx_av_projectile.Damage1 = 140
|
|
|
|
|
phalanx_av_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
phalanx_av_projectile.DamageRadius = 5f
|
|
|
|
|
phalanx_av_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
phalanx_av_projectile.InitialVelocity = 100
|
|
|
|
|
phalanx_av_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(phalanx_av_projectile)
|
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 14:32:42 -05:00
|
|
|
phalanx_av_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
phalanx_flak_projectile.Name = "phalanx_flak_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
phalanx_flak_projectile.Damage0 = 15
|
|
|
|
|
phalanx_flak_projectile.Damage1 = 25
|
|
|
|
|
phalanx_flak_projectile.Damage2 = 70
|
|
|
|
|
phalanx_flak_projectile.DamageAtEdge = 1f
|
|
|
|
|
phalanx_flak_projectile.DamageRadius = 10f
|
|
|
|
|
phalanx_flak_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
phalanx_flak_projectile.ProjectileDamageTypeSecondary = DamageType.Splash
|
|
|
|
|
phalanx_flak_projectile.InitialVelocity = 100
|
|
|
|
|
phalanx_flak_projectile.Lifespan = 5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(phalanx_flak_projectile)
|
2020-09-21 23:18:11 -04:00
|
|
|
phalanx_flak_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
//FlakHit,
|
|
|
|
|
FlakBurst,
|
|
|
|
|
MaxDistanceCutoff
|
2020-09-21 23:18:11 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
phalanx_projectile.Name = "phalanx_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
phalanx_projectile.Damage0 = 20
|
|
|
|
|
phalanx_projectile.Damage1 = 30
|
|
|
|
|
phalanx_projectile.Damage2 = 30
|
|
|
|
|
phalanx_projectile.Damage3 = 30
|
|
|
|
|
phalanx_projectile.Damage4 = 18
|
|
|
|
|
phalanx_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
phalanx_projectile.DegradeDelay = 0f
|
|
|
|
|
phalanx_projectile.DegradeMultiplier = 0.25f
|
|
|
|
|
phalanx_projectile.InitialVelocity = 400
|
|
|
|
|
phalanx_projectile.Lifespan = 1f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(phalanx_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
phoenix_missile_guided_projectile.Name = "phoenix_missile_guided_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent phoenix_missile_guided_projectile game_objects phoenix_missile_projectile
|
|
|
|
|
phoenix_missile_guided_projectile.Damage0 = 80
|
|
|
|
|
phoenix_missile_guided_projectile.Damage1 = 400
|
|
|
|
|
phoenix_missile_guided_projectile.Damage2 = 400
|
|
|
|
|
phoenix_missile_guided_projectile.Damage3 = 300
|
|
|
|
|
phoenix_missile_guided_projectile.Damage4 = 600
|
|
|
|
|
phoenix_missile_guided_projectile.Acceleration = 60
|
|
|
|
|
phoenix_missile_guided_projectile.AccelerationUntil = 2.5f
|
|
|
|
|
phoenix_missile_guided_projectile.DamageAtEdge = 0.3f
|
|
|
|
|
phoenix_missile_guided_projectile.DamageRadius = 1.5f
|
|
|
|
|
phoenix_missile_guided_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
phoenix_missile_guided_projectile.InitialVelocity = 0
|
|
|
|
|
phoenix_missile_guided_projectile.Lifespan = 3f
|
2019-11-14 13:06:58 -05:00
|
|
|
//not naturally a remote projectile, but being governed as one for convenience
|
2019-05-14 05:34:07 -04:00
|
|
|
phoenix_missile_guided_projectile.ExistsOnRemoteClients = true
|
2020-07-14 05:54:05 +02:00
|
|
|
phoenix_missile_guided_projectile.RemoteClientData = (0, 63)
|
2019-05-14 05:34:07 -04:00
|
|
|
phoenix_missile_guided_projectile.Packet = projectileConverter
|
2019-11-14 13:06:58 -05:00
|
|
|
//
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(phoenix_missile_guided_projectile)
|
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 14:32:42 -05:00
|
|
|
phoenix_missile_guided_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
phoenix_missile_projectile.Name = "phoenix_missile_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
phoenix_missile_projectile.Damage0 = 80
|
|
|
|
|
phoenix_missile_projectile.Damage1 = 400
|
|
|
|
|
phoenix_missile_projectile.Damage2 = 400
|
|
|
|
|
phoenix_missile_projectile.Damage3 = 300
|
|
|
|
|
phoenix_missile_projectile.Damage4 = 600
|
|
|
|
|
phoenix_missile_projectile.Acceleration = 60
|
|
|
|
|
phoenix_missile_projectile.AccelerationUntil = 2.5f
|
|
|
|
|
phoenix_missile_projectile.DamageAtEdge = 0.3f
|
|
|
|
|
phoenix_missile_projectile.DamageRadius = 1.5f
|
|
|
|
|
phoenix_missile_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
phoenix_missile_projectile.InitialVelocity = 0
|
|
|
|
|
phoenix_missile_projectile.Lifespan = 3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(phoenix_missile_projectile)
|
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 14:32:42 -05:00
|
|
|
phoenix_missile_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
plasma_cartridge_projectile.Name = "plasma_cartridge_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent plasma_cartridge_projectile game_objects plasma_grenade_projectile
|
|
|
|
|
plasma_cartridge_projectile.Damage0 = 20
|
|
|
|
|
plasma_cartridge_projectile.Damage1 = 15
|
|
|
|
|
plasma_cartridge_projectile.DamageAtEdge = 0.2f
|
|
|
|
|
plasma_cartridge_projectile.DamageRadius = 7f
|
2020-07-17 21:36:01 -04:00
|
|
|
plasma_cartridge_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_cartridge_projectile.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
plasma_cartridge_projectile.Aggravated = AggravatedDamage(
|
|
|
|
|
List(AggravatedInfo(DamageType.Direct, 0.25f, 750), AggravatedInfo(DamageType.Splash, 0.25f, 1000)),
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.Plasma,
|
2020-08-11 15:17:56 -04:00
|
|
|
AggravatedTiming(3000),
|
2020-07-10 00:26:30 -04:00
|
|
|
1.5f,
|
|
|
|
|
true,
|
2020-08-07 23:32:09 -04:00
|
|
|
false,
|
|
|
|
|
List(TargetValidation(EffectTarget.Category.Player, EffectTarget.Validation.Player))
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_cartridge_projectile.InitialVelocity = 30
|
|
|
|
|
plasma_cartridge_projectile.Lifespan = 15f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(plasma_cartridge_projectile)
|
2020-08-04 23:08:57 -04:00
|
|
|
plasma_cartridge_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
InfantryAggravatedDirect,
|
|
|
|
|
InfantryAggravatedDirectBurn,
|
|
|
|
|
InfantryAggravatedSplash,
|
|
|
|
|
InfantryAggravatedSplashBurn,
|
|
|
|
|
RadialDegrade
|
2020-08-04 23:08:57 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
plasma_cartridge_projectile_b.Name = "plasma_cartridge_projectile_b"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent plasma_cartridge_projectile_b game_objects plasma_grenade_projectile_B
|
|
|
|
|
plasma_cartridge_projectile_b.Damage0 = 20
|
|
|
|
|
plasma_cartridge_projectile_b.Damage1 = 15
|
|
|
|
|
plasma_cartridge_projectile_b.DamageAtEdge = 0.2f
|
|
|
|
|
plasma_cartridge_projectile_b.DamageRadius = 7f
|
2020-07-17 21:36:01 -04:00
|
|
|
plasma_cartridge_projectile_b.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_cartridge_projectile_b.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
plasma_cartridge_projectile_b.Aggravated = AggravatedDamage(
|
|
|
|
|
List(AggravatedInfo(DamageType.Direct, 0.25f, 750), AggravatedInfo(DamageType.Splash, 0.25f, 1000)),
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.Plasma,
|
2020-08-11 15:17:56 -04:00
|
|
|
AggravatedTiming(3000),
|
2020-07-10 00:26:30 -04:00
|
|
|
1.5f,
|
|
|
|
|
true,
|
2020-08-07 23:32:09 -04:00
|
|
|
false,
|
|
|
|
|
List(TargetValidation(EffectTarget.Category.Player, EffectTarget.Validation.Player))
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_cartridge_projectile_b.InitialVelocity = 30
|
|
|
|
|
plasma_cartridge_projectile_b.Lifespan = 2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(plasma_cartridge_projectile_b)
|
2020-08-04 23:08:57 -04:00
|
|
|
plasma_cartridge_projectile_b.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
InfantryAggravatedDirect,
|
|
|
|
|
InfantryAggravatedDirectBurn,
|
|
|
|
|
InfantryAggravatedSplash,
|
|
|
|
|
InfantryAggravatedSplashBurn,
|
|
|
|
|
RadialDegrade
|
2020-08-04 23:08:57 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
plasma_grenade_projectile.Name = "plasma_grenade_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_grenade_projectile.Damage0 = 40
|
|
|
|
|
plasma_grenade_projectile.Damage1 = 30
|
|
|
|
|
plasma_grenade_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
plasma_grenade_projectile.DamageRadius = 7f
|
2020-07-17 21:36:01 -04:00
|
|
|
plasma_grenade_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_grenade_projectile.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
plasma_grenade_projectile.Aggravated = AggravatedDamage(
|
|
|
|
|
List(AggravatedInfo(DamageType.Direct, 0.25f, 750), AggravatedInfo(DamageType.Splash, 0.25f, 1000)),
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.Plasma,
|
2020-08-11 15:17:56 -04:00
|
|
|
AggravatedTiming(3000),
|
2020-07-10 00:26:30 -04:00
|
|
|
1.5f,
|
|
|
|
|
true,
|
2020-08-07 23:32:09 -04:00
|
|
|
false,
|
|
|
|
|
List(TargetValidation(EffectTarget.Category.Player, EffectTarget.Validation.Player))
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_grenade_projectile.InitialVelocity = 30
|
|
|
|
|
plasma_grenade_projectile.Lifespan = 15f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(plasma_grenade_projectile)
|
2020-08-04 23:08:57 -04:00
|
|
|
plasma_grenade_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
InfantryAggravatedDirect,
|
|
|
|
|
InfantryAggravatedDirectBurn,
|
|
|
|
|
InfantryAggravatedSplash,
|
|
|
|
|
InfantryAggravatedSplashBurn,
|
|
|
|
|
RadialDegrade
|
2020-08-04 23:08:57 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
plasma_grenade_projectile_B.Name = "plasma_grenade_projectile_B"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent plasma_grenade_projectile_B game_objects plasma_grenade_projectile
|
|
|
|
|
plasma_grenade_projectile_B.Damage0 = 40
|
|
|
|
|
plasma_grenade_projectile_B.Damage1 = 30
|
|
|
|
|
plasma_grenade_projectile_B.DamageAtEdge = 0.1f
|
|
|
|
|
plasma_grenade_projectile_B.DamageRadius = 7f
|
2020-07-17 21:36:01 -04:00
|
|
|
plasma_grenade_projectile_B.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_grenade_projectile_B.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
plasma_grenade_projectile_B.Aggravated = AggravatedDamage(
|
|
|
|
|
List(AggravatedInfo(DamageType.Direct, 0.25f, 750), AggravatedInfo(DamageType.Splash, 0.25f, 1000)),
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.Plasma,
|
2020-08-11 15:17:56 -04:00
|
|
|
AggravatedTiming(3000),
|
2020-07-10 00:26:30 -04:00
|
|
|
1.5f,
|
|
|
|
|
true,
|
2020-08-07 23:32:09 -04:00
|
|
|
false,
|
|
|
|
|
List(TargetValidation(EffectTarget.Category.Player, EffectTarget.Validation.Player))
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_grenade_projectile_B.InitialVelocity = 30
|
|
|
|
|
plasma_grenade_projectile_B.Lifespan = 3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(plasma_grenade_projectile_B)
|
2020-08-04 23:08:57 -04:00
|
|
|
plasma_grenade_projectile_B.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
InfantryAggravatedDirect,
|
|
|
|
|
InfantryAggravatedDirectBurn,
|
|
|
|
|
InfantryAggravatedSplash,
|
|
|
|
|
InfantryAggravatedSplashBurn,
|
|
|
|
|
RadialDegrade
|
2020-08-04 23:08:57 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
pounder_projectile.Name = "pounder_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
pounder_projectile.Damage0 = 31
|
|
|
|
|
pounder_projectile.Damage1 = 120
|
|
|
|
|
pounder_projectile.Damage2 = 120
|
|
|
|
|
pounder_projectile.Damage3 = 75
|
|
|
|
|
pounder_projectile.Damage4 = 132
|
|
|
|
|
pounder_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
pounder_projectile.DamageRadius = 1f
|
2020-07-17 21:36:01 -04:00
|
|
|
pounder_projectile.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
pounder_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
pounder_projectile.InitialVelocity = 120
|
|
|
|
|
pounder_projectile.Lifespan = 2.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(pounder_projectile)
|
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 14:32:42 -05:00
|
|
|
pounder_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
pounder_projectile_enh.Name = "pounder_projectile_enh"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent pounder_projectile_enh game_objects pounder_projectile
|
|
|
|
|
pounder_projectile_enh.Damage0 = 31
|
|
|
|
|
pounder_projectile_enh.Damage1 = 120
|
|
|
|
|
pounder_projectile_enh.Damage2 = 120
|
|
|
|
|
pounder_projectile_enh.Damage3 = 75
|
|
|
|
|
pounder_projectile_enh.Damage4 = 132
|
|
|
|
|
pounder_projectile_enh.DamageAtEdge = 0.1f
|
|
|
|
|
pounder_projectile_enh.DamageRadius = 1f
|
2020-07-17 21:36:01 -04:00
|
|
|
pounder_projectile_enh.GrenadeProjectile = true
|
2018-06-12 21:51:53 -04:00
|
|
|
pounder_projectile_enh.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
pounder_projectile_enh.InitialVelocity = 120
|
|
|
|
|
pounder_projectile_enh.Lifespan = 3.2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(pounder_projectile_enh)
|
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 14:32:42 -05:00
|
|
|
pounder_projectile_enh.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
ppa_projectile.Name = "ppa_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
ppa_projectile.Damage0 = 20
|
|
|
|
|
ppa_projectile.Damage1 = 20
|
|
|
|
|
ppa_projectile.Damage2 = 40
|
|
|
|
|
ppa_projectile.Damage3 = 20
|
|
|
|
|
ppa_projectile.Damage4 = 13
|
|
|
|
|
ppa_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
ppa_projectile.InitialVelocity = 400
|
|
|
|
|
ppa_projectile.Lifespan = .5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(ppa_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
pulsar_ap_projectile.Name = "pulsar_ap_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent pulsar_ap_projectile game_objects pulsar_projectile
|
|
|
|
|
pulsar_ap_projectile.Damage0 = 7
|
|
|
|
|
pulsar_ap_projectile.Damage1 = 15
|
|
|
|
|
pulsar_ap_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
pulsar_ap_projectile.DegradeDelay = 0.1f
|
|
|
|
|
pulsar_ap_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
pulsar_ap_projectile.InitialVelocity = 500
|
|
|
|
|
pulsar_ap_projectile.Lifespan = .4f
|
|
|
|
|
pulsar_ap_projectile.UseDamage1Subtract = true
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(pulsar_ap_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
pulsar_projectile.Name = "pulsar_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
pulsar_projectile.Damage0 = 20
|
|
|
|
|
pulsar_projectile.Damage1 = 10
|
|
|
|
|
pulsar_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
pulsar_projectile.DegradeDelay = 0.1f
|
|
|
|
|
pulsar_projectile.DegradeMultiplier = 0.4f
|
|
|
|
|
pulsar_projectile.InitialVelocity = 500
|
|
|
|
|
pulsar_projectile.Lifespan = .4f
|
|
|
|
|
pulsar_projectile.UseDamage1Subtract = true
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(pulsar_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
quasar_projectile.Name = "quasar_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
quasar_projectile.Damage0 = 18
|
|
|
|
|
quasar_projectile.Damage1 = 8
|
|
|
|
|
quasar_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
quasar_projectile.DegradeDelay = 0.045f
|
|
|
|
|
quasar_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
quasar_projectile.InitialVelocity = 500
|
|
|
|
|
quasar_projectile.Lifespan = .4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(quasar_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
radiator_grenade_projectile.Name = "radiator_grenade_projectile" // Todo : Radiator damages ?
|
2021-04-16 21:37:20 +02:00
|
|
|
radiator_grenade_projectile.GrenadeProjectile = true //not really, but technically yes
|
2018-06-12 21:51:53 -04:00
|
|
|
radiator_grenade_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
radiator_grenade_projectile.InitialVelocity = 30
|
|
|
|
|
radiator_grenade_projectile.Lifespan = 3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(radiator_grenade_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
radiator_sticky_projectile.Name = "radiator_sticky_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent radiator_sticky_projectile game_objects radiator_grenade_projectile
|
2020-07-17 21:36:01 -04:00
|
|
|
radiator_sticky_projectile.GrenadeProjectile = true //not really, but technically yes
|
2018-06-12 21:51:53 -04:00
|
|
|
radiator_sticky_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
radiator_sticky_projectile.InitialVelocity = 30
|
|
|
|
|
radiator_sticky_projectile.Lifespan = 4f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(radiator_sticky_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
reaver_rocket_projectile.Name = "reaver_rocket_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
reaver_rocket_projectile.Damage0 = 25
|
|
|
|
|
reaver_rocket_projectile.Damage1 = 88
|
|
|
|
|
reaver_rocket_projectile.Damage2 = 75
|
|
|
|
|
reaver_rocket_projectile.Damage3 = 75
|
|
|
|
|
reaver_rocket_projectile.Damage4 = 88
|
|
|
|
|
reaver_rocket_projectile.Acceleration = 50
|
|
|
|
|
reaver_rocket_projectile.AccelerationUntil = 1f
|
|
|
|
|
reaver_rocket_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
reaver_rocket_projectile.DamageRadius = 3f
|
|
|
|
|
reaver_rocket_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
reaver_rocket_projectile.InitialVelocity = 100
|
|
|
|
|
reaver_rocket_projectile.Lifespan = 2.1f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(reaver_rocket_projectile)
|
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 14:32:42 -05:00
|
|
|
reaver_rocket_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
rocket_projectile.Name = "rocket_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
rocket_projectile.Damage0 = 50
|
|
|
|
|
rocket_projectile.Damage1 = 105
|
|
|
|
|
rocket_projectile.Damage2 = 75
|
|
|
|
|
rocket_projectile.Damage3 = 75
|
|
|
|
|
rocket_projectile.Damage4 = 75
|
|
|
|
|
rocket_projectile.Acceleration = 10
|
|
|
|
|
rocket_projectile.AccelerationUntil = 2f
|
|
|
|
|
rocket_projectile.DamageAtEdge = .5f
|
|
|
|
|
rocket_projectile.DamageRadius = 3f
|
|
|
|
|
rocket_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
rocket_projectile.InitialVelocity = 50
|
|
|
|
|
rocket_projectile.Lifespan = 8f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(rocket_projectile)
|
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 14:32:42 -05:00
|
|
|
rocket_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
rocklet_flak_projectile.Name = "rocklet_flak_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
rocklet_flak_projectile.Damage0 = 20
|
|
|
|
|
rocklet_flak_projectile.Damage1 = 30
|
|
|
|
|
rocklet_flak_projectile.Damage2 = 57
|
|
|
|
|
rocklet_flak_projectile.Damage3 = 30
|
|
|
|
|
rocklet_flak_projectile.Damage4 = 50
|
|
|
|
|
rocklet_flak_projectile.DamageAtEdge = 0.25f
|
|
|
|
|
rocklet_flak_projectile.DamageRadius = 8f
|
|
|
|
|
rocklet_flak_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
rocklet_flak_projectile.ProjectileDamageTypeSecondary = DamageType.Splash
|
|
|
|
|
rocklet_flak_projectile.InitialVelocity = 60
|
|
|
|
|
rocklet_flak_projectile.Lifespan = 3.2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(rocklet_flak_projectile)
|
2020-09-21 23:18:11 -04:00
|
|
|
rocklet_flak_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
//FlakHit,
|
|
|
|
|
FlakBurst,
|
|
|
|
|
MaxDistanceCutoff
|
2020-09-21 23:18:11 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
rocklet_jammer_projectile.Name = "rocklet_jammer_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
rocklet_jammer_projectile.Damage0 = 0
|
|
|
|
|
rocklet_jammer_projectile.Acceleration = 10
|
|
|
|
|
rocklet_jammer_projectile.AccelerationUntil = 2f
|
|
|
|
|
rocklet_jammer_projectile.DamageAtEdge = 1.0f
|
|
|
|
|
rocklet_jammer_projectile.DamageRadius = 10f
|
|
|
|
|
rocklet_jammer_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
rocklet_jammer_projectile.InitialVelocity = 50
|
|
|
|
|
rocklet_jammer_projectile.Lifespan = 8f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(rocklet_jammer_projectile)
|
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 14:32:42 -05:00
|
|
|
//TODO rocklet_jammer_projectile.Modifiers = RadialDegrade?
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
scattercannon_projectile.Name = "scattercannon_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
scattercannon_projectile.Damage0 = 11
|
|
|
|
|
scattercannon_projectile.Damage1 = 5
|
|
|
|
|
scattercannon_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
scattercannon_projectile.InitialVelocity = 400
|
|
|
|
|
scattercannon_projectile.Lifespan = 0.25f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(scattercannon_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
scythe_projectile.Name = "scythe_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
scythe_projectile.Damage0 = 30
|
|
|
|
|
scythe_projectile.Damage1 = 20
|
|
|
|
|
scythe_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
scythe_projectile.DegradeDelay = .015f
|
|
|
|
|
scythe_projectile.DegradeMultiplier = 0.35f
|
|
|
|
|
scythe_projectile.InitialVelocity = 60
|
|
|
|
|
scythe_projectile.Lifespan = 3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(scythe_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
scythe_projectile_slave.Name = "scythe_projectile_slave" // Todo how does it work ?
|
2018-06-12 21:51:53 -04:00
|
|
|
scythe_projectile_slave.InitialVelocity = 30
|
|
|
|
|
scythe_projectile_slave.Lifespan = 3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(scythe_projectile_slave)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
shotgun_shell_AP_projectile.Name = "shotgun_shell_AP_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent shotgun_shell_AP_projectile game_objects shotgun_shell_projectile
|
|
|
|
|
shotgun_shell_AP_projectile.Damage0 = 5
|
|
|
|
|
shotgun_shell_AP_projectile.Damage1 = 10
|
|
|
|
|
shotgun_shell_AP_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
shotgun_shell_AP_projectile.InitialVelocity = 400
|
|
|
|
|
shotgun_shell_AP_projectile.Lifespan = 0.25f
|
|
|
|
|
shotgun_shell_AP_projectile.UseDamage1Subtract = true
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(shotgun_shell_AP_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
shotgun_shell_projectile.Name = "shotgun_shell_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
shotgun_shell_projectile.Damage0 = 12
|
|
|
|
|
shotgun_shell_projectile.Damage1 = 5
|
|
|
|
|
shotgun_shell_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
shotgun_shell_projectile.InitialVelocity = 400
|
|
|
|
|
shotgun_shell_projectile.Lifespan = 0.25f
|
|
|
|
|
shotgun_shell_projectile.UseDamage1Subtract = true
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(shotgun_shell_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
six_shooter_projectile.Name = "six_shooter_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent six_shooter_projectile game_objects 9mmbullet_projectile
|
|
|
|
|
six_shooter_projectile.Damage0 = 22
|
|
|
|
|
six_shooter_projectile.Damage1 = 20
|
|
|
|
|
six_shooter_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
six_shooter_projectile.DegradeDelay = 0.15f
|
|
|
|
|
six_shooter_projectile.DegradeMultiplier = 0.25f
|
|
|
|
|
six_shooter_projectile.InitialVelocity = 500
|
|
|
|
|
six_shooter_projectile.Lifespan = 0.4f
|
|
|
|
|
six_shooter_projectile.UseDamage1Subtract = false
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(six_shooter_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
skyguard_flak_cannon_projectile.Name = "skyguard_flak_cannon_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
skyguard_flak_cannon_projectile.Damage0 = 15
|
|
|
|
|
skyguard_flak_cannon_projectile.Damage1 = 25
|
|
|
|
|
skyguard_flak_cannon_projectile.Damage2 = 50
|
|
|
|
|
skyguard_flak_cannon_projectile.DamageAtEdge = 1f
|
|
|
|
|
skyguard_flak_cannon_projectile.DamageRadius = 10f
|
|
|
|
|
skyguard_flak_cannon_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
skyguard_flak_cannon_projectile.ProjectileDamageTypeSecondary = DamageType.Splash
|
|
|
|
|
skyguard_flak_cannon_projectile.InitialVelocity = 100
|
|
|
|
|
skyguard_flak_cannon_projectile.Lifespan = 5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(skyguard_flak_cannon_projectile)
|
2020-09-21 23:18:11 -04:00
|
|
|
skyguard_flak_cannon_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
//FlakHit,
|
|
|
|
|
FlakBurst,
|
|
|
|
|
MaxDistanceCutoff
|
2020-09-21 23:18:11 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
sparrow_projectile.Name = "sparrow_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
sparrow_projectile.Damage0 = 35
|
|
|
|
|
sparrow_projectile.Damage1 = 50
|
|
|
|
|
sparrow_projectile.Damage2 = 125
|
|
|
|
|
sparrow_projectile.Acceleration = 12
|
|
|
|
|
sparrow_projectile.AccelerationUntil = 5f
|
|
|
|
|
sparrow_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
sparrow_projectile.DamageRadius = 3f
|
|
|
|
|
sparrow_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
sparrow_projectile.InitialVelocity = 60
|
|
|
|
|
sparrow_projectile.Lifespan = 5.85f
|
2019-05-10 23:11:49 -04:00
|
|
|
sparrow_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
sparrow_projectile.RemoteClientData = (13107, 187)
|
2019-11-04 09:21:36 -05:00
|
|
|
sparrow_projectile.AutoLock = true
|
2019-05-14 05:34:07 -04:00
|
|
|
sparrow_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(sparrow_projectile)
|
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 14:32:42 -05:00
|
|
|
sparrow_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
sparrow_secondary_projectile.Name = "sparrow_secondary_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent sparrow_secondary_projectile game_objects sparrow_projectile
|
|
|
|
|
sparrow_secondary_projectile.Damage0 = 35
|
|
|
|
|
sparrow_secondary_projectile.Damage1 = 50
|
|
|
|
|
sparrow_secondary_projectile.Damage2 = 125
|
|
|
|
|
sparrow_secondary_projectile.Acceleration = 12
|
|
|
|
|
sparrow_secondary_projectile.AccelerationUntil = 5f
|
|
|
|
|
sparrow_secondary_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
sparrow_secondary_projectile.DamageRadius = 3f
|
|
|
|
|
sparrow_secondary_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
sparrow_secondary_projectile.InitialVelocity = 60
|
|
|
|
|
sparrow_secondary_projectile.Lifespan = 5.85f
|
2019-05-10 23:11:49 -04:00
|
|
|
sparrow_secondary_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
sparrow_secondary_projectile.RemoteClientData = (13107, 187)
|
2019-11-04 09:21:36 -05:00
|
|
|
sparrow_secondary_projectile.AutoLock = true
|
2019-05-14 05:34:07 -04:00
|
|
|
sparrow_secondary_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(sparrow_secondary_projectile)
|
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 14:32:42 -05:00
|
|
|
sparrow_secondary_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
spiker_projectile.Name = "spiker_projectile"
|
2020-09-05 09:08:18 -04:00
|
|
|
spiker_projectile.Charging = ChargeDamage(4, StandardDamageProfile(damage0 = Some(20), damage1 = Some(20)))
|
|
|
|
|
spiker_projectile.Damage0 = 75
|
|
|
|
|
spiker_projectile.Damage1 = 75
|
2018-06-12 21:51:53 -04:00
|
|
|
spiker_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
spiker_projectile.DamageRadius = 5f
|
2020-09-05 09:08:18 -04:00
|
|
|
spiker_projectile.DamageRadiusMin = 1f
|
2018-06-12 21:51:53 -04:00
|
|
|
spiker_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
spiker_projectile.InitialVelocity = 40
|
|
|
|
|
spiker_projectile.Lifespan = 5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(spiker_projectile)
|
2020-09-05 09:08:18 -04:00
|
|
|
spiker_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
SpikerChargeDamage,
|
|
|
|
|
RadialDegrade
|
2020-09-05 09:08:18 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
spitfire_aa_ammo_projectile.Name = "spitfire_aa_ammo_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
spitfire_aa_ammo_projectile.Damage0 = 5
|
|
|
|
|
spitfire_aa_ammo_projectile.Damage1 = 15
|
|
|
|
|
spitfire_aa_ammo_projectile.Damage2 = 12
|
|
|
|
|
spitfire_aa_ammo_projectile.Damage3 = 5
|
|
|
|
|
spitfire_aa_ammo_projectile.Damage4 = 15
|
|
|
|
|
spitfire_aa_ammo_projectile.DamageAtEdge = 1f
|
|
|
|
|
spitfire_aa_ammo_projectile.DamageRadius = 10f
|
|
|
|
|
spitfire_aa_ammo_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
spitfire_aa_ammo_projectile.ProjectileDamageTypeSecondary = DamageType.Splash
|
|
|
|
|
spitfire_aa_ammo_projectile.InitialVelocity = 100
|
|
|
|
|
spitfire_aa_ammo_projectile.Lifespan = 5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(spitfire_aa_ammo_projectile)
|
2020-09-21 23:18:11 -04:00
|
|
|
spitfire_aa_ammo_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
//FlakHit,
|
|
|
|
|
FlakBurst,
|
|
|
|
|
MaxDistanceCutoff
|
2020-09-21 23:18:11 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
spitfire_ammo_projectile.Name = "spitfire_ammo_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
spitfire_ammo_projectile.Damage0 = 15
|
|
|
|
|
spitfire_ammo_projectile.Damage1 = 10
|
|
|
|
|
spitfire_ammo_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
spitfire_ammo_projectile.DegradeDelay = .01f
|
|
|
|
|
spitfire_ammo_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
spitfire_ammo_projectile.InitialVelocity = 100
|
|
|
|
|
spitfire_ammo_projectile.Lifespan = .5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(spitfire_ammo_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
starfire_projectile.Name = "starfire_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
starfire_projectile.Damage0 = 16
|
|
|
|
|
starfire_projectile.Damage1 = 20
|
|
|
|
|
starfire_projectile.Damage2 = 58
|
|
|
|
|
starfire_projectile.Acceleration = 12
|
|
|
|
|
starfire_projectile.AccelerationUntil = 5f
|
|
|
|
|
starfire_projectile.ProjectileDamageType = DamageType.Aggravated
|
2020-07-10 00:26:30 -04:00
|
|
|
starfire_projectile.Aggravated = AggravatedDamage(
|
|
|
|
|
AggravatedInfo(DamageType.Direct, 0.25f, 250),
|
2020-07-14 00:14:43 -04:00
|
|
|
Aura.Comet,
|
2020-08-10 08:20:12 -04:00
|
|
|
2000,
|
2020-07-10 00:26:30 -04:00
|
|
|
0f,
|
2020-08-07 23:32:09 -04:00
|
|
|
true,
|
2020-08-25 01:12:53 -04:00
|
|
|
List(
|
|
|
|
|
TargetValidation(EffectTarget.Category.Player, EffectTarget.Validation.Player),
|
|
|
|
|
TargetValidation(EffectTarget.Category.Vehicle, EffectTarget.Validation.Vehicle),
|
|
|
|
|
TargetValidation(EffectTarget.Category.Turret, EffectTarget.Validation.Turret)
|
|
|
|
|
)
|
2020-07-10 00:26:30 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
starfire_projectile.InitialVelocity = 45
|
|
|
|
|
starfire_projectile.Lifespan = 7.8f
|
2019-05-10 23:11:49 -04:00
|
|
|
starfire_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
starfire_projectile.RemoteClientData = (39577, 249)
|
2019-11-04 09:21:36 -05:00
|
|
|
starfire_projectile.AutoLock = true
|
2019-05-14 05:34:07 -04:00
|
|
|
starfire_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(starfire_projectile)
|
2020-08-07 23:32:09 -04:00
|
|
|
starfire_projectile.Modifiers = List(
|
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 14:32:42 -05:00
|
|
|
StarfireAggravatedBurn,
|
|
|
|
|
RadialDegrade
|
2020-08-07 23:32:09 -04:00
|
|
|
)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
striker_missile_projectile.Name = "striker_missile_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
striker_missile_projectile.Damage0 = 35
|
|
|
|
|
striker_missile_projectile.Damage1 = 175
|
|
|
|
|
striker_missile_projectile.Damage2 = 125
|
|
|
|
|
striker_missile_projectile.Damage3 = 125
|
|
|
|
|
striker_missile_projectile.Damage4 = 263
|
|
|
|
|
striker_missile_projectile.Acceleration = 20
|
|
|
|
|
striker_missile_projectile.AccelerationUntil = 2f
|
|
|
|
|
striker_missile_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
striker_missile_projectile.DamageRadius = 1.5f
|
|
|
|
|
striker_missile_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
striker_missile_projectile.InitialVelocity = 30
|
|
|
|
|
striker_missile_projectile.Lifespan = 4.2f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(striker_missile_projectile)
|
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 14:32:42 -05:00
|
|
|
striker_missile_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
striker_missile_targeting_projectile.Name = "striker_missile_targeting_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent striker_missile_targeting_projectile game_objects striker_missile_projectile
|
|
|
|
|
striker_missile_targeting_projectile.Damage0 = 35
|
|
|
|
|
striker_missile_targeting_projectile.Damage1 = 175
|
|
|
|
|
striker_missile_targeting_projectile.Damage2 = 125
|
|
|
|
|
striker_missile_targeting_projectile.Damage3 = 125
|
|
|
|
|
striker_missile_targeting_projectile.Damage4 = 263
|
|
|
|
|
striker_missile_targeting_projectile.Acceleration = 20
|
|
|
|
|
striker_missile_targeting_projectile.AccelerationUntil = 2f
|
|
|
|
|
striker_missile_targeting_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
striker_missile_targeting_projectile.DamageRadius = 1.5f
|
|
|
|
|
striker_missile_targeting_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
striker_missile_targeting_projectile.InitialVelocity = 30
|
|
|
|
|
striker_missile_targeting_projectile.Lifespan = 4.2f
|
2019-05-10 23:11:49 -04:00
|
|
|
striker_missile_targeting_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
striker_missile_targeting_projectile.RemoteClientData = (26214, 134)
|
2019-11-04 09:21:36 -05:00
|
|
|
striker_missile_targeting_projectile.AutoLock = true
|
2019-05-14 05:34:07 -04:00
|
|
|
striker_missile_targeting_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(striker_missile_targeting_projectile)
|
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 14:32:42 -05:00
|
|
|
striker_missile_targeting_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
trek_projectile.Name = "trek_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
trek_projectile.Damage0 = 0
|
|
|
|
|
trek_projectile.Damage1 = 0
|
|
|
|
|
trek_projectile.Damage2 = 0
|
|
|
|
|
trek_projectile.Damage3 = 0
|
|
|
|
|
trek_projectile.Damage4 = 0
|
|
|
|
|
trek_projectile.Acceleration = -20
|
|
|
|
|
trek_projectile.AccelerationUntil = 1f
|
|
|
|
|
trek_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
trek_projectile.InitialVelocity = 40
|
|
|
|
|
trek_projectile.Lifespan = 7f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(trek_projectile)
|
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 14:32:42 -05:00
|
|
|
trek_projectile.Modifiers = MaxDistanceCutoff
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
vanu_sentry_turret_projectile.Name = "vanu_sentry_turret_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
vanu_sentry_turret_projectile.Damage0 = 25
|
|
|
|
|
vanu_sentry_turret_projectile.Damage1 = 35
|
|
|
|
|
vanu_sentry_turret_projectile.Damage2 = 100
|
|
|
|
|
vanu_sentry_turret_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
vanu_sentry_turret_projectile.DamageRadius = 3f
|
|
|
|
|
vanu_sentry_turret_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
vanu_sentry_turret_projectile.InitialVelocity = 240
|
|
|
|
|
vanu_sentry_turret_projectile.Lifespan = 1.3f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(vanu_sentry_turret_projectile)
|
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 14:32:42 -05:00
|
|
|
vanu_sentry_turret_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
vulture_bomb_projectile.Name = "vulture_bomb_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
vulture_bomb_projectile.Damage0 = 175
|
|
|
|
|
vulture_bomb_projectile.Damage1 = 1750
|
|
|
|
|
vulture_bomb_projectile.Damage2 = 1000
|
|
|
|
|
vulture_bomb_projectile.Damage3 = 400
|
|
|
|
|
vulture_bomb_projectile.Damage4 = 1500
|
|
|
|
|
vulture_bomb_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
vulture_bomb_projectile.DamageRadius = 10f
|
|
|
|
|
vulture_bomb_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
vulture_bomb_projectile.InitialVelocity = 0
|
|
|
|
|
vulture_bomb_projectile.Lifespan = 30f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(vulture_bomb_projectile)
|
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 14:32:42 -05:00
|
|
|
vulture_bomb_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
vulture_nose_bullet_projectile.Name = "vulture_nose_bullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
vulture_nose_bullet_projectile.Damage0 = 12
|
|
|
|
|
vulture_nose_bullet_projectile.Damage1 = 15
|
|
|
|
|
vulture_nose_bullet_projectile.Damage2 = 10
|
|
|
|
|
vulture_nose_bullet_projectile.Damage3 = 10
|
|
|
|
|
vulture_nose_bullet_projectile.Damage4 = 15
|
|
|
|
|
vulture_nose_bullet_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
vulture_nose_bullet_projectile.DegradeDelay = .4f
|
|
|
|
|
vulture_nose_bullet_projectile.DegradeMultiplier = 0.7f
|
|
|
|
|
vulture_nose_bullet_projectile.InitialVelocity = 500
|
|
|
|
|
vulture_nose_bullet_projectile.Lifespan = 0.46f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(vulture_nose_bullet_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
vulture_tail_bullet_projectile.Name = "vulture_tail_bullet_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
vulture_tail_bullet_projectile.Damage0 = 25
|
|
|
|
|
vulture_tail_bullet_projectile.Damage1 = 35
|
|
|
|
|
vulture_tail_bullet_projectile.Damage2 = 50
|
|
|
|
|
vulture_tail_bullet_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
vulture_tail_bullet_projectile.DegradeDelay = .02f
|
|
|
|
|
vulture_tail_bullet_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
vulture_tail_bullet_projectile.InitialVelocity = 500
|
|
|
|
|
vulture_tail_bullet_projectile.Lifespan = 0.6f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(vulture_tail_bullet_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
wasp_gun_projectile.Name = "wasp_gun_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
wasp_gun_projectile.Damage0 = 10
|
|
|
|
|
wasp_gun_projectile.Damage1 = 15
|
|
|
|
|
wasp_gun_projectile.Damage2 = 25
|
|
|
|
|
wasp_gun_projectile.Damage3 = 17
|
|
|
|
|
wasp_gun_projectile.Damage4 = 7
|
|
|
|
|
wasp_gun_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
wasp_gun_projectile.DegradeDelay = .015f
|
|
|
|
|
wasp_gun_projectile.DegradeMultiplier = 0.5f
|
|
|
|
|
wasp_gun_projectile.InitialVelocity = 500
|
|
|
|
|
wasp_gun_projectile.Lifespan = 0.5f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(wasp_gun_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
wasp_rocket_projectile.Name = "wasp_rocket_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
wasp_rocket_projectile.Damage0 = 35
|
|
|
|
|
wasp_rocket_projectile.Damage1 = 50
|
|
|
|
|
wasp_rocket_projectile.Damage2 = 300
|
|
|
|
|
wasp_rocket_projectile.Acceleration = 10
|
|
|
|
|
wasp_rocket_projectile.AccelerationUntil = 5f
|
|
|
|
|
wasp_rocket_projectile.DamageAtEdge = 0.1f
|
|
|
|
|
wasp_rocket_projectile.DamageRadius = 3f
|
|
|
|
|
wasp_rocket_projectile.ProjectileDamageType = DamageType.Splash
|
|
|
|
|
wasp_rocket_projectile.InitialVelocity = 60
|
|
|
|
|
wasp_rocket_projectile.Lifespan = 6.5f
|
2019-05-10 23:11:49 -04:00
|
|
|
wasp_rocket_projectile.ExistsOnRemoteClients = true
|
2019-05-17 01:54:27 -04:00
|
|
|
wasp_rocket_projectile.RemoteClientData = (0, 208)
|
2019-11-04 09:21:36 -05:00
|
|
|
wasp_rocket_projectile.AutoLock = true
|
2019-05-14 05:34:07 -04:00
|
|
|
wasp_rocket_projectile.Packet = projectileConverter
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(wasp_rocket_projectile)
|
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 14:32:42 -05:00
|
|
|
wasp_rocket_projectile.Modifiers = RadialDegrade
|
2018-06-12 21:51:53 -04:00
|
|
|
|
2018-06-15 14:50:42 -04:00
|
|
|
winchester_projectile.Name = "winchester_projectile"
|
2018-06-12 21:51:53 -04:00
|
|
|
// TODO for later, maybe : set_resource_parent winchester_projectile game_objects bolt_projectile
|
|
|
|
|
winchester_projectile.Damage0 = 80
|
|
|
|
|
winchester_projectile.Damage1 = 40
|
|
|
|
|
winchester_projectile.Damage2 = 50
|
|
|
|
|
winchester_projectile.Damage3 = 50
|
|
|
|
|
winchester_projectile.Damage4 = 75
|
|
|
|
|
winchester_projectile.ProjectileDamageType = DamageType.Direct
|
|
|
|
|
winchester_projectile.InitialVelocity = 500
|
|
|
|
|
winchester_projectile.Lifespan = 0.6f
|
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 09:28:45 -04:00
|
|
|
ProjectileDefinition.CalculateDerivedFields(winchester_projectile)
|
2018-06-12 21:51:53 -04:00
|
|
|
}
|
|
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
/**
|
|
|
|
|
* Initialize `ToolDefinition` globals.
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
private def init_tools(): Unit = {
|
2018-05-10 23:03:34 -04:00
|
|
|
chainblade.Name = "chainblade"
|
2017-11-26 00:00:41 -05:00
|
|
|
chainblade.Size = EquipmentSize.Melee
|
|
|
|
|
chainblade.AmmoTypes += melee_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
chainblade.ProjectileTypes += melee_ammo_projectile
|
|
|
|
|
chainblade.ProjectileTypes += chainblade_projectile
|
2018-01-17 07:51:42 -05:00
|
|
|
chainblade.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
chainblade.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
chainblade.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
chainblade.FireModes.head.Magazine = 1
|
2018-01-17 07:51:42 -05:00
|
|
|
chainblade.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
chainblade.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
chainblade.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
chainblade.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
chainblade.FireModes(1).Magazine = 1
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
magcutter.Name = "magcutter"
|
2017-11-26 00:00:41 -05:00
|
|
|
magcutter.Size = EquipmentSize.Melee
|
|
|
|
|
magcutter.AmmoTypes += melee_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
magcutter.ProjectileTypes += melee_ammo_projectile
|
|
|
|
|
magcutter.ProjectileTypes += magcutter_projectile
|
2018-01-17 07:51:42 -05:00
|
|
|
magcutter.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
magcutter.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
magcutter.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
magcutter.FireModes.head.Magazine = 1
|
2018-01-17 07:51:42 -05:00
|
|
|
magcutter.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
magcutter.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
magcutter.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
magcutter.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
magcutter.FireModes(1).Magazine = 1
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
forceblade.Name = "forceblade"
|
2017-11-26 00:00:41 -05:00
|
|
|
forceblade.Size = EquipmentSize.Melee
|
|
|
|
|
forceblade.AmmoTypes += melee_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
forceblade.ProjectileTypes += melee_ammo_projectile
|
|
|
|
|
forceblade.ProjectileTypes += forceblade_projectile
|
2018-01-17 07:51:42 -05:00
|
|
|
forceblade.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
forceblade.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
forceblade.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
forceblade.FireModes.head.Magazine = 1
|
2018-01-17 07:51:42 -05:00
|
|
|
forceblade.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
forceblade.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
forceblade.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
forceblade.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
forceblade.FireModes(1).Magazine = 1
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
katana.Name = "katana"
|
2017-11-26 00:00:41 -05:00
|
|
|
katana.Size = EquipmentSize.Melee
|
|
|
|
|
katana.AmmoTypes += melee_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
katana.ProjectileTypes += katana_projectile
|
|
|
|
|
katana.ProjectileTypes += katana_projectileb
|
2018-01-17 07:51:42 -05:00
|
|
|
katana.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
katana.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
katana.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
katana.FireModes.head.Magazine = 1
|
2018-01-17 07:51:42 -05:00
|
|
|
katana.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
katana.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
katana.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
katana.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
katana.FireModes(1).Magazine = 1
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
frag_grenade.Name = "frag_grenade"
|
2017-11-26 00:00:41 -05:00
|
|
|
frag_grenade.Size = EquipmentSize.Pistol
|
|
|
|
|
frag_grenade.AmmoTypes += frag_grenade_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
frag_grenade.ProjectileTypes += frag_grenade_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
frag_grenade.FireModes += new FireModeDefinition
|
|
|
|
|
frag_grenade.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
frag_grenade.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
frag_grenade.FireModes.head.Magazine = 3
|
|
|
|
|
frag_grenade.FireModes += new FireModeDefinition
|
|
|
|
|
frag_grenade.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
frag_grenade.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
frag_grenade.FireModes(1).Magazine = 3
|
|
|
|
|
frag_grenade.Tile = InventoryTile.Tile22
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
plasma_grenade.Name = "plasma_grenade"
|
2017-11-26 00:00:41 -05:00
|
|
|
plasma_grenade.Size = EquipmentSize.Pistol
|
|
|
|
|
plasma_grenade.AmmoTypes += plasma_grenade_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
plasma_grenade.ProjectileTypes += plasma_grenade_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
plasma_grenade.FireModes += new FireModeDefinition
|
|
|
|
|
plasma_grenade.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
plasma_grenade.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
plasma_grenade.FireModes.head.Magazine = 3
|
|
|
|
|
plasma_grenade.FireModes += new FireModeDefinition
|
|
|
|
|
plasma_grenade.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
plasma_grenade.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
plasma_grenade.FireModes(1).Magazine = 3
|
|
|
|
|
plasma_grenade.Tile = InventoryTile.Tile22
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
jammer_grenade.Name = "jammer_grenade"
|
2017-11-26 00:00:41 -05:00
|
|
|
jammer_grenade.Size = EquipmentSize.Pistol
|
|
|
|
|
jammer_grenade.AmmoTypes += jammer_grenade_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
jammer_grenade.ProjectileTypes += jammer_grenade_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
jammer_grenade.FireModes += new FireModeDefinition
|
|
|
|
|
jammer_grenade.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
jammer_grenade.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
jammer_grenade.FireModes.head.Magazine = 3
|
|
|
|
|
jammer_grenade.FireModes += new FireModeDefinition
|
|
|
|
|
jammer_grenade.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
jammer_grenade.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
jammer_grenade.FireModes(1).Magazine = 3
|
|
|
|
|
jammer_grenade.Tile = InventoryTile.Tile22
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
repeater.Name = "repeater"
|
2017-11-26 00:00:41 -05:00
|
|
|
repeater.Size = EquipmentSize.Pistol
|
|
|
|
|
repeater.AmmoTypes += bullet_9mm
|
|
|
|
|
repeater.AmmoTypes += bullet_9mm_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
repeater.ProjectileTypes += bullet_9mm_projectile
|
|
|
|
|
repeater.ProjectileTypes += bullet_9mm_AP_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
repeater.FireModes += new FireModeDefinition
|
|
|
|
|
repeater.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
repeater.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
repeater.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
repeater.FireModes.head.Magazine = 20
|
2020-07-28 00:02:43 -04:00
|
|
|
repeater.FireModes.head.Add.Damage0 = 2
|
|
|
|
|
repeater.FireModes.head.Add.Damage1 = -3
|
|
|
|
|
repeater.FireModes.head.Add.Damage2 = -3
|
|
|
|
|
repeater.FireModes.head.Add.Damage3 = -3
|
|
|
|
|
repeater.FireModes.head.Add.Damage4 = -3
|
2017-11-26 00:00:41 -05:00
|
|
|
repeater.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
isp.Name = "isp"
|
2017-11-26 00:00:41 -05:00
|
|
|
isp.Size = EquipmentSize.Pistol
|
|
|
|
|
isp.AmmoTypes += shotgun_shell
|
|
|
|
|
isp.AmmoTypes += shotgun_shell_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
isp.ProjectileTypes += shotgun_shell_projectile
|
|
|
|
|
isp.ProjectileTypes += shotgun_shell_AP_projectile
|
2018-01-17 07:51:42 -05:00
|
|
|
isp.FireModes += new PelletFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
isp.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
isp.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
isp.FireModes.head.AmmoSlotIndex = 0
|
2020-09-05 09:08:18 -04:00
|
|
|
isp.FireModes.head.Chamber = 6 //8 shells x 6 pellets = 36
|
2017-11-26 00:00:41 -05:00
|
|
|
isp.FireModes.head.Magazine = 8
|
2020-07-28 00:02:43 -04:00
|
|
|
isp.FireModes.head.Add.Damage0 = 1
|
|
|
|
|
isp.FireModes.head.Add.Damage2 = 1
|
|
|
|
|
isp.FireModes.head.Add.Damage3 = 1
|
2017-11-26 00:00:41 -05:00
|
|
|
isp.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
beamer.Name = "beamer"
|
2017-11-26 00:00:41 -05:00
|
|
|
beamer.Size = EquipmentSize.Pistol
|
|
|
|
|
beamer.AmmoTypes += energy_cell
|
2018-06-12 21:51:53 -04:00
|
|
|
beamer.ProjectileTypes += energy_cell_projectile
|
|
|
|
|
beamer.ProjectileTypes += enhanced_energy_cell_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
beamer.FireModes += new FireModeDefinition
|
|
|
|
|
beamer.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
beamer.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
beamer.FireModes.head.Magazine = 16
|
2020-07-28 00:02:43 -04:00
|
|
|
beamer.FireModes.head.Add.Damage0 = 4
|
|
|
|
|
beamer.FireModes.head.Add.Damage1 = -1
|
|
|
|
|
beamer.FireModes.head.Add.Damage2 = -1
|
|
|
|
|
beamer.FireModes.head.Add.Damage3 = -1
|
|
|
|
|
beamer.FireModes.head.Add.Damage4 = -1
|
2017-11-26 00:00:41 -05:00
|
|
|
beamer.FireModes += new FireModeDefinition
|
|
|
|
|
beamer.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
beamer.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
beamer.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
beamer.FireModes(1).Magazine = 16
|
2020-07-28 00:02:43 -04:00
|
|
|
beamer.FireModes(1).Add.Damage0 = -3
|
|
|
|
|
beamer.FireModes(1).Add.Damage1 = -3
|
|
|
|
|
beamer.FireModes(1).Add.Damage2 = -3
|
|
|
|
|
beamer.FireModes(1).Add.Damage3 = -3
|
|
|
|
|
beamer.FireModes(1).Add.Damage4 = -3
|
2017-11-26 00:00:41 -05:00
|
|
|
beamer.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
ilc9.Name = "ilc9"
|
2017-11-26 00:00:41 -05:00
|
|
|
ilc9.Size = EquipmentSize.Pistol
|
|
|
|
|
ilc9.AmmoTypes += bullet_9mm
|
|
|
|
|
ilc9.AmmoTypes += bullet_9mm_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
ilc9.ProjectileTypes += bullet_9mm_projectile
|
|
|
|
|
ilc9.ProjectileTypes += bullet_9mm_AP_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
ilc9.FireModes += new FireModeDefinition
|
|
|
|
|
ilc9.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
ilc9.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
ilc9.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
ilc9.FireModes.head.Magazine = 30
|
2020-07-28 00:02:43 -04:00
|
|
|
ilc9.FireModes.head.Add.Damage1 = -3
|
|
|
|
|
ilc9.FireModes.head.Add.Damage4 = -3
|
2017-11-26 00:00:41 -05:00
|
|
|
ilc9.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
suppressor.Name = "suppressor"
|
2017-11-26 00:00:41 -05:00
|
|
|
suppressor.Size = EquipmentSize.Rifle
|
|
|
|
|
suppressor.AmmoTypes += bullet_9mm
|
|
|
|
|
suppressor.AmmoTypes += bullet_9mm_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
suppressor.ProjectileTypes += bullet_9mm_projectile
|
|
|
|
|
suppressor.ProjectileTypes += bullet_9mm_AP_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
suppressor.FireModes += new FireModeDefinition
|
|
|
|
|
suppressor.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
suppressor.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
suppressor.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
suppressor.FireModes.head.Magazine = 25
|
2020-07-28 00:02:43 -04:00
|
|
|
suppressor.FireModes.head.Add.Damage0 = -1
|
|
|
|
|
suppressor.FireModes.head.Add.Damage1 = -1
|
2017-11-26 00:00:41 -05:00
|
|
|
suppressor.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
punisher.Name = "punisher"
|
2017-11-26 00:00:41 -05:00
|
|
|
punisher.Size = EquipmentSize.Rifle
|
|
|
|
|
punisher.AmmoTypes += bullet_9mm
|
|
|
|
|
punisher.AmmoTypes += bullet_9mm_AP
|
|
|
|
|
punisher.AmmoTypes += rocket
|
|
|
|
|
punisher.AmmoTypes += frag_cartridge
|
|
|
|
|
punisher.AmmoTypes += jammer_cartridge
|
|
|
|
|
punisher.AmmoTypes += plasma_cartridge
|
2018-06-12 21:51:53 -04:00
|
|
|
punisher.ProjectileTypes += bullet_9mm_projectile
|
|
|
|
|
punisher.ProjectileTypes += bullet_9mm_AP_projectile
|
|
|
|
|
punisher.ProjectileTypes += rocket_projectile
|
|
|
|
|
punisher.ProjectileTypes += frag_cartridge_projectile
|
|
|
|
|
punisher.ProjectileTypes += jammer_cartridge_projectile
|
|
|
|
|
punisher.ProjectileTypes += plasma_cartridge_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
punisher.FireModes += new FireModeDefinition
|
|
|
|
|
punisher.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
punisher.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
punisher.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
punisher.FireModes.head.Magazine = 30
|
2020-07-28 00:02:43 -04:00
|
|
|
punisher.FireModes.head.Add.Damage0 = 1
|
|
|
|
|
punisher.FireModes.head.Add.Damage3 = 1
|
2017-11-26 00:00:41 -05:00
|
|
|
punisher.FireModes += new FireModeDefinition
|
|
|
|
|
punisher.FireModes(1).AmmoTypeIndices += 2
|
|
|
|
|
punisher.FireModes(1).AmmoTypeIndices += 3
|
|
|
|
|
punisher.FireModes(1).AmmoTypeIndices += 4
|
|
|
|
|
punisher.FireModes(1).AmmoTypeIndices += 5
|
|
|
|
|
punisher.FireModes(1).AmmoSlotIndex = 1
|
|
|
|
|
punisher.FireModes(1).Magazine = 1
|
|
|
|
|
punisher.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
flechette.Name = "flechette"
|
2017-11-26 00:00:41 -05:00
|
|
|
flechette.Size = EquipmentSize.Rifle
|
|
|
|
|
flechette.AmmoTypes += shotgun_shell
|
|
|
|
|
flechette.AmmoTypes += shotgun_shell_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
flechette.ProjectileTypes += shotgun_shell_projectile
|
|
|
|
|
flechette.ProjectileTypes += shotgun_shell_AP_projectile
|
2018-01-17 07:51:42 -05:00
|
|
|
flechette.FireModes += new PelletFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
flechette.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
flechette.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
flechette.FireModes.head.AmmoSlotIndex = 0
|
2018-01-17 07:51:42 -05:00
|
|
|
flechette.FireModes.head.Magazine = 12
|
|
|
|
|
flechette.FireModes.head.Chamber = 8 //12 shells * 8 pellets = 96
|
2017-11-26 00:00:41 -05:00
|
|
|
flechette.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
cycler.Name = "cycler"
|
2017-11-26 00:00:41 -05:00
|
|
|
cycler.Size = EquipmentSize.Rifle
|
|
|
|
|
cycler.AmmoTypes += bullet_9mm
|
|
|
|
|
cycler.AmmoTypes += bullet_9mm_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
cycler.ProjectileTypes += bullet_9mm_projectile
|
|
|
|
|
cycler.ProjectileTypes += bullet_9mm_AP_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
cycler.FireModes += new FireModeDefinition
|
|
|
|
|
cycler.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
cycler.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
cycler.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
cycler.FireModes.head.Magazine = 50
|
|
|
|
|
cycler.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
gauss.Name = "gauss"
|
2017-11-26 00:00:41 -05:00
|
|
|
gauss.Size = EquipmentSize.Rifle
|
|
|
|
|
gauss.AmmoTypes += bullet_9mm
|
|
|
|
|
gauss.AmmoTypes += bullet_9mm_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
gauss.ProjectileTypes += bullet_9mm_projectile
|
|
|
|
|
gauss.ProjectileTypes += bullet_9mm_AP_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
gauss.FireModes += new FireModeDefinition
|
|
|
|
|
gauss.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
gauss.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
gauss.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
gauss.FireModes.head.Magazine = 30
|
2020-07-28 00:02:43 -04:00
|
|
|
gauss.FireModes.head.Add.Damage0 = 2
|
|
|
|
|
gauss.FireModes.head.Add.Damage3 = 2
|
2017-11-26 00:00:41 -05:00
|
|
|
gauss.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
pulsar.Name = "pulsar"
|
2017-11-26 00:00:41 -05:00
|
|
|
pulsar.Size = EquipmentSize.Rifle
|
|
|
|
|
pulsar.AmmoTypes += energy_cell
|
2018-06-12 21:51:53 -04:00
|
|
|
pulsar.ProjectileTypes += pulsar_projectile
|
|
|
|
|
pulsar.ProjectileTypes += pulsar_ap_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
pulsar.FireModes += new FireModeDefinition
|
|
|
|
|
pulsar.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
pulsar.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
pulsar.FireModes.head.Magazine = 40
|
|
|
|
|
pulsar.FireModes += new FireModeDefinition
|
|
|
|
|
pulsar.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
pulsar.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
pulsar.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
pulsar.FireModes(1).Magazine = 40
|
|
|
|
|
pulsar.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
anniversary_guna.Name = "anniversary_guna"
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_guna.Size = EquipmentSize.Pistol
|
|
|
|
|
anniversary_guna.AmmoTypes += anniversary_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
anniversary_guna.ProjectileTypes += anniversary_projectilea
|
|
|
|
|
anniversary_guna.ProjectileTypes += anniversary_projectileb
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_guna.FireModes += new FireModeDefinition
|
|
|
|
|
anniversary_guna.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
anniversary_guna.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
anniversary_guna.FireModes.head.Magazine = 6
|
|
|
|
|
anniversary_guna.FireModes += new FireModeDefinition
|
|
|
|
|
anniversary_guna.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
anniversary_guna.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_guna.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
anniversary_guna.FireModes(1).Magazine = 6
|
|
|
|
|
anniversary_guna.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
anniversary_gun.Name = "anniversary_gun"
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_gun.Size = EquipmentSize.Pistol
|
|
|
|
|
anniversary_gun.AmmoTypes += anniversary_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
anniversary_gun.ProjectileTypes += anniversary_projectilea
|
|
|
|
|
anniversary_gun.ProjectileTypes += anniversary_projectileb
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_gun.FireModes += new FireModeDefinition
|
|
|
|
|
anniversary_gun.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
anniversary_gun.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
anniversary_gun.FireModes.head.Magazine = 6
|
|
|
|
|
anniversary_gun.FireModes += new FireModeDefinition
|
|
|
|
|
anniversary_gun.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
anniversary_gun.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_gun.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
anniversary_gun.FireModes(1).Magazine = 6
|
|
|
|
|
anniversary_gun.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
anniversary_gunb.Name = "anniversary_gunb"
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_gunb.Size = EquipmentSize.Pistol
|
|
|
|
|
anniversary_gunb.AmmoTypes += anniversary_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
anniversary_gunb.ProjectileTypes += anniversary_projectilea
|
|
|
|
|
anniversary_gunb.ProjectileTypes += anniversary_projectileb
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_gunb.FireModes += new FireModeDefinition
|
|
|
|
|
anniversary_gunb.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
anniversary_gunb.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
anniversary_gunb.FireModes.head.Magazine = 6
|
|
|
|
|
anniversary_gunb.FireModes += new FireModeDefinition
|
|
|
|
|
anniversary_gunb.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
anniversary_gunb.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
anniversary_gunb.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
anniversary_gunb.FireModes(1).Magazine = 6
|
|
|
|
|
anniversary_gunb.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
spiker.Name = "spiker"
|
2017-11-26 00:00:41 -05:00
|
|
|
spiker.Size = EquipmentSize.Pistol
|
|
|
|
|
spiker.AmmoTypes += ancient_ammo_combo
|
2018-06-12 21:51:53 -04:00
|
|
|
spiker.ProjectileTypes += spiker_projectile
|
2020-09-05 09:08:18 -04:00
|
|
|
spiker.FireModes += new ChargeFireModeDefinition(time = 1000, drainInterval = 500)
|
2017-11-26 00:00:41 -05:00
|
|
|
spiker.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
spiker.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
spiker.FireModes.head.Magazine = 25
|
|
|
|
|
spiker.Tile = InventoryTile.Tile33
|
2018-01-17 07:51:42 -05:00
|
|
|
//TODO the spiker is weird
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
mini_chaingun.Name = "mini_chaingun"
|
2017-11-26 00:00:41 -05:00
|
|
|
mini_chaingun.Size = EquipmentSize.Rifle
|
|
|
|
|
mini_chaingun.AmmoTypes += bullet_9mm
|
|
|
|
|
mini_chaingun.AmmoTypes += bullet_9mm_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
mini_chaingun.ProjectileTypes += bullet_9mm_projectile
|
|
|
|
|
mini_chaingun.ProjectileTypes += bullet_9mm_AP_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
mini_chaingun.FireModes += new FireModeDefinition
|
|
|
|
|
mini_chaingun.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
mini_chaingun.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
mini_chaingun.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
mini_chaingun.FireModes.head.Magazine = 100
|
|
|
|
|
mini_chaingun.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
r_shotgun.Name = "r_shotgun"
|
2017-11-26 00:00:41 -05:00
|
|
|
r_shotgun.Size = EquipmentSize.Rifle
|
|
|
|
|
r_shotgun.AmmoTypes += shotgun_shell
|
|
|
|
|
r_shotgun.AmmoTypes += shotgun_shell_AP
|
2018-06-12 21:51:53 -04:00
|
|
|
r_shotgun.ProjectileTypes += shotgun_shell_projectile
|
|
|
|
|
r_shotgun.ProjectileTypes += shotgun_shell_AP_projectile
|
2018-01-17 07:51:42 -05:00
|
|
|
r_shotgun.FireModes += new PelletFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
r_shotgun.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
r_shotgun.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
r_shotgun.FireModes.head.AmmoSlotIndex = 0
|
2018-01-17 07:51:42 -05:00
|
|
|
r_shotgun.FireModes.head.Magazine = 16
|
|
|
|
|
r_shotgun.FireModes.head.Chamber = 8 //16 shells * 8 pellets = 128
|
2020-07-28 00:02:43 -04:00
|
|
|
r_shotgun.FireModes.head.Add.Damage0 = 1
|
2018-01-17 07:51:42 -05:00
|
|
|
r_shotgun.FireModes += new PelletFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
r_shotgun.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
r_shotgun.FireModes(1).AmmoTypeIndices += 1
|
|
|
|
|
r_shotgun.FireModes(1).AmmoSlotIndex = 0
|
2018-01-17 07:51:42 -05:00
|
|
|
r_shotgun.FireModes(1).Magazine = 16
|
|
|
|
|
r_shotgun.FireModes(1).Chamber = 8 //16 shells * 8 pellets = 128
|
2020-07-28 00:02:43 -04:00
|
|
|
r_shotgun.FireModes(1).Add.Damage0 = -3
|
2017-11-26 00:00:41 -05:00
|
|
|
r_shotgun.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
lasher.Name = "lasher"
|
2017-11-26 00:00:41 -05:00
|
|
|
lasher.Size = EquipmentSize.Rifle
|
|
|
|
|
lasher.AmmoTypes += energy_cell
|
2018-06-12 21:51:53 -04:00
|
|
|
lasher.ProjectileTypes += lasher_projectile
|
|
|
|
|
lasher.ProjectileTypes += lasher_projectile_ap
|
2017-11-26 00:00:41 -05:00
|
|
|
lasher.FireModes += new FireModeDefinition
|
|
|
|
|
lasher.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
lasher.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
lasher.FireModes.head.Magazine = 35
|
|
|
|
|
lasher.FireModes += new FireModeDefinition
|
|
|
|
|
lasher.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
lasher.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
lasher.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
lasher.FireModes(1).Magazine = 35
|
|
|
|
|
lasher.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
maelstrom.Name = "maelstrom"
|
2017-11-26 00:00:41 -05:00
|
|
|
maelstrom.Size = EquipmentSize.Rifle
|
|
|
|
|
maelstrom.AmmoTypes += maelstrom_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
maelstrom.ProjectileTypes += maelstrom_stream_projectile
|
|
|
|
|
maelstrom.ProjectileTypes += maelstrom_grenade_projectile_contact
|
|
|
|
|
maelstrom.ProjectileTypes += maelstrom_grenade_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
maelstrom.FireModes += new FireModeDefinition
|
|
|
|
|
maelstrom.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
maelstrom.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
maelstrom.FireModes.head.Magazine = 150
|
|
|
|
|
maelstrom.FireModes += new FireModeDefinition
|
|
|
|
|
maelstrom.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
maelstrom.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
maelstrom.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
maelstrom.FireModes(1).Magazine = 150
|
2020-07-28 00:02:43 -04:00
|
|
|
maelstrom.FireModes(1).RoundsPerShot = 10
|
2017-11-26 00:00:41 -05:00
|
|
|
maelstrom.FireModes += new FireModeDefinition
|
|
|
|
|
maelstrom.FireModes(2).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
maelstrom.FireModes(2).ProjectileTypeIndices += 2
|
2017-11-26 00:00:41 -05:00
|
|
|
maelstrom.FireModes(2).AmmoSlotIndex = 0
|
|
|
|
|
maelstrom.FireModes(2).Magazine = 150
|
2020-07-28 00:02:43 -04:00
|
|
|
maelstrom.FireModes(2).RoundsPerShot = 10
|
2017-11-26 00:00:41 -05:00
|
|
|
maelstrom.Tile = InventoryTile.Tile93
|
2018-01-17 07:51:42 -05:00
|
|
|
//TODO the maelstrom is weird
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
phoenix.Name = "phoenix"
|
2017-11-26 00:00:41 -05:00
|
|
|
phoenix.Size = EquipmentSize.Rifle
|
|
|
|
|
phoenix.AmmoTypes += phoenix_missile
|
2018-06-12 21:51:53 -04:00
|
|
|
phoenix.ProjectileTypes += phoenix_missile_projectile
|
|
|
|
|
phoenix.ProjectileTypes += phoenix_missile_guided_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
phoenix.FireModes += new FireModeDefinition
|
|
|
|
|
phoenix.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
phoenix.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
phoenix.FireModes.head.Magazine = 3
|
|
|
|
|
phoenix.FireModes += new FireModeDefinition
|
|
|
|
|
phoenix.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
phoenix.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
phoenix.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
phoenix.FireModes(1).Magazine = 3
|
|
|
|
|
phoenix.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
striker.Name = "striker"
|
2017-11-26 00:00:41 -05:00
|
|
|
striker.Size = EquipmentSize.Rifle
|
|
|
|
|
striker.AmmoTypes += striker_missile_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
striker.ProjectileTypes += striker_missile_targeting_projectile
|
|
|
|
|
striker.ProjectileTypes += striker_missile_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
striker.FireModes += new FireModeDefinition
|
|
|
|
|
striker.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
striker.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
striker.FireModes.head.Magazine = 5
|
|
|
|
|
striker.FireModes += new FireModeDefinition
|
|
|
|
|
striker.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
striker.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
striker.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
striker.FireModes(1).Magazine = 5
|
|
|
|
|
striker.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
hunterseeker.Name = "hunterseeker"
|
2017-11-26 00:00:41 -05:00
|
|
|
hunterseeker.Size = EquipmentSize.Rifle
|
|
|
|
|
hunterseeker.AmmoTypes += hunter_seeker_missile
|
2018-06-12 21:51:53 -04:00
|
|
|
hunterseeker.ProjectileTypes += hunter_seeker_missile_projectile
|
|
|
|
|
hunterseeker.ProjectileTypes += hunter_seeker_missile_dumbfire
|
2017-11-26 00:00:41 -05:00
|
|
|
hunterseeker.FireModes += new FireModeDefinition
|
|
|
|
|
hunterseeker.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
hunterseeker.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
hunterseeker.FireModes.head.Magazine = 1
|
|
|
|
|
hunterseeker.FireModes += new FireModeDefinition
|
|
|
|
|
hunterseeker.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
hunterseeker.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
hunterseeker.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
hunterseeker.FireModes(1).Magazine = 1
|
|
|
|
|
hunterseeker.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
lancer.Name = "lancer"
|
2017-11-26 00:00:41 -05:00
|
|
|
lancer.Size = EquipmentSize.Rifle
|
|
|
|
|
lancer.AmmoTypes += lancer_cartridge
|
2018-06-12 21:51:53 -04:00
|
|
|
lancer.ProjectileTypes += lancer_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
lancer.FireModes += new FireModeDefinition
|
|
|
|
|
lancer.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
lancer.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
lancer.FireModes.head.Magazine = 6
|
|
|
|
|
lancer.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
rocklet.Name = "rocklet"
|
2017-11-26 00:00:41 -05:00
|
|
|
rocklet.Size = EquipmentSize.Rifle
|
|
|
|
|
rocklet.AmmoTypes += rocket
|
|
|
|
|
rocklet.AmmoTypes += frag_cartridge
|
2018-06-12 21:51:53 -04:00
|
|
|
rocklet.ProjectileTypes += rocket_projectile
|
|
|
|
|
rocklet.ProjectileTypes += rocklet_flak_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
rocklet.FireModes += new FireModeDefinition
|
|
|
|
|
rocklet.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
rocklet.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
rocklet.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
rocklet.FireModes.head.Magazine = 6
|
|
|
|
|
rocklet.FireModes += new FireModeDefinition
|
|
|
|
|
rocklet.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
rocklet.FireModes(1).AmmoTypeIndices += 1
|
|
|
|
|
rocklet.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
rocklet.FireModes(1).Magazine = 6
|
|
|
|
|
rocklet.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
thumper.Name = "thumper"
|
2017-11-26 00:00:41 -05:00
|
|
|
thumper.Size = EquipmentSize.Rifle
|
|
|
|
|
thumper.AmmoTypes += frag_cartridge
|
|
|
|
|
thumper.AmmoTypes += plasma_cartridge
|
|
|
|
|
thumper.AmmoTypes += jammer_cartridge
|
2018-06-12 21:51:53 -04:00
|
|
|
thumper.ProjectileTypes += frag_cartridge_projectile_b
|
|
|
|
|
thumper.ProjectileTypes += plasma_cartridge_projectile_b
|
|
|
|
|
thumper.ProjectileTypes += jammer_cartridge_projectile_b
|
2017-11-26 00:00:41 -05:00
|
|
|
thumper.FireModes += new FireModeDefinition
|
|
|
|
|
thumper.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
thumper.FireModes.head.AmmoTypeIndices += 1
|
|
|
|
|
thumper.FireModes.head.AmmoTypeIndices += 2
|
|
|
|
|
thumper.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
thumper.FireModes.head.Magazine = 6
|
|
|
|
|
thumper.FireModes += new FireModeDefinition
|
|
|
|
|
thumper.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
thumper.FireModes(1).AmmoTypeIndices += 1
|
|
|
|
|
thumper.FireModes(1).AmmoTypeIndices += 2
|
|
|
|
|
thumper.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
thumper.FireModes(1).Magazine = 6
|
|
|
|
|
thumper.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
radiator.Name = "radiator"
|
2017-11-26 00:00:41 -05:00
|
|
|
radiator.Size = EquipmentSize.Rifle
|
|
|
|
|
radiator.AmmoTypes += ancient_ammo_combo
|
2018-06-12 21:51:53 -04:00
|
|
|
radiator.ProjectileTypes += radiator_grenade_projectile
|
|
|
|
|
radiator.ProjectileTypes += radiator_sticky_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
radiator.FireModes += new FireModeDefinition
|
|
|
|
|
radiator.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
radiator.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
radiator.FireModes.head.Magazine = 25
|
|
|
|
|
radiator.FireModes += new FireModeDefinition
|
|
|
|
|
radiator.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
radiator.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
radiator.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
radiator.FireModes(1).Magazine = 25
|
|
|
|
|
radiator.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
heavy_sniper.Name = "heavy_sniper"
|
2017-11-26 00:00:41 -05:00
|
|
|
heavy_sniper.Size = EquipmentSize.Rifle
|
|
|
|
|
heavy_sniper.AmmoTypes += bolt
|
2018-06-12 21:51:53 -04:00
|
|
|
heavy_sniper.ProjectileTypes += heavy_sniper_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
heavy_sniper.FireModes += new FireModeDefinition
|
|
|
|
|
heavy_sniper.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
heavy_sniper.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
heavy_sniper.FireModes.head.Magazine = 10
|
|
|
|
|
heavy_sniper.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
bolt_driver.Name = "bolt_driver"
|
2017-11-26 00:00:41 -05:00
|
|
|
bolt_driver.Size = EquipmentSize.Rifle
|
|
|
|
|
bolt_driver.AmmoTypes += bolt
|
2018-06-12 21:51:53 -04:00
|
|
|
bolt_driver.ProjectileTypes += bolt_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
bolt_driver.FireModes += new FireModeDefinition
|
|
|
|
|
bolt_driver.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
bolt_driver.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
bolt_driver.FireModes.head.Magazine = 1
|
|
|
|
|
bolt_driver.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
oicw.Name = "oicw"
|
2017-11-26 00:00:41 -05:00
|
|
|
oicw.Size = EquipmentSize.Rifle
|
|
|
|
|
oicw.AmmoTypes += oicw_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
oicw.ProjectileTypes += oicw_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
oicw.FireModes += new FireModeDefinition
|
|
|
|
|
oicw.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
oicw.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
oicw.FireModes.head.Magazine = 1
|
|
|
|
|
oicw.FireModes += new FireModeDefinition
|
|
|
|
|
oicw.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
oicw.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
oicw.FireModes(1).Magazine = 1
|
|
|
|
|
oicw.Tile = InventoryTile.Tile93
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
flamethrower.Name = "flamethrower"
|
2017-11-26 00:00:41 -05:00
|
|
|
flamethrower.Size = EquipmentSize.Rifle
|
|
|
|
|
flamethrower.AmmoTypes += flamethrower_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
flamethrower.ProjectileTypes += flamethrower_projectile
|
|
|
|
|
flamethrower.ProjectileTypes += flamethrower_fireball
|
2017-11-26 00:00:41 -05:00
|
|
|
flamethrower.FireModes += new FireModeDefinition
|
|
|
|
|
flamethrower.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
flamethrower.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
flamethrower.FireModes.head.Magazine = 100
|
|
|
|
|
flamethrower.FireModes += new FireModeDefinition
|
|
|
|
|
flamethrower.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
flamethrower.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
flamethrower.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
flamethrower.FireModes(1).Magazine = 100
|
2020-07-28 00:02:43 -04:00
|
|
|
flamethrower.FireModes(1).RoundsPerShot = 50
|
2020-08-04 23:08:57 -04:00
|
|
|
flamethrower.Tile = InventoryTile.Tile93
|
2017-12-30 19:28:43 -05:00
|
|
|
|
2019-10-22 17:15:46 +01:00
|
|
|
winchester.Name = "winchester"
|
|
|
|
|
winchester.Size = EquipmentSize.Rifle
|
|
|
|
|
winchester.AmmoTypes += winchester_ammo
|
|
|
|
|
winchester.ProjectileTypes += winchester_projectile
|
|
|
|
|
winchester.FireModes += new FireModeDefinition
|
|
|
|
|
winchester.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
winchester.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
winchester.FireModes.head.Magazine = 1
|
|
|
|
|
winchester.Tile = InventoryTile.Tile93
|
|
|
|
|
|
|
|
|
|
pellet_gun.Name = "pellet_gun"
|
|
|
|
|
pellet_gun.Size = EquipmentSize.Rifle
|
|
|
|
|
pellet_gun.AmmoTypes += pellet_gun_ammo
|
|
|
|
|
pellet_gun.ProjectileTypes += pellet_gun_projectile
|
|
|
|
|
pellet_gun.FireModes += new PelletFireModeDefinition
|
|
|
|
|
pellet_gun.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
pellet_gun.FireModes.head.AmmoSlotIndex = 0
|
2020-09-05 09:08:18 -04:00
|
|
|
pellet_gun.FireModes.head.Magazine = 1 //what is this?
|
2021-04-16 21:37:20 +02:00
|
|
|
pellet_gun.FireModes.head.Chamber = 8 //1 shell * 8 pellets = 8
|
2019-10-22 17:15:46 +01:00
|
|
|
pellet_gun.Tile = InventoryTile.Tile63
|
|
|
|
|
|
|
|
|
|
six_shooter.Name = "six_shooter"
|
|
|
|
|
six_shooter.Size = EquipmentSize.Pistol
|
|
|
|
|
six_shooter.AmmoTypes += six_shooter_ammo
|
|
|
|
|
six_shooter.ProjectileTypes += six_shooter_projectile
|
|
|
|
|
six_shooter.FireModes += new FireModeDefinition
|
|
|
|
|
six_shooter.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
six_shooter.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
six_shooter.FireModes.head.Magazine = 6
|
|
|
|
|
six_shooter.Tile = InventoryTile.Tile33
|
|
|
|
|
|
|
|
|
|
dynomite.Name = "dynomite"
|
|
|
|
|
dynomite.Size = EquipmentSize.Pistol
|
|
|
|
|
dynomite.AmmoTypes += frag_grenade_ammo
|
|
|
|
|
dynomite.ProjectileTypes += dynomite_projectile
|
|
|
|
|
dynomite.FireModes += new FireModeDefinition
|
|
|
|
|
dynomite.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
dynomite.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
dynomite.FireModes.head.Magazine = 1
|
|
|
|
|
dynomite.Tile = InventoryTile.Tile22
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
trhev_dualcycler.Name = "trhev_dualcycler"
|
2017-12-11 18:17:05 -05:00
|
|
|
trhev_dualcycler.Size = EquipmentSize.Max
|
2017-12-30 19:28:43 -05:00
|
|
|
trhev_dualcycler.AmmoTypes += dualcycler_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
trhev_dualcycler.ProjectileTypes += dualcycler_projectile
|
2017-12-11 18:17:05 -05:00
|
|
|
trhev_dualcycler.FireModes += new FireModeDefinition
|
|
|
|
|
trhev_dualcycler.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
trhev_dualcycler.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
trhev_dualcycler.FireModes.head.Magazine = 200
|
2018-05-18 15:33:39 -04:00
|
|
|
trhev_dualcycler.FireModes += new FireModeDefinition //anchored
|
|
|
|
|
trhev_dualcycler.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
trhev_dualcycler.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
trhev_dualcycler.FireModes(1).Magazine = 200
|
|
|
|
|
trhev_dualcycler.FireModes += new FireModeDefinition //overdrive?
|
|
|
|
|
trhev_dualcycler.FireModes(2).AmmoTypeIndices += 0
|
|
|
|
|
trhev_dualcycler.FireModes(2).AmmoSlotIndex = 0
|
|
|
|
|
trhev_dualcycler.FireModes(2).Magazine = 200
|
2017-12-30 19:28:43 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
trhev_pounder.Name = "trhev_pounder"
|
2017-12-11 18:17:05 -05:00
|
|
|
trhev_pounder.Size = EquipmentSize.Max
|
2017-12-30 19:28:43 -05:00
|
|
|
trhev_pounder.AmmoTypes += pounder_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
trhev_pounder.ProjectileTypes += pounder_projectile
|
|
|
|
|
trhev_pounder.ProjectileTypes += pounder_projectile_enh
|
2017-12-11 18:17:05 -05:00
|
|
|
trhev_pounder.FireModes += new FireModeDefinition
|
2018-05-18 15:33:39 -04:00
|
|
|
trhev_pounder.FireModes.head.AmmoTypeIndices += 0 //explode on contact
|
2017-12-11 18:17:05 -05:00
|
|
|
trhev_pounder.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
trhev_pounder.FireModes.head.Magazine = 30
|
2018-05-18 15:33:39 -04:00
|
|
|
trhev_pounder.FireModes += new FireModeDefinition //explode on contact, anchored
|
2017-12-30 19:28:43 -05:00
|
|
|
trhev_pounder.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
trhev_pounder.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
trhev_pounder.FireModes(1).Magazine = 30
|
2018-05-18 15:33:39 -04:00
|
|
|
trhev_pounder.FireModes += new FireModeDefinition //explode on contact, overdrive?
|
|
|
|
|
trhev_pounder.FireModes(2).AmmoTypeIndices += 0
|
|
|
|
|
trhev_pounder.FireModes(2).AmmoSlotIndex = 0
|
|
|
|
|
trhev_pounder.FireModes(2).Magazine = 30
|
|
|
|
|
trhev_pounder.FireModes += new FireModeDefinition //3-second fuse
|
|
|
|
|
trhev_pounder.FireModes(3).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
trhev_pounder.FireModes(3).ProjectileTypeIndices += 1
|
2018-05-18 15:33:39 -04:00
|
|
|
trhev_pounder.FireModes(3).AmmoSlotIndex = 0
|
|
|
|
|
trhev_pounder.FireModes(3).Magazine = 30
|
|
|
|
|
trhev_pounder.FireModes += new FireModeDefinition //3-second fuse, anchored
|
|
|
|
|
trhev_pounder.FireModes(4).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
trhev_pounder.FireModes(4).ProjectileTypeIndices += 1
|
2018-05-18 15:33:39 -04:00
|
|
|
trhev_pounder.FireModes(4).AmmoSlotIndex = 0
|
|
|
|
|
trhev_pounder.FireModes(4).Magazine = 30
|
|
|
|
|
trhev_pounder.FireModes += new FireModeDefinition //3-second fuse, overdrive?
|
|
|
|
|
trhev_pounder.FireModes(5).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
trhev_pounder.FireModes(5).ProjectileTypeIndices += 1
|
2018-05-18 15:33:39 -04:00
|
|
|
trhev_pounder.FireModes(5).AmmoSlotIndex = 0
|
|
|
|
|
trhev_pounder.FireModes(5).Magazine = 30
|
2017-12-30 19:28:43 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
trhev_burster.Name = "trhev_burster"
|
2017-12-11 18:17:05 -05:00
|
|
|
trhev_burster.Size = EquipmentSize.Max
|
2017-12-30 19:28:43 -05:00
|
|
|
trhev_burster.AmmoTypes += burster_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
trhev_burster.ProjectileTypes += burster_projectile
|
2017-12-11 18:17:05 -05:00
|
|
|
trhev_burster.FireModes += new FireModeDefinition
|
|
|
|
|
trhev_burster.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
trhev_burster.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
trhev_burster.FireModes.head.Magazine = 40
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
nchev_scattercannon.Name = "nchev_scattercannon"
|
2017-12-30 19:28:43 -05:00
|
|
|
nchev_scattercannon.Size = EquipmentSize.Max
|
|
|
|
|
nchev_scattercannon.AmmoTypes += scattercannon_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
nchev_scattercannon.ProjectileTypes += scattercannon_projectile
|
2018-01-17 07:51:42 -05:00
|
|
|
nchev_scattercannon.FireModes += new PelletFireModeDefinition
|
2017-12-30 19:28:43 -05:00
|
|
|
nchev_scattercannon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
nchev_scattercannon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
nchev_scattercannon.FireModes.head.Magazine = 40
|
2020-09-05 09:08:18 -04:00
|
|
|
nchev_scattercannon.FireModes.head.Chamber = 10 //40 shells * 10 pellets = 400
|
2018-01-17 07:51:42 -05:00
|
|
|
nchev_scattercannon.FireModes += new PelletFireModeDefinition
|
2017-12-30 19:28:43 -05:00
|
|
|
nchev_scattercannon.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
nchev_scattercannon.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
nchev_scattercannon.FireModes(1).Magazine = 40
|
2020-09-05 09:08:18 -04:00
|
|
|
nchev_scattercannon.FireModes(1).Chamber = 10 //40 shells * 10 pellets = 400
|
2018-01-17 07:51:42 -05:00
|
|
|
nchev_scattercannon.FireModes += new PelletFireModeDefinition
|
2017-12-30 19:28:43 -05:00
|
|
|
nchev_scattercannon.FireModes(2).AmmoTypeIndices += 0
|
|
|
|
|
nchev_scattercannon.FireModes(2).AmmoSlotIndex = 0
|
|
|
|
|
nchev_scattercannon.FireModes(2).Magazine = 40
|
2020-09-05 09:08:18 -04:00
|
|
|
nchev_scattercannon.FireModes(2).Chamber = 10 //40 shells * 10 pellets = 400
|
2017-12-30 19:28:43 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
nchev_falcon.Name = "nchev_falcon"
|
2017-12-30 19:28:43 -05:00
|
|
|
nchev_falcon.Size = EquipmentSize.Max
|
|
|
|
|
nchev_falcon.AmmoTypes += falcon_ammo
|
2018-11-21 20:31:51 -05:00
|
|
|
nchev_falcon.ProjectileTypes += falcon_projectile
|
2017-12-30 19:28:43 -05:00
|
|
|
nchev_falcon.FireModes += new FireModeDefinition
|
|
|
|
|
nchev_falcon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
nchev_falcon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
nchev_falcon.FireModes.head.Magazine = 20
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
nchev_sparrow.Name = "nchev_sparrow"
|
2017-12-30 19:28:43 -05:00
|
|
|
nchev_sparrow.Size = EquipmentSize.Max
|
|
|
|
|
nchev_sparrow.AmmoTypes += sparrow_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
nchev_sparrow.ProjectileTypes += sparrow_projectile
|
2017-12-30 19:28:43 -05:00
|
|
|
nchev_sparrow.FireModes += new FireModeDefinition
|
|
|
|
|
nchev_sparrow.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
nchev_sparrow.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
nchev_sparrow.FireModes.head.Magazine = 12
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
vshev_quasar.Name = "vshev_quasar"
|
2017-12-30 19:28:43 -05:00
|
|
|
vshev_quasar.Size = EquipmentSize.Max
|
|
|
|
|
vshev_quasar.AmmoTypes += quasar_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
vshev_quasar.ProjectileTypes += quasar_projectile
|
|
|
|
|
vshev_quasar.ProjectileTypes += enhanced_quasar_projectile
|
2017-12-30 19:28:43 -05:00
|
|
|
vshev_quasar.FireModes += new FireModeDefinition
|
|
|
|
|
vshev_quasar.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
vshev_quasar.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
vshev_quasar.FireModes.head.Magazine = 120
|
|
|
|
|
vshev_quasar.FireModes += new FireModeDefinition
|
|
|
|
|
vshev_quasar.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
vshev_quasar.FireModes(1).ProjectileTypeIndices += 1
|
2017-12-30 19:28:43 -05:00
|
|
|
vshev_quasar.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
vshev_quasar.FireModes(1).Magazine = 120
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
vshev_comet.Name = "vshev_comet"
|
2017-12-30 19:28:43 -05:00
|
|
|
vshev_comet.Size = EquipmentSize.Max
|
|
|
|
|
vshev_comet.AmmoTypes += comet_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
vshev_comet.ProjectileTypes += comet_projectile
|
2017-12-30 19:28:43 -05:00
|
|
|
vshev_comet.FireModes += new FireModeDefinition
|
|
|
|
|
vshev_comet.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
vshev_comet.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
vshev_comet.FireModes.head.Magazine = 10
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
vshev_starfire.Name = "vshev_starfire"
|
2017-12-30 19:28:43 -05:00
|
|
|
vshev_starfire.Size = EquipmentSize.Max
|
|
|
|
|
vshev_starfire.AmmoTypes += starfire_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
vshev_starfire.ProjectileTypes += starfire_projectile
|
2017-12-30 19:28:43 -05:00
|
|
|
vshev_starfire.FireModes += new FireModeDefinition
|
|
|
|
|
vshev_starfire.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
vshev_starfire.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
vshev_starfire.FireModes.head.Magazine = 8
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
medicalapplicator.Name = "medicalapplicator"
|
2017-11-26 00:00:41 -05:00
|
|
|
medicalapplicator.Size = EquipmentSize.Pistol
|
|
|
|
|
medicalapplicator.AmmoTypes += health_canister
|
2019-11-15 16:21:35 -05:00
|
|
|
medicalapplicator.ProjectileTypes += no_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
medicalapplicator.FireModes += new FireModeDefinition
|
|
|
|
|
medicalapplicator.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
medicalapplicator.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
medicalapplicator.FireModes.head.Magazine = 100
|
|
|
|
|
medicalapplicator.FireModes += new FireModeDefinition
|
|
|
|
|
medicalapplicator.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
medicalapplicator.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
medicalapplicator.FireModes(1).Magazine = 100
|
|
|
|
|
medicalapplicator.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
nano_dispenser.Name = "nano_dispenser"
|
2017-11-26 00:00:41 -05:00
|
|
|
nano_dispenser.Size = EquipmentSize.Rifle
|
|
|
|
|
nano_dispenser.AmmoTypes += armor_canister
|
|
|
|
|
nano_dispenser.AmmoTypes += upgrade_canister
|
2019-11-15 16:21:35 -05:00
|
|
|
nano_dispenser.ProjectileTypes += no_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
nano_dispenser.FireModes += new FireModeDefinition
|
|
|
|
|
nano_dispenser.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
nano_dispenser.FireModes.head.AmmoTypeIndices += 1
|
2019-11-18 08:22:32 -05:00
|
|
|
nano_dispenser.FireModes.head.ProjectileTypeIndices += 0 //armor_canister
|
|
|
|
|
nano_dispenser.FireModes.head.ProjectileTypeIndices += 0 //upgrade_canister
|
2017-11-26 00:00:41 -05:00
|
|
|
nano_dispenser.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
nano_dispenser.FireModes.head.Magazine = 100
|
2018-07-14 21:25:44 -04:00
|
|
|
nano_dispenser.FireModes.head.CustomMagazine = Ammo.upgrade_canister -> 1
|
2020-07-28 00:02:43 -04:00
|
|
|
nano_dispenser.FireModes.head.Add.Damage0 = 0
|
|
|
|
|
nano_dispenser.FireModes.head.Add.Damage1 = 20
|
|
|
|
|
nano_dispenser.FireModes.head.Add.Damage2 = 0
|
|
|
|
|
nano_dispenser.FireModes.head.Add.Damage3 = 0
|
|
|
|
|
nano_dispenser.FireModes.head.Add.Damage4 = 20
|
2017-11-26 00:00:41 -05:00
|
|
|
nano_dispenser.Tile = InventoryTile.Tile63
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
bank.Name = "bank"
|
2017-11-26 00:00:41 -05:00
|
|
|
bank.Size = EquipmentSize.Pistol
|
|
|
|
|
bank.AmmoTypes += armor_canister
|
2019-11-15 16:21:35 -05:00
|
|
|
bank.ProjectileTypes += no_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
bank.FireModes += new FireModeDefinition
|
|
|
|
|
bank.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
bank.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
bank.FireModes.head.Magazine = 100
|
|
|
|
|
bank.FireModes += new FireModeDefinition
|
|
|
|
|
bank.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
bank.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
bank.FireModes(1).Magazine = 100
|
|
|
|
|
bank.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
remote_electronics_kit.Name = "remote_electronics_kit"
|
2017-11-26 00:00:41 -05:00
|
|
|
remote_electronics_kit.Packet = new REKConverter
|
|
|
|
|
remote_electronics_kit.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-09-23 08:00:58 -04:00
|
|
|
boomer_trigger.Name = "boomer_trigger"
|
|
|
|
|
boomer_trigger.Packet = new BoomerTriggerConverter
|
|
|
|
|
boomer_trigger.Tile = InventoryTile.Tile22
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
trek.Name = "trek"
|
2017-11-26 00:00:41 -05:00
|
|
|
trek.Size = EquipmentSize.Pistol
|
|
|
|
|
trek.AmmoTypes += trek_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
trek.ProjectileTypes += trek_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
trek.FireModes += new FireModeDefinition
|
|
|
|
|
trek.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
trek.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
trek.FireModes.head.Magazine = 4
|
2018-01-17 07:51:42 -05:00
|
|
|
trek.FireModes += new InfiniteFireModeDefinition
|
2017-11-26 00:00:41 -05:00
|
|
|
trek.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
trek.FireModes(1).AmmoSlotIndex = 0
|
2018-01-10 14:19:45 -05:00
|
|
|
trek.FireModes(1).Magazine = 1
|
2017-11-26 00:00:41 -05:00
|
|
|
trek.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
flail_targeting_laser.Name = "flail_targeting_laser"
|
2017-11-26 00:00:41 -05:00
|
|
|
flail_targeting_laser.Packet = new CommandDetonaterConverter
|
|
|
|
|
flail_targeting_laser.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
command_detonater.Name = "command_detonater"
|
2017-11-26 00:00:41 -05:00
|
|
|
command_detonater.Packet = new CommandDetonaterConverter
|
|
|
|
|
command_detonater.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
ace.Name = "ace"
|
2018-09-23 08:00:58 -04:00
|
|
|
ace.Size = EquipmentSize.Pistol
|
|
|
|
|
ace.Modes += new ConstructionFireMode
|
2020-08-01 12:25:03 +02:00
|
|
|
ace.Modes.head.Item(DeployedItem.boomer, Set(Certification.CombatEngineering))
|
2018-09-23 08:00:58 -04:00
|
|
|
ace.Modes += new ConstructionFireMode
|
2020-08-01 12:25:03 +02:00
|
|
|
ace.Modes(1).Item(DeployedItem.he_mine, Set(Certification.CombatEngineering))
|
|
|
|
|
ace.Modes(1).Item(DeployedItem.jammer_mine, Set(Certification.AssaultEngineering))
|
2018-09-23 08:00:58 -04:00
|
|
|
ace.Modes += new ConstructionFireMode
|
2020-08-01 12:25:03 +02:00
|
|
|
ace.Modes(2).Item(DeployedItem.spitfire_turret, Set(Certification.CombatEngineering))
|
|
|
|
|
ace.Modes(2).Item(DeployedItem.spitfire_cloaked, Set(Certification.FortificationEngineering))
|
|
|
|
|
ace.Modes(2).Item(DeployedItem.spitfire_aa, Set(Certification.FortificationEngineering))
|
2018-09-23 08:00:58 -04:00
|
|
|
ace.Modes += new ConstructionFireMode
|
2020-08-01 12:25:03 +02:00
|
|
|
ace.Modes(3).Item(DeployedItem.motionalarmsensor, Set(Certification.CombatEngineering))
|
|
|
|
|
ace.Modes(3).Item(DeployedItem.sensor_shield, Set(Certification.AdvancedHacking, Certification.CombatEngineering))
|
2017-11-26 00:00:41 -05:00
|
|
|
ace.Tile = InventoryTile.Tile33
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
advanced_ace.Name = "advanced_ace"
|
2018-09-23 08:00:58 -04:00
|
|
|
advanced_ace.Size = EquipmentSize.Rifle
|
|
|
|
|
advanced_ace.Modes += new ConstructionFireMode
|
2020-08-01 12:25:03 +02:00
|
|
|
advanced_ace.Modes.head.Item(DeployedItem.tank_traps, Set(Certification.FortificationEngineering))
|
2018-09-23 08:00:58 -04:00
|
|
|
advanced_ace.Modes += new ConstructionFireMode
|
2020-08-01 12:25:03 +02:00
|
|
|
advanced_ace.Modes(1).Item(DeployedItem.portable_manned_turret, Set(Certification.AssaultEngineering))
|
2018-09-23 08:00:58 -04:00
|
|
|
advanced_ace.Modes += new ConstructionFireMode
|
2020-08-01 12:25:03 +02:00
|
|
|
advanced_ace.Modes(2).Item(DeployedItem.deployable_shield_generator, Set(Certification.AssaultEngineering))
|
2018-09-23 08:00:58 -04:00
|
|
|
advanced_ace.Tile = InventoryTile.Tile93
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-10-17 12:36:43 -04:00
|
|
|
router_telepad.Name = "router_telepad"
|
|
|
|
|
router_telepad.Size = EquipmentSize.Pistol
|
|
|
|
|
router_telepad.Modes += new ConstructionFireMode
|
2020-08-01 12:25:03 +02:00
|
|
|
router_telepad.Modes.head.Item(DeployedItem.router_telepad_deployable, Set(Certification.GroundSupport))
|
2018-10-17 12:36:43 -04:00
|
|
|
router_telepad.Tile = InventoryTile.Tile33
|
|
|
|
|
router_telepad.Packet = new TelepadConverter
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
fury_weapon_systema.Name = "fury_weapon_systema"
|
2017-11-26 00:00:41 -05:00
|
|
|
fury_weapon_systema.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
fury_weapon_systema.AmmoTypes += hellfire_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
fury_weapon_systema.ProjectileTypes += hellfire_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
fury_weapon_systema.FireModes += new FireModeDefinition
|
|
|
|
|
fury_weapon_systema.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
fury_weapon_systema.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
fury_weapon_systema.FireModes.head.Magazine = 2
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
quadassault_weapon_system.Name = "quadassault_weapon_system"
|
2017-11-26 00:00:41 -05:00
|
|
|
quadassault_weapon_system.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
quadassault_weapon_system.AmmoTypes += bullet_12mm
|
2018-06-12 21:51:53 -04:00
|
|
|
quadassault_weapon_system.ProjectileTypes += bullet_12mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
quadassault_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
quadassault_weapon_system.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
quadassault_weapon_system.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
quadassault_weapon_system.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
scythe.Name = "scythe"
|
2017-11-26 00:00:41 -05:00
|
|
|
scythe.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
scythe.AmmoTypes += ancient_ammo_vehicle
|
|
|
|
|
scythe.AmmoTypes += ancient_ammo_vehicle
|
2018-06-12 21:51:53 -04:00
|
|
|
scythe.ProjectileTypes += scythe_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
scythe.FireModes += new FireModeDefinition
|
|
|
|
|
scythe.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
scythe.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
scythe.FireModes.head.Magazine = 250
|
|
|
|
|
scythe.FireModes += new FireModeDefinition
|
|
|
|
|
scythe.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
scythe.FireModes(1).ProjectileTypeIndices += 0
|
2020-07-14 05:54:05 +02:00
|
|
|
scythe.FireModes(1).AmmoSlotIndex =
|
|
|
|
|
1 //note: the scythe has two magazines using a single pool; however, it can not ammo-switch or mode-switch
|
2017-11-26 00:00:41 -05:00
|
|
|
scythe.FireModes(1).Magazine = 250
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
chaingun_p.Name = "chaingun_p"
|
2017-11-26 00:00:41 -05:00
|
|
|
chaingun_p.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
chaingun_p.AmmoTypes += bullet_12mm
|
2018-06-12 21:51:53 -04:00
|
|
|
chaingun_p.ProjectileTypes += bullet_12mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
chaingun_p.FireModes += new FireModeDefinition
|
|
|
|
|
chaingun_p.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
chaingun_p.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
chaingun_p.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
skyguard_weapon_system.Name = "skyguard_weapon_system"
|
2017-11-26 00:00:41 -05:00
|
|
|
skyguard_weapon_system.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
skyguard_weapon_system.AmmoTypes += skyguard_flak_cannon_ammo
|
|
|
|
|
skyguard_weapon_system.AmmoTypes += bullet_12mm
|
2018-06-12 21:51:53 -04:00
|
|
|
skyguard_weapon_system.ProjectileTypes += skyguard_flak_cannon_projectile
|
|
|
|
|
skyguard_weapon_system.ProjectileTypes += bullet_12mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
skyguard_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
skyguard_weapon_system.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
skyguard_weapon_system.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
skyguard_weapon_system.FireModes.head.Magazine = 40
|
|
|
|
|
skyguard_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
skyguard_weapon_system.FireModes(1).AmmoTypeIndices += 1
|
|
|
|
|
skyguard_weapon_system.FireModes(1).AmmoSlotIndex = 1
|
2017-12-11 18:17:05 -05:00
|
|
|
skyguard_weapon_system.FireModes(1).Magazine = 250
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
grenade_launcher_marauder.Name = "grenade_launcher_marauder"
|
2017-11-26 00:00:41 -05:00
|
|
|
grenade_launcher_marauder.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
grenade_launcher_marauder.AmmoTypes += heavy_grenade_mortar
|
2018-06-12 21:51:53 -04:00
|
|
|
grenade_launcher_marauder.ProjectileTypes += heavy_grenade_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
grenade_launcher_marauder.FireModes += new FireModeDefinition
|
|
|
|
|
grenade_launcher_marauder.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
grenade_launcher_marauder.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
grenade_launcher_marauder.FireModes.head.Magazine = 50
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
advanced_missile_launcher_t.Name = "advanced_missile_launcher_t"
|
2017-11-26 00:00:41 -05:00
|
|
|
advanced_missile_launcher_t.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
advanced_missile_launcher_t.AmmoTypes += firebird_missile
|
2018-06-12 21:51:53 -04:00
|
|
|
advanced_missile_launcher_t.ProjectileTypes += firebird_missile_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
advanced_missile_launcher_t.FireModes += new FireModeDefinition
|
|
|
|
|
advanced_missile_launcher_t.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
advanced_missile_launcher_t.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
advanced_missile_launcher_t.FireModes.head.Magazine = 40
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
flux_cannon_thresher.Name = "flux_cannon_thresher"
|
2017-11-26 00:00:41 -05:00
|
|
|
flux_cannon_thresher.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
flux_cannon_thresher.AmmoTypes += flux_cannon_thresher_battery
|
2018-06-12 21:51:53 -04:00
|
|
|
flux_cannon_thresher.ProjectileTypes += flux_cannon_thresher_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
flux_cannon_thresher.FireModes += new FireModeDefinition
|
|
|
|
|
flux_cannon_thresher.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
flux_cannon_thresher.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
flux_cannon_thresher.FireModes.head.Magazine = 100
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
mediumtransport_weapon_systemA.Name = "mediumtransport_weapon_systemA"
|
2017-11-26 00:00:41 -05:00
|
|
|
mediumtransport_weapon_systemA.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
mediumtransport_weapon_systemA.AmmoTypes += bullet_20mm
|
2018-06-12 21:51:53 -04:00
|
|
|
mediumtransport_weapon_systemA.ProjectileTypes += bullet_20mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
mediumtransport_weapon_systemA.FireModes += new FireModeDefinition
|
|
|
|
|
mediumtransport_weapon_systemA.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
mediumtransport_weapon_systemA.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
mediumtransport_weapon_systemA.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
mediumtransport_weapon_systemB.Name = "mediumtransport_weapon_systemB"
|
2017-11-26 00:00:41 -05:00
|
|
|
mediumtransport_weapon_systemB.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
mediumtransport_weapon_systemB.AmmoTypes += bullet_20mm
|
2018-06-12 21:51:53 -04:00
|
|
|
mediumtransport_weapon_systemB.ProjectileTypes += bullet_20mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
mediumtransport_weapon_systemB.FireModes += new FireModeDefinition
|
|
|
|
|
mediumtransport_weapon_systemB.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
mediumtransport_weapon_systemB.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
mediumtransport_weapon_systemB.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
battlewagon_weapon_systema.Name = "battlewagon_weapon_systema"
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon_weapon_systema.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
battlewagon_weapon_systema.AmmoTypes += bullet_15mm
|
2018-06-12 21:51:53 -04:00
|
|
|
battlewagon_weapon_systema.ProjectileTypes += bullet_15mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon_weapon_systema.FireModes += new FireModeDefinition
|
|
|
|
|
battlewagon_weapon_systema.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
battlewagon_weapon_systema.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
battlewagon_weapon_systema.FireModes.head.Magazine = 240
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
battlewagon_weapon_systemb.Name = "battlewagon_weapon_systemb"
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon_weapon_systemb.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
battlewagon_weapon_systemb.AmmoTypes += bullet_15mm
|
2018-06-12 21:51:53 -04:00
|
|
|
battlewagon_weapon_systemb.ProjectileTypes += bullet_15mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon_weapon_systemb.FireModes += new FireModeDefinition
|
|
|
|
|
battlewagon_weapon_systemb.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
battlewagon_weapon_systemb.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
battlewagon_weapon_systemb.FireModes.head.Magazine = 240
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
battlewagon_weapon_systemc.Name = "battlewagon_weapon_systemc"
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon_weapon_systemc.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
battlewagon_weapon_systemc.AmmoTypes += bullet_15mm
|
2018-06-12 21:51:53 -04:00
|
|
|
battlewagon_weapon_systemc.ProjectileTypes += bullet_15mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon_weapon_systemc.FireModes += new FireModeDefinition
|
|
|
|
|
battlewagon_weapon_systemc.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
battlewagon_weapon_systemc.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
battlewagon_weapon_systemc.FireModes.head.Magazine = 240
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
battlewagon_weapon_systemd.Name = "battlewagon_weapon_systemd"
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon_weapon_systemd.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
battlewagon_weapon_systemd.AmmoTypes += bullet_15mm
|
2018-06-12 21:51:53 -04:00
|
|
|
battlewagon_weapon_systemd.ProjectileTypes += bullet_15mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon_weapon_systemd.FireModes += new FireModeDefinition
|
|
|
|
|
battlewagon_weapon_systemd.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
battlewagon_weapon_systemd.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
battlewagon_weapon_systemd.FireModes.head.Magazine = 240
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
thunderer_weapon_systema.Name = "thunderer_weapon_systema"
|
2017-11-26 00:00:41 -05:00
|
|
|
thunderer_weapon_systema.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
thunderer_weapon_systema.AmmoTypes += gauss_cannon_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
thunderer_weapon_systema.ProjectileTypes += gauss_cannon_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
thunderer_weapon_systema.FireModes += new FireModeDefinition
|
|
|
|
|
thunderer_weapon_systema.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
thunderer_weapon_systema.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
thunderer_weapon_systema.FireModes.head.Magazine = 15
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
thunderer_weapon_systemb.Name = "thunderer_weapon_systemb"
|
2017-11-26 00:00:41 -05:00
|
|
|
thunderer_weapon_systemb.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
thunderer_weapon_systemb.AmmoTypes += gauss_cannon_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
thunderer_weapon_systemb.ProjectileTypes += gauss_cannon_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
thunderer_weapon_systemb.FireModes += new FireModeDefinition
|
|
|
|
|
thunderer_weapon_systemb.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
thunderer_weapon_systemb.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
thunderer_weapon_systemb.FireModes.head.Magazine = 15
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
aurora_weapon_systema.Name = "aurora_weapon_systema"
|
2017-11-26 00:00:41 -05:00
|
|
|
aurora_weapon_systema.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
aurora_weapon_systema.AmmoTypes += fluxpod_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
aurora_weapon_systema.ProjectileTypes += fluxpod_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
aurora_weapon_systema.FireModes += new FireModeDefinition
|
|
|
|
|
aurora_weapon_systema.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
aurora_weapon_systema.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
aurora_weapon_systema.FireModes.head.Magazine = 12
|
|
|
|
|
aurora_weapon_systema.FireModes += new FireModeDefinition
|
|
|
|
|
aurora_weapon_systema.FireModes(1).AmmoTypeIndices += 0
|
2018-01-20 15:11:11 -05:00
|
|
|
aurora_weapon_systema.FireModes(1).AmmoSlotIndex = 0
|
2017-11-26 00:00:41 -05:00
|
|
|
aurora_weapon_systema.FireModes(1).Magazine = 12
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
aurora_weapon_systemb.Name = "aurora_weapon_systemb"
|
2017-11-26 00:00:41 -05:00
|
|
|
aurora_weapon_systemb.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
aurora_weapon_systemb.AmmoTypes += fluxpod_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
aurora_weapon_systemb.ProjectileTypes += fluxpod_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
aurora_weapon_systemb.FireModes += new FireModeDefinition
|
|
|
|
|
aurora_weapon_systemb.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
aurora_weapon_systemb.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
aurora_weapon_systemb.FireModes.head.Magazine = 12
|
|
|
|
|
aurora_weapon_systemb.FireModes += new FireModeDefinition
|
|
|
|
|
aurora_weapon_systemb.FireModes(1).AmmoTypeIndices += 0
|
2018-01-20 15:11:11 -05:00
|
|
|
aurora_weapon_systemb.FireModes(1).AmmoSlotIndex = 0
|
2017-11-26 00:00:41 -05:00
|
|
|
aurora_weapon_systemb.FireModes(1).Magazine = 12
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_weapon_systema.Name = "apc_weapon_systema"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systema.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_weapon_systema.AmmoTypes += bullet_75mm
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_weapon_systema.ProjectileTypes += bullet_75mm_apc_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systema.FireModes += new FireModeDefinition
|
|
|
|
|
apc_weapon_systema.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_weapon_systema.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_weapon_systema.FireModes.head.Magazine = 50
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_weapon_systemb.Name = "apc_weapon_systemb"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemb.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_weapon_systemb.AmmoTypes += bullet_75mm
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_weapon_systemb.ProjectileTypes += bullet_75mm_apc_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemb.FireModes += new FireModeDefinition
|
|
|
|
|
apc_weapon_systemb.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_weapon_systemb.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_weapon_systemb.FireModes.head.Magazine = 50
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_ballgun_r.Name = "apc_ballgun_r"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_ballgun_r.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_ballgun_r.AmmoTypes += bullet_12mm
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_ballgun_r.ProjectileTypes += bullet_12mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_ballgun_r.FireModes += new FireModeDefinition
|
|
|
|
|
apc_ballgun_r.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_ballgun_r.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_ballgun_r.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_ballgun_l.Name = "apc_ballgun_l"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_ballgun_l.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_ballgun_l.AmmoTypes += bullet_12mm
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_ballgun_l.ProjectileTypes += bullet_12mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_ballgun_l.FireModes += new FireModeDefinition
|
|
|
|
|
apc_ballgun_l.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_ballgun_l.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_ballgun_l.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_weapon_systemc_tr.Name = "apc_weapon_systemc_tr"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemc_tr.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_weapon_systemc_tr.AmmoTypes += bullet_15mm
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_weapon_systemc_tr.ProjectileTypes += bullet_15mm_apc_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemc_tr.FireModes += new FireModeDefinition
|
|
|
|
|
apc_weapon_systemc_tr.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_weapon_systemc_tr.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_weapon_systemc_tr.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_weapon_systemd_tr.Name = "apc_weapon_systemd_tr"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemd_tr.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_weapon_systemd_tr.AmmoTypes += bullet_15mm
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_weapon_systemd_tr.ProjectileTypes += bullet_15mm_apc_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemd_tr.FireModes += new FireModeDefinition
|
|
|
|
|
apc_weapon_systemd_tr.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_weapon_systemd_tr.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_weapon_systemd_tr.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_weapon_systemc_nc.Name = "apc_weapon_systemc_nc"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemc_nc.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_weapon_systemc_nc.AmmoTypes += bullet_20mm
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_weapon_systemc_nc.ProjectileTypes += bullet_20mm_apc_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemc_nc.FireModes += new FireModeDefinition
|
|
|
|
|
apc_weapon_systemc_nc.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_weapon_systemc_nc.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_weapon_systemc_nc.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_weapon_systemd_nc.Name = "apc_weapon_systemd_nc"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemd_nc.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_weapon_systemd_nc.AmmoTypes += bullet_20mm
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_weapon_systemd_nc.ProjectileTypes += bullet_20mm_apc_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemd_nc.FireModes += new FireModeDefinition
|
|
|
|
|
apc_weapon_systemd_nc.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_weapon_systemd_nc.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_weapon_systemd_nc.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_weapon_systemc_vs.Name = "apc_weapon_systemc_vs"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemc_vs.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_weapon_systemc_vs.AmmoTypes += flux_cannon_thresher_battery
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_weapon_systemc_vs.ProjectileTypes += flux_cannon_apc_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemc_vs.FireModes += new FireModeDefinition
|
|
|
|
|
apc_weapon_systemc_vs.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_weapon_systemc_vs.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_weapon_systemc_vs.FireModes.head.Magazine = 100
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
apc_weapon_systemd_vs.Name = "apc_weapon_systemd_vs"
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemd_vs.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
apc_weapon_systemd_vs.AmmoTypes += flux_cannon_thresher_battery
|
2018-06-12 21:51:53 -04:00
|
|
|
apc_weapon_systemd_vs.ProjectileTypes += flux_cannon_apc_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_weapon_systemd_vs.FireModes += new FireModeDefinition
|
|
|
|
|
apc_weapon_systemd_vs.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
apc_weapon_systemd_vs.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
apc_weapon_systemd_vs.FireModes.head.Magazine = 100
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
lightning_weapon_system.Name = "lightning_weapon_system"
|
2017-11-26 00:00:41 -05:00
|
|
|
lightning_weapon_system.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
lightning_weapon_system.AmmoTypes += bullet_75mm
|
2018-05-18 20:48:52 -04:00
|
|
|
lightning_weapon_system.AmmoTypes += bullet_12mm
|
2018-06-12 21:51:53 -04:00
|
|
|
lightning_weapon_system.ProjectileTypes += bullet_75mm_projectile
|
|
|
|
|
lightning_weapon_system.ProjectileTypes += bullet_12mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
lightning_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
lightning_weapon_system.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
lightning_weapon_system.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
lightning_weapon_system.FireModes.head.Magazine = 20
|
|
|
|
|
lightning_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
lightning_weapon_system.FireModes(1).AmmoTypeIndices += 1
|
|
|
|
|
lightning_weapon_system.FireModes(1).AmmoSlotIndex = 1
|
2017-12-11 18:17:05 -05:00
|
|
|
lightning_weapon_system.FireModes(1).Magazine = 150
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
prowler_weapon_systemA.Name = "prowler_weapon_systemA"
|
2017-11-26 00:00:41 -05:00
|
|
|
prowler_weapon_systemA.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
prowler_weapon_systemA.AmmoTypes += bullet_105mm
|
2018-06-12 21:51:53 -04:00
|
|
|
prowler_weapon_systemA.ProjectileTypes += bullet_105mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
prowler_weapon_systemA.FireModes += new FireModeDefinition
|
|
|
|
|
prowler_weapon_systemA.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
prowler_weapon_systemA.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
prowler_weapon_systemA.FireModes.head.Magazine = 20
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
prowler_weapon_systemB.Name = "prowler_weapon_systemB"
|
2017-11-26 00:00:41 -05:00
|
|
|
prowler_weapon_systemB.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
prowler_weapon_systemB.AmmoTypes += bullet_15mm
|
2018-06-12 21:51:53 -04:00
|
|
|
prowler_weapon_systemB.ProjectileTypes += bullet_15mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
prowler_weapon_systemB.FireModes += new FireModeDefinition
|
|
|
|
|
prowler_weapon_systemB.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
prowler_weapon_systemB.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
prowler_weapon_systemB.FireModes.head.Magazine = 240
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
vanguard_weapon_system.Name = "vanguard_weapon_system"
|
2017-11-26 00:00:41 -05:00
|
|
|
vanguard_weapon_system.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
vanguard_weapon_system.AmmoTypes += bullet_150mm
|
|
|
|
|
vanguard_weapon_system.AmmoTypes += bullet_20mm
|
2020-07-28 00:02:43 -04:00
|
|
|
vanguard_weapon_system.ProjectileTypes += bullet_150mm_projectile
|
2018-06-12 21:51:53 -04:00
|
|
|
vanguard_weapon_system.ProjectileTypes += bullet_20mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
vanguard_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
vanguard_weapon_system.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
vanguard_weapon_system.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
vanguard_weapon_system.FireModes.head.Magazine = 10
|
|
|
|
|
vanguard_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
vanguard_weapon_system.FireModes(1).AmmoTypeIndices += 1
|
|
|
|
|
vanguard_weapon_system.FireModes(1).AmmoSlotIndex = 1
|
2017-12-11 18:17:05 -05:00
|
|
|
vanguard_weapon_system.FireModes(1).Magazine = 200
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
particle_beam_magrider.Name = "particle_beam_magrider"
|
2017-11-26 00:00:41 -05:00
|
|
|
particle_beam_magrider.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
particle_beam_magrider.AmmoTypes += pulse_battery
|
2018-06-12 21:51:53 -04:00
|
|
|
particle_beam_magrider.ProjectileTypes += ppa_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
particle_beam_magrider.FireModes += new FireModeDefinition
|
|
|
|
|
particle_beam_magrider.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
particle_beam_magrider.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
particle_beam_magrider.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
heavy_rail_beam_magrider.Name = "heavy_rail_beam_magrider"
|
2017-11-26 00:00:41 -05:00
|
|
|
heavy_rail_beam_magrider.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
heavy_rail_beam_magrider.AmmoTypes += heavy_rail_beam_battery
|
2018-06-12 21:51:53 -04:00
|
|
|
heavy_rail_beam_magrider.ProjectileTypes += heavy_rail_beam_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
heavy_rail_beam_magrider.FireModes += new FireModeDefinition
|
|
|
|
|
heavy_rail_beam_magrider.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
heavy_rail_beam_magrider.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
heavy_rail_beam_magrider.FireModes.head.Magazine = 25
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
flail_weapon.Name = "flail_weapon"
|
2017-11-26 00:00:41 -05:00
|
|
|
flail_weapon.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
flail_weapon.AmmoTypes += ancient_ammo_vehicle
|
2018-06-12 21:51:53 -04:00
|
|
|
flail_weapon.ProjectileTypes += flail_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
flail_weapon.FireModes += new FireModeDefinition
|
|
|
|
|
flail_weapon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
flail_weapon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
flail_weapon.FireModes.head.Magazine = 100
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
rotarychaingun_mosquito.Name = "rotarychaingun_mosquito"
|
2017-11-26 00:00:41 -05:00
|
|
|
rotarychaingun_mosquito.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
rotarychaingun_mosquito.AmmoTypes += bullet_12mm
|
2018-06-12 21:51:53 -04:00
|
|
|
rotarychaingun_mosquito.ProjectileTypes += bullet_12mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
rotarychaingun_mosquito.FireModes += new FireModeDefinition
|
|
|
|
|
rotarychaingun_mosquito.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
rotarychaingun_mosquito.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
rotarychaingun_mosquito.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
lightgunship_weapon_system.Name = "lightgunship_weapon_system"
|
2017-11-26 00:00:41 -05:00
|
|
|
lightgunship_weapon_system.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
lightgunship_weapon_system.AmmoTypes += bullet_20mm
|
|
|
|
|
lightgunship_weapon_system.AmmoTypes += reaver_rocket
|
2018-06-12 21:51:53 -04:00
|
|
|
lightgunship_weapon_system.ProjectileTypes += bullet_20mm_projectile
|
|
|
|
|
lightgunship_weapon_system.ProjectileTypes += reaver_rocket_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
lightgunship_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
lightgunship_weapon_system.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
lightgunship_weapon_system.FireModes.head.AmmoSlotIndex = 0
|
2017-12-11 18:17:05 -05:00
|
|
|
lightgunship_weapon_system.FireModes.head.Magazine = 245
|
2017-11-26 00:00:41 -05:00
|
|
|
lightgunship_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
lightgunship_weapon_system.FireModes(1).AmmoTypeIndices += 1
|
|
|
|
|
lightgunship_weapon_system.FireModes(1).AmmoSlotIndex = 1
|
2017-12-11 18:17:05 -05:00
|
|
|
lightgunship_weapon_system.FireModes(1).Magazine = 16
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
wasp_weapon_system.Name = "wasp_weapon_system"
|
2017-11-26 00:00:41 -05:00
|
|
|
wasp_weapon_system.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
wasp_weapon_system.AmmoTypes += wasp_gun_ammo
|
|
|
|
|
wasp_weapon_system.AmmoTypes += wasp_rocket_ammo
|
2018-06-12 21:51:53 -04:00
|
|
|
wasp_weapon_system.ProjectileTypes += wasp_gun_projectile
|
|
|
|
|
wasp_weapon_system.ProjectileTypes += wasp_rocket_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
wasp_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
wasp_weapon_system.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
wasp_weapon_system.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
wasp_weapon_system.FireModes.head.Magazine = 30
|
|
|
|
|
wasp_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
wasp_weapon_system.FireModes(1).AmmoTypeIndices += 1
|
|
|
|
|
wasp_weapon_system.FireModes(1).AmmoSlotIndex = 1
|
2017-12-11 18:17:05 -05:00
|
|
|
wasp_weapon_system.FireModes(1).Magazine = 2
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
liberator_weapon_system.Name = "liberator_weapon_system"
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator_weapon_system.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
liberator_weapon_system.AmmoTypes += bullet_35mm
|
2018-06-12 21:51:53 -04:00
|
|
|
liberator_weapon_system.ProjectileTypes += bullet_35mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
liberator_weapon_system.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
liberator_weapon_system.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
liberator_weapon_system.FireModes.head.Magazine = 100
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
liberator_bomb_bay.Name = "liberator_bomb_bay"
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator_bomb_bay.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
liberator_bomb_bay.AmmoTypes += liberator_bomb
|
2018-06-12 21:51:53 -04:00
|
|
|
liberator_bomb_bay.ProjectileTypes += liberator_bomb_projectile
|
|
|
|
|
liberator_bomb_bay.ProjectileTypes += liberator_bomb_cluster_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator_bomb_bay.FireModes += new FireModeDefinition
|
|
|
|
|
liberator_bomb_bay.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
liberator_bomb_bay.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
liberator_bomb_bay.FireModes.head.Magazine = 10
|
|
|
|
|
liberator_bomb_bay.FireModes += new FireModeDefinition
|
|
|
|
|
liberator_bomb_bay.FireModes(1).AmmoTypeIndices += 0
|
2018-06-12 21:51:53 -04:00
|
|
|
liberator_bomb_bay.FireModes(1).ProjectileTypeIndices += 1
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator_bomb_bay.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
liberator_bomb_bay.FireModes(1).Magazine = 10
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
liberator_25mm_cannon.Name = "liberator_25mm_cannon"
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator_25mm_cannon.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
liberator_25mm_cannon.AmmoTypes += bullet_25mm
|
2018-06-12 21:51:53 -04:00
|
|
|
liberator_25mm_cannon.ProjectileTypes += bullet_25mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator_25mm_cannon.FireModes += new FireModeDefinition
|
|
|
|
|
liberator_25mm_cannon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
liberator_25mm_cannon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
liberator_25mm_cannon.FireModes.head.Magazine = 150
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
vulture_nose_weapon_system.Name = "vulture_nose_weapon_system"
|
2017-11-26 00:00:41 -05:00
|
|
|
vulture_nose_weapon_system.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
vulture_nose_weapon_system.AmmoTypes += bullet_35mm
|
2018-06-12 21:51:53 -04:00
|
|
|
vulture_nose_weapon_system.ProjectileTypes += vulture_nose_bullet_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
vulture_nose_weapon_system.FireModes += new FireModeDefinition
|
|
|
|
|
vulture_nose_weapon_system.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
vulture_nose_weapon_system.FireModes.head.AmmoSlotIndex = 0
|
2017-12-30 19:28:43 -05:00
|
|
|
vulture_nose_weapon_system.FireModes.head.Magazine = 75
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
vulture_bomb_bay.Name = "vulture_bomb_bay"
|
2017-11-26 00:00:41 -05:00
|
|
|
vulture_bomb_bay.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
vulture_bomb_bay.AmmoTypes += liberator_bomb
|
2018-06-12 21:51:53 -04:00
|
|
|
vulture_bomb_bay.ProjectileTypes += vulture_bomb_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
vulture_bomb_bay.FireModes += new FireModeDefinition
|
|
|
|
|
vulture_bomb_bay.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
vulture_bomb_bay.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
vulture_bomb_bay.FireModes.head.Magazine = 10
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
vulture_tail_cannon.Name = "vulture_tail_cannon"
|
2017-11-26 00:00:41 -05:00
|
|
|
vulture_tail_cannon.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
vulture_tail_cannon.AmmoTypes += bullet_25mm
|
2018-06-12 21:51:53 -04:00
|
|
|
vulture_tail_cannon.ProjectileTypes += vulture_tail_bullet_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
vulture_tail_cannon.FireModes += new FireModeDefinition
|
|
|
|
|
vulture_tail_cannon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
vulture_tail_cannon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
vulture_tail_cannon.FireModes.head.Magazine = 100
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
cannon_dropship_20mm.Name = "cannon_dropship_20mm"
|
2017-11-26 00:00:41 -05:00
|
|
|
cannon_dropship_20mm.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
cannon_dropship_20mm.AmmoTypes += bullet_20mm
|
2018-06-12 21:51:53 -04:00
|
|
|
cannon_dropship_20mm.ProjectileTypes += bullet_20mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
cannon_dropship_20mm.FireModes += new FireModeDefinition
|
|
|
|
|
cannon_dropship_20mm.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
cannon_dropship_20mm.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
cannon_dropship_20mm.FireModes.head.Magazine = 250
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
dropship_rear_turret.Name = "dropship_rear_turret"
|
2017-11-26 00:00:41 -05:00
|
|
|
dropship_rear_turret.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
dropship_rear_turret.AmmoTypes += bullet_20mm
|
2018-06-12 21:51:53 -04:00
|
|
|
dropship_rear_turret.ProjectileTypes += bullet_20mm_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
dropship_rear_turret.FireModes += new FireModeDefinition
|
|
|
|
|
dropship_rear_turret.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
dropship_rear_turret.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
dropship_rear_turret.FireModes.head.Magazine = 250
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
galaxy_gunship_cannon.Name = "galaxy_gunship_cannon"
|
2017-11-26 00:00:41 -05:00
|
|
|
galaxy_gunship_cannon.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
galaxy_gunship_cannon.AmmoTypes += heavy_grenade_mortar
|
2018-06-12 21:51:53 -04:00
|
|
|
galaxy_gunship_cannon.ProjectileTypes += heavy_grenade_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
galaxy_gunship_cannon.FireModes += new FireModeDefinition
|
|
|
|
|
galaxy_gunship_cannon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
galaxy_gunship_cannon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
galaxy_gunship_cannon.FireModes.head.Magazine = 50
|
2020-07-28 00:02:43 -04:00
|
|
|
galaxy_gunship_cannon.FireModes.head.Add.Damage1 = 50
|
|
|
|
|
galaxy_gunship_cannon.FireModes.head.Add.Damage2 = 50
|
|
|
|
|
galaxy_gunship_cannon.FireModes.head.Add.Damage3 = 10
|
|
|
|
|
galaxy_gunship_cannon.FireModes.head.Add.Damage4 = 50
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
galaxy_gunship_tailgun.Name = "galaxy_gunship_tailgun"
|
2017-11-26 00:00:41 -05:00
|
|
|
galaxy_gunship_tailgun.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
galaxy_gunship_tailgun.AmmoTypes += bullet_35mm
|
2018-06-12 21:51:53 -04:00
|
|
|
galaxy_gunship_tailgun.ProjectileTypes += galaxy_gunship_gun_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
galaxy_gunship_tailgun.FireModes += new FireModeDefinition
|
|
|
|
|
galaxy_gunship_tailgun.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
galaxy_gunship_tailgun.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
galaxy_gunship_tailgun.FireModes.head.Magazine = 200
|
|
|
|
|
|
2018-05-10 23:03:34 -04:00
|
|
|
galaxy_gunship_gun.Name = "galaxy_gunship_gun"
|
2017-11-26 00:00:41 -05:00
|
|
|
galaxy_gunship_gun.Size = EquipmentSize.VehicleWeapon
|
|
|
|
|
galaxy_gunship_gun.AmmoTypes += bullet_35mm
|
2018-06-12 21:51:53 -04:00
|
|
|
galaxy_gunship_gun.ProjectileTypes += galaxy_gunship_gun_projectile
|
2017-11-26 00:00:41 -05:00
|
|
|
galaxy_gunship_gun.FireModes += new FireModeDefinition
|
|
|
|
|
galaxy_gunship_gun.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
galaxy_gunship_gun.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
galaxy_gunship_gun.FireModes.head.Magazine = 200
|
2018-07-14 21:25:44 -04:00
|
|
|
|
|
|
|
|
phalanx_sgl_hevgatcan.Name = "phalanx_sgl_hevgatcan"
|
|
|
|
|
phalanx_sgl_hevgatcan.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
phalanx_sgl_hevgatcan.AmmoTypes += phalanx_ammo
|
|
|
|
|
phalanx_sgl_hevgatcan.ProjectileTypes += phalanx_projectile
|
|
|
|
|
phalanx_sgl_hevgatcan.FireModes += new InfiniteFireModeDefinition
|
|
|
|
|
phalanx_sgl_hevgatcan.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
phalanx_sgl_hevgatcan.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
phalanx_sgl_hevgatcan.FireModes.head.Magazine = 4000
|
|
|
|
|
|
|
|
|
|
phalanx_avcombo.Name = "phalanx_avcombo"
|
|
|
|
|
phalanx_avcombo.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
phalanx_avcombo.AmmoTypes += phalanx_ammo
|
|
|
|
|
phalanx_avcombo.ProjectileTypes += phalanx_projectile
|
|
|
|
|
phalanx_avcombo.ProjectileTypes += phalanx_av_projectile
|
|
|
|
|
phalanx_avcombo.FireModes += new InfiniteFireModeDefinition
|
|
|
|
|
phalanx_avcombo.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
phalanx_avcombo.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
phalanx_avcombo.FireModes.head.Magazine = 4000
|
|
|
|
|
phalanx_avcombo.FireModes += new InfiniteFireModeDefinition
|
|
|
|
|
phalanx_avcombo.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
phalanx_avcombo.FireModes(1).ProjectileTypeIndices += 1
|
|
|
|
|
phalanx_avcombo.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
phalanx_avcombo.FireModes(1).Magazine = 4000
|
|
|
|
|
|
|
|
|
|
phalanx_flakcombo.Name = "phalanx_flakcombo"
|
|
|
|
|
phalanx_flakcombo.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
phalanx_flakcombo.AmmoTypes += phalanx_ammo
|
|
|
|
|
phalanx_flakcombo.ProjectileTypes += phalanx_projectile
|
|
|
|
|
phalanx_flakcombo.ProjectileTypes += phalanx_flak_projectile
|
|
|
|
|
phalanx_flakcombo.FireModes += new InfiniteFireModeDefinition
|
|
|
|
|
phalanx_flakcombo.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
phalanx_flakcombo.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
phalanx_flakcombo.FireModes.head.Magazine = 4000
|
|
|
|
|
phalanx_flakcombo.FireModes += new InfiniteFireModeDefinition
|
|
|
|
|
phalanx_flakcombo.FireModes(1).AmmoTypeIndices += 0
|
|
|
|
|
phalanx_flakcombo.FireModes(1).ProjectileTypeIndices += 1
|
|
|
|
|
phalanx_flakcombo.FireModes(1).AmmoSlotIndex = 0
|
|
|
|
|
phalanx_flakcombo.FireModes(1).Magazine = 4000
|
2018-09-23 08:00:58 -04:00
|
|
|
|
2020-02-14 15:52:57 +00:00
|
|
|
vanu_sentry_turret_weapon.Name = "vanu_sentry_turret_weapon"
|
|
|
|
|
vanu_sentry_turret_weapon.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
vanu_sentry_turret_weapon.AmmoTypes += ancient_ammo_vehicle
|
|
|
|
|
vanu_sentry_turret_weapon.ProjectileTypes += vanu_sentry_turret_projectile
|
|
|
|
|
vanu_sentry_turret_weapon.FireModes += new FireModeDefinition
|
|
|
|
|
vanu_sentry_turret_weapon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
vanu_sentry_turret_weapon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
vanu_sentry_turret_weapon.FireModes.head.Magazine = 100
|
|
|
|
|
|
2018-09-23 08:00:58 -04:00
|
|
|
spitfire_weapon.Name = "spitfire_weapon"
|
|
|
|
|
spitfire_weapon.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
spitfire_weapon.AmmoTypes += spitfire_ammo
|
|
|
|
|
spitfire_weapon.ProjectileTypes += spitfire_ammo_projectile
|
|
|
|
|
spitfire_weapon.FireModes += new InfiniteFireModeDefinition
|
|
|
|
|
spitfire_weapon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
spitfire_weapon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
spitfire_weapon.FireModes.head.Magazine = 4000
|
|
|
|
|
|
|
|
|
|
spitfire_aa_weapon.Name = "spitfire_aa_weapon"
|
|
|
|
|
spitfire_aa_weapon.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
spitfire_aa_weapon.AmmoTypes += spitfire_aa_ammo
|
|
|
|
|
spitfire_aa_weapon.ProjectileTypes += spitfire_aa_ammo_projectile
|
|
|
|
|
spitfire_aa_weapon.FireModes += new InfiniteFireModeDefinition
|
|
|
|
|
spitfire_aa_weapon.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
spitfire_aa_weapon.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
spitfire_aa_weapon.FireModes.head.Magazine = 4000
|
|
|
|
|
|
|
|
|
|
energy_gun.Name = "energy_gun"
|
|
|
|
|
energy_gun.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
energy_gun.AmmoTypes += energy_gun_ammo
|
|
|
|
|
energy_gun.ProjectileTypes += bullet_9mm_projectile //fallback
|
|
|
|
|
energy_gun.FireModes += new FireModeDefinition
|
|
|
|
|
energy_gun.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
energy_gun.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
energy_gun.FireModes.head.Magazine = 4000
|
|
|
|
|
|
|
|
|
|
energy_gun_nc.Name = "energy_gun_nc"
|
|
|
|
|
energy_gun_nc.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
energy_gun_nc.AmmoTypes += energy_gun_ammo
|
|
|
|
|
energy_gun_nc.ProjectileTypes += energy_gun_nc_projectile
|
|
|
|
|
energy_gun_nc.FireModes += new PelletFireModeDefinition
|
|
|
|
|
energy_gun_nc.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
energy_gun_nc.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
energy_gun_nc.FireModes.head.Magazine = 35
|
2020-09-05 09:08:18 -04:00
|
|
|
energy_gun_nc.FireModes.head.Chamber = 8 //35 shots * 8 pellets = 280
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
energy_gun_tr.Name = "energy_gun_tr"
|
|
|
|
|
energy_gun_tr.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
energy_gun_tr.AmmoTypes += energy_gun_ammo
|
|
|
|
|
energy_gun_tr.ProjectileTypes += energy_gun_tr_projectile
|
|
|
|
|
energy_gun_tr.FireModes += new FireModeDefinition
|
|
|
|
|
energy_gun_tr.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
energy_gun_tr.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
energy_gun_tr.FireModes.head.Magazine = 200
|
|
|
|
|
|
|
|
|
|
energy_gun_vs.Name = "energy_gun_vs"
|
|
|
|
|
energy_gun_vs.Size = EquipmentSize.BaseTurretWeapon
|
|
|
|
|
energy_gun_vs.AmmoTypes += energy_gun_ammo
|
|
|
|
|
energy_gun_vs.ProjectileTypes += energy_gun_tr_projectile
|
|
|
|
|
energy_gun_vs.FireModes += new FireModeDefinition
|
|
|
|
|
energy_gun_vs.FireModes.head.AmmoTypeIndices += 0
|
|
|
|
|
energy_gun_vs.FireModes.head.AmmoSlotIndex = 0
|
|
|
|
|
energy_gun_vs.FireModes.head.Magazine = 100
|
2017-11-26 00:00:41 -05: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 18:46:01 -04:00
|
|
|
|
2017-11-26 00:00:41 -05:00
|
|
|
/**
|
|
|
|
|
* Initialize `VehicleDefinition` globals.
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
private def init_vehicles(): Unit = {
|
2021-04-16 21:37:20 +02:00
|
|
|
val atvForm = GeometryForm.representByCylinder(radius = 1.1797f, height = 1.1875f) _
|
2021-02-03 19:39:32 -05:00
|
|
|
val delivererForm = GeometryForm.representByCylinder(radius = 2.46095f, height = 2.40626f) _ //TODO hexahedron
|
2021-04-16 21:37:20 +02:00
|
|
|
val apcForm = GeometryForm.representByCylinder(radius = 4.6211f, height = 3.90626f) _ //TODO hexahedron
|
2021-02-03 19:39:32 -05:00
|
|
|
val liberatorForm = GeometryForm.representByCylinder(radius = 3.74615f, height = 2.51563f) _
|
|
|
|
|
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
val bailableSeat = new SeatDefinition() {
|
|
|
|
|
bailable = true
|
|
|
|
|
}
|
|
|
|
|
val maxOnlySeat = new SeatDefinition() {
|
|
|
|
|
restriction = MaxOnly
|
|
|
|
|
}
|
|
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
fury.Name = "fury"
|
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 09:28:45 -04:00
|
|
|
fury.MaxHealth = 650
|
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 15:17:32 -04:00
|
|
|
fury.Damageable = true
|
|
|
|
|
fury.Repairable = true
|
|
|
|
|
fury.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
fury.MaxShields = 130
|
2021-04-16 21:37:20 +02:00
|
|
|
fury.Seats += 0 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
fury.controlledWeapons += 0 -> 1
|
2021-04-16 21:37:20 +02:00
|
|
|
fury.Weapons += 1 -> fury_weapon_systema
|
|
|
|
|
fury.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
fury.MountPoints += 2 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
fury.TrunkSize = InventoryTile.Tile1111
|
|
|
|
|
fury.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
fury.TrunkLocation = Vector3(-1.71f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
fury.AutoPilotSpeeds = (24, 10)
|
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 09:28:45 -04:00
|
|
|
fury.DestroyedModel = Some(DestroyedVehicle.QuadAssault)
|
2019-08-21 15:39:44 +01:00
|
|
|
fury.JackingDuration = Array(0, 10, 3, 2)
|
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 14:32:42 -05:00
|
|
|
fury.explodes = true
|
|
|
|
|
fury.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 150
|
|
|
|
|
Damage1 = 225
|
|
|
|
|
DamageRadius = 5
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
fury.DrownAtMaxDepth = true
|
|
|
|
|
fury.MaxDepth = 1.3f
|
|
|
|
|
fury.UnderwaterLifespan(suffocation = 5000L, recovery = 2500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
fury.Geometry = atvForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
quadassault.Name = "quadassault" // Basilisk
|
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 09:28:45 -04:00
|
|
|
quadassault.MaxHealth = 650
|
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 15:17:32 -04:00
|
|
|
quadassault.Damageable = true
|
|
|
|
|
quadassault.Repairable = true
|
|
|
|
|
quadassault.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
quadassault.MaxShields = 130
|
2021-04-16 21:37:20 +02:00
|
|
|
quadassault.Seats += 0 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
quadassault.controlledWeapons += 0 -> 1
|
2021-04-16 21:37:20 +02:00
|
|
|
quadassault.Weapons += 1 -> quadassault_weapon_system
|
|
|
|
|
quadassault.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
quadassault.MountPoints += 2 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
quadassault.TrunkSize = InventoryTile.Tile1111
|
|
|
|
|
quadassault.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
quadassault.TrunkLocation = Vector3(-1.71f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
quadassault.AutoPilotSpeeds = (24, 10)
|
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 09:28:45 -04:00
|
|
|
quadassault.DestroyedModel = Some(DestroyedVehicle.QuadAssault)
|
2019-08-21 15:39:44 +01:00
|
|
|
quadassault.JackingDuration = Array(0, 10, 3, 2)
|
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 14:32:42 -05:00
|
|
|
quadassault.explodes = true
|
|
|
|
|
quadassault.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 150
|
|
|
|
|
Damage1 = 225
|
|
|
|
|
DamageRadius = 5
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
quadassault.DrownAtMaxDepth = true
|
|
|
|
|
quadassault.MaxDepth = 1.3f
|
|
|
|
|
quadassault.UnderwaterLifespan(suffocation = 5000L, recovery = 2500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
quadassault.Geometry = atvForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
quadstealth.Name = "quadstealth" // Wraith
|
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 09:28:45 -04:00
|
|
|
quadstealth.MaxHealth = 650
|
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 15:17:32 -04:00
|
|
|
quadstealth.Damageable = true
|
|
|
|
|
quadstealth.Repairable = true
|
|
|
|
|
quadstealth.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
quadstealth.MaxShields = 130
|
2017-11-26 00:00:41 -05:00
|
|
|
quadstealth.CanCloak = true
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
quadstealth.Seats += 0 -> bailableSeat
|
2017-11-26 00:00:41 -05:00
|
|
|
quadstealth.CanCloak = true
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
quadstealth.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
quadstealth.MountPoints += 2 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
quadstealth.TrunkSize = InventoryTile.Tile1111
|
|
|
|
|
quadstealth.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
quadstealth.TrunkLocation = Vector3(-1.71f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
quadstealth.AutoPilotSpeeds = (24, 10)
|
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 09:28:45 -04:00
|
|
|
quadstealth.DestroyedModel = Some(DestroyedVehicle.QuadStealth)
|
2019-08-21 15:39:44 +01:00
|
|
|
quadstealth.JackingDuration = Array(0, 10, 3, 2)
|
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 14:32:42 -05:00
|
|
|
quadstealth.explodes = true
|
|
|
|
|
quadstealth.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 150
|
|
|
|
|
Damage1 = 225
|
|
|
|
|
DamageRadius = 5
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
quadstealth.DrownAtMaxDepth = true
|
|
|
|
|
quadstealth.MaxDepth = 1.25f
|
|
|
|
|
quadstealth.UnderwaterLifespan(suffocation = 5000L, recovery = 2500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
quadstealth.Geometry = atvForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
two_man_assault_buggy.Name = "two_man_assault_buggy" // Harasser
|
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 09:28:45 -04:00
|
|
|
two_man_assault_buggy.MaxHealth = 1250
|
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 15:17:32 -04:00
|
|
|
two_man_assault_buggy.Damageable = true
|
|
|
|
|
two_man_assault_buggy.Repairable = true
|
|
|
|
|
two_man_assault_buggy.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
two_man_assault_buggy.MaxShields = 250
|
2021-04-16 21:37:20 +02:00
|
|
|
two_man_assault_buggy.Seats += 0 -> bailableSeat
|
|
|
|
|
two_man_assault_buggy.Seats += 1 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
two_man_assault_buggy.controlledWeapons += 1 -> 2
|
2021-04-16 21:37:20 +02:00
|
|
|
two_man_assault_buggy.Weapons += 2 -> chaingun_p
|
|
|
|
|
two_man_assault_buggy.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
two_man_assault_buggy.MountPoints += 2 -> MountInfo(1)
|
2017-12-11 18:17:05 -05:00
|
|
|
two_man_assault_buggy.TrunkSize = InventoryTile.Tile1511
|
2017-11-26 00:00:41 -05:00
|
|
|
two_man_assault_buggy.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
two_man_assault_buggy.TrunkLocation = Vector3(-2.5f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
two_man_assault_buggy.AutoPilotSpeeds = (22, 8)
|
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 09:28:45 -04:00
|
|
|
two_man_assault_buggy.DestroyedModel = Some(DestroyedVehicle.TwoManAssaultBuggy)
|
2019-08-21 15:39:44 +01:00
|
|
|
two_man_assault_buggy.JackingDuration = Array(0, 15, 5, 3)
|
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 14:32:42 -05:00
|
|
|
two_man_assault_buggy.explodes = true
|
|
|
|
|
two_man_assault_buggy.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
two_man_assault_buggy.DrownAtMaxDepth = true
|
|
|
|
|
two_man_assault_buggy.MaxDepth = 1.5f
|
|
|
|
|
two_man_assault_buggy.UnderwaterLifespan(suffocation = 5000L, recovery = 2500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
two_man_assault_buggy.Geometry = GeometryForm.representByCylinder(radius = 2.10545f, height = 1.59376f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
skyguard.Name = "skyguard"
|
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 09:28:45 -04:00
|
|
|
skyguard.MaxHealth = 1000
|
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 15:17:32 -04:00
|
|
|
skyguard.Damageable = true
|
|
|
|
|
skyguard.Repairable = true
|
|
|
|
|
skyguard.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
skyguard.MaxShields = 200
|
2021-04-16 21:37:20 +02:00
|
|
|
skyguard.Seats += 0 -> bailableSeat
|
|
|
|
|
skyguard.Seats += 1 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
skyguard.controlledWeapons += 1 -> 2
|
2021-04-16 21:37:20 +02:00
|
|
|
skyguard.Weapons += 2 -> skyguard_weapon_system
|
|
|
|
|
skyguard.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
skyguard.MountPoints += 2 -> MountInfo(0)
|
|
|
|
|
skyguard.MountPoints += 3 -> MountInfo(1)
|
2017-11-26 00:00:41 -05:00
|
|
|
skyguard.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
skyguard.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
skyguard.TrunkLocation = Vector3(2.5f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
skyguard.AutoPilotSpeeds = (22, 8)
|
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 09:28:45 -04:00
|
|
|
skyguard.DestroyedModel = Some(DestroyedVehicle.Skyguard)
|
2019-08-21 15:39:44 +01:00
|
|
|
skyguard.JackingDuration = Array(0, 15, 5, 3)
|
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 14:32:42 -05:00
|
|
|
skyguard.explodes = true
|
|
|
|
|
skyguard.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
skyguard.DrownAtMaxDepth = true
|
|
|
|
|
skyguard.MaxDepth = 1.5f
|
|
|
|
|
skyguard.UnderwaterLifespan(suffocation = 5000L, recovery = 2500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
skyguard.Geometry = GeometryForm.representByCylinder(radius = 1.8867f, height = 1.4375f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
threemanheavybuggy.Name = "threemanheavybuggy" // Marauder
|
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 09:28:45 -04:00
|
|
|
threemanheavybuggy.MaxHealth = 1700
|
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 15:17:32 -04:00
|
|
|
threemanheavybuggy.Damageable = true
|
|
|
|
|
threemanheavybuggy.Repairable = true
|
|
|
|
|
threemanheavybuggy.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
threemanheavybuggy.MaxShields = 340
|
2021-04-16 21:37:20 +02:00
|
|
|
threemanheavybuggy.Seats += 0 -> bailableSeat
|
|
|
|
|
threemanheavybuggy.Seats += 1 -> bailableSeat
|
|
|
|
|
threemanheavybuggy.Seats += 2 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
threemanheavybuggy.controlledWeapons += 1 -> 3
|
|
|
|
|
threemanheavybuggy.controlledWeapons += 2 -> 4
|
2021-04-16 21:37:20 +02:00
|
|
|
threemanheavybuggy.Weapons += 3 -> chaingun_p
|
|
|
|
|
threemanheavybuggy.Weapons += 4 -> grenade_launcher_marauder
|
|
|
|
|
threemanheavybuggy.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
threemanheavybuggy.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
threemanheavybuggy.MountPoints += 3 -> MountInfo(2)
|
2017-11-26 00:00:41 -05:00
|
|
|
threemanheavybuggy.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
threemanheavybuggy.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
threemanheavybuggy.TrunkLocation = Vector3(3.01f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
threemanheavybuggy.AutoPilotSpeeds = (22, 8)
|
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 09:28:45 -04:00
|
|
|
threemanheavybuggy.DestroyedModel = Some(DestroyedVehicle.ThreeManHeavyBuggy)
|
2018-11-21 20:31:51 -05:00
|
|
|
threemanheavybuggy.Subtract.Damage1 = 5
|
2019-08-21 15:39:44 +01:00
|
|
|
threemanheavybuggy.JackingDuration = Array(0, 20, 7, 5)
|
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 14:32:42 -05:00
|
|
|
threemanheavybuggy.explodes = true
|
|
|
|
|
threemanheavybuggy.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 10
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
threemanheavybuggy.DrownAtMaxDepth = true
|
|
|
|
|
threemanheavybuggy.MaxDepth = 1.83f
|
|
|
|
|
threemanheavybuggy.UnderwaterLifespan(suffocation = 5000L, recovery = 2500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
threemanheavybuggy.Geometry = GeometryForm.representByCylinder(radius = 2.1953f, height = 2.03125f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
twomanheavybuggy.Name = "twomanheavybuggy" // Enforcer
|
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 09:28:45 -04:00
|
|
|
twomanheavybuggy.MaxHealth = 1800
|
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 15:17:32 -04:00
|
|
|
twomanheavybuggy.Damageable = true
|
|
|
|
|
twomanheavybuggy.Repairable = true
|
|
|
|
|
twomanheavybuggy.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
twomanheavybuggy.MaxShields = 360
|
2021-04-16 21:37:20 +02:00
|
|
|
twomanheavybuggy.Seats += 0 -> bailableSeat
|
|
|
|
|
twomanheavybuggy.Seats += 1 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
twomanheavybuggy.controlledWeapons += 1 -> 2
|
2021-04-16 21:37:20 +02:00
|
|
|
twomanheavybuggy.Weapons += 2 -> advanced_missile_launcher_t
|
|
|
|
|
twomanheavybuggy.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
twomanheavybuggy.MountPoints += 2 -> MountInfo(1)
|
2017-11-26 00:00:41 -05:00
|
|
|
twomanheavybuggy.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
twomanheavybuggy.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
twomanheavybuggy.TrunkLocation = Vector3(-0.23f, -2.05f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
twomanheavybuggy.AutoPilotSpeeds = (22, 8)
|
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 09:28:45 -04:00
|
|
|
twomanheavybuggy.DestroyedModel = Some(DestroyedVehicle.TwoManHeavyBuggy)
|
2018-11-21 20:31:51 -05:00
|
|
|
twomanheavybuggy.Subtract.Damage1 = 5
|
2019-08-21 15:39:44 +01:00
|
|
|
twomanheavybuggy.JackingDuration = Array(0, 20, 7, 5)
|
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 14:32:42 -05:00
|
|
|
twomanheavybuggy.explodes = true
|
|
|
|
|
twomanheavybuggy.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
twomanheavybuggy.DrownAtMaxDepth = true
|
|
|
|
|
twomanheavybuggy.MaxDepth = 1.95f
|
|
|
|
|
twomanheavybuggy.UnderwaterLifespan(suffocation = 5000L, recovery = 2500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
twomanheavybuggy.Geometry = GeometryForm.representByCylinder(radius = 2.60935f, height = 1.79688f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
twomanhoverbuggy.Name = "twomanhoverbuggy" // Thresher
|
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 09:28:45 -04:00
|
|
|
twomanhoverbuggy.MaxHealth = 1600
|
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 15:17:32 -04:00
|
|
|
twomanhoverbuggy.Damageable = true
|
|
|
|
|
twomanhoverbuggy.Repairable = true
|
|
|
|
|
twomanhoverbuggy.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
twomanhoverbuggy.MaxShields = 320
|
2021-04-16 21:37:20 +02:00
|
|
|
twomanhoverbuggy.Seats += 0 -> bailableSeat
|
|
|
|
|
twomanhoverbuggy.Seats += 1 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
twomanhoverbuggy.controlledWeapons += 1 -> 2
|
2021-04-16 21:37:20 +02:00
|
|
|
twomanhoverbuggy.Weapons += 2 -> flux_cannon_thresher
|
|
|
|
|
twomanhoverbuggy.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
twomanhoverbuggy.MountPoints += 2 -> MountInfo(1)
|
2017-11-26 00:00:41 -05:00
|
|
|
twomanhoverbuggy.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
twomanhoverbuggy.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
twomanhoverbuggy.TrunkLocation = Vector3(-3.39f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
twomanhoverbuggy.AutoPilotSpeeds = (22, 10)
|
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 09:28:45 -04:00
|
|
|
twomanhoverbuggy.DestroyedModel = Some(DestroyedVehicle.TwoManHoverBuggy)
|
2018-11-21 20:31:51 -05:00
|
|
|
twomanhoverbuggy.Subtract.Damage1 = 5
|
2019-08-21 15:39:44 +01:00
|
|
|
twomanhoverbuggy.JackingDuration = Array(0, 20, 7, 5)
|
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 14:32:42 -05:00
|
|
|
twomanhoverbuggy.explodes = true
|
|
|
|
|
twomanhoverbuggy.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 10
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
twomanhoverbuggy.DrownAtMaxDepth = true
|
2021-04-16 21:37:20 +02:00
|
|
|
twomanhoverbuggy.UnderwaterLifespan(
|
|
|
|
|
suffocation = 45000L,
|
|
|
|
|
recovery = 5000L
|
|
|
|
|
) //but the thresher hovers over water, so ...?
|
2021-02-03 19:39:32 -05:00
|
|
|
twomanhoverbuggy.Geometry = GeometryForm.representByCylinder(radius = 2.1875f, height = 2.01563f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
mediumtransport.Name = "mediumtransport" // Deliverer
|
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 09:28:45 -04:00
|
|
|
mediumtransport.MaxHealth = 2500
|
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 15:17:32 -04:00
|
|
|
mediumtransport.Damageable = true
|
|
|
|
|
mediumtransport.Repairable = true
|
|
|
|
|
mediumtransport.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
mediumtransport.MaxShields = 500
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
mediumtransport.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
mediumtransport.Seats += 1 -> new SeatDefinition()
|
|
|
|
|
mediumtransport.Seats += 2 -> new SeatDefinition()
|
|
|
|
|
mediumtransport.Seats += 3 -> new SeatDefinition()
|
|
|
|
|
mediumtransport.Seats += 4 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
mediumtransport.controlledWeapons += 1 -> 5
|
|
|
|
|
mediumtransport.controlledWeapons += 2 -> 6
|
2021-04-16 21:37:20 +02:00
|
|
|
mediumtransport.Weapons += 5 -> mediumtransport_weapon_systemA
|
|
|
|
|
mediumtransport.Weapons += 6 -> mediumtransport_weapon_systemB
|
|
|
|
|
mediumtransport.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
mediumtransport.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
mediumtransport.MountPoints += 3 -> MountInfo(2)
|
|
|
|
|
mediumtransport.MountPoints += 4 -> MountInfo(3)
|
|
|
|
|
mediumtransport.MountPoints += 5 -> MountInfo(4)
|
2017-11-26 00:00:41 -05:00
|
|
|
mediumtransport.TrunkSize = InventoryTile.Tile1515
|
|
|
|
|
mediumtransport.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
mediumtransport.TrunkLocation = Vector3(-3.46f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
mediumtransport.AutoPilotSpeeds = (18, 6)
|
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 09:28:45 -04:00
|
|
|
mediumtransport.DestroyedModel = Some(DestroyedVehicle.MediumTransport)
|
2018-11-21 20:31:51 -05:00
|
|
|
mediumtransport.Subtract.Damage1 = 7
|
2019-08-21 15:39:44 +01:00
|
|
|
mediumtransport.JackingDuration = Array(0, 25, 8, 5)
|
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 14:32:42 -05:00
|
|
|
mediumtransport.explodes = true
|
|
|
|
|
mediumtransport.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
mediumtransport.DrownAtMaxDepth = false
|
|
|
|
|
mediumtransport.MaxDepth = 1.2f
|
|
|
|
|
mediumtransport.UnderwaterLifespan(suffocation = -1, recovery = -1)
|
2021-02-03 19:39:32 -05:00
|
|
|
mediumtransport.Geometry = delivererForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
battlewagon.Name = "battlewagon" // Raider
|
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 09:28:45 -04:00
|
|
|
battlewagon.MaxHealth = 2500
|
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 15:17:32 -04:00
|
|
|
battlewagon.Damageable = true
|
|
|
|
|
battlewagon.Repairable = true
|
|
|
|
|
battlewagon.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
battlewagon.MaxShields = 500
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
battlewagon.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
battlewagon.Seats += 1 -> new SeatDefinition()
|
|
|
|
|
battlewagon.Seats += 2 -> new SeatDefinition()
|
|
|
|
|
battlewagon.Seats += 3 -> new SeatDefinition()
|
|
|
|
|
battlewagon.Seats += 4 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
battlewagon.controlledWeapons += 1 -> 5
|
|
|
|
|
battlewagon.controlledWeapons += 2 -> 6
|
|
|
|
|
battlewagon.controlledWeapons += 3 -> 7
|
|
|
|
|
battlewagon.controlledWeapons += 4 -> 8
|
2021-04-16 21:37:20 +02:00
|
|
|
battlewagon.Weapons += 5 -> battlewagon_weapon_systema
|
|
|
|
|
battlewagon.Weapons += 6 -> battlewagon_weapon_systemb
|
|
|
|
|
battlewagon.Weapons += 7 -> battlewagon_weapon_systemc
|
|
|
|
|
battlewagon.Weapons += 8 -> battlewagon_weapon_systemd
|
|
|
|
|
battlewagon.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
battlewagon.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
battlewagon.MountPoints += 3 -> MountInfo(2)
|
|
|
|
|
battlewagon.MountPoints += 4 -> MountInfo(3)
|
|
|
|
|
battlewagon.MountPoints += 5 -> MountInfo(4)
|
2017-11-26 00:00:41 -05:00
|
|
|
battlewagon.TrunkSize = InventoryTile.Tile1515
|
|
|
|
|
battlewagon.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
battlewagon.TrunkLocation = Vector3(-3.46f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
battlewagon.AutoPilotSpeeds = (18, 6)
|
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 09:28:45 -04:00
|
|
|
battlewagon.DestroyedModel = Some(DestroyedVehicle.MediumTransport)
|
2019-08-21 15:39:44 +01:00
|
|
|
battlewagon.JackingDuration = Array(0, 25, 8, 5)
|
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 14:32:42 -05:00
|
|
|
battlewagon.explodes = true
|
|
|
|
|
battlewagon.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
battlewagon.DrownAtMaxDepth = true
|
|
|
|
|
battlewagon.MaxDepth = 1.2f
|
|
|
|
|
battlewagon.UnderwaterLifespan(suffocation = -1, recovery = -1)
|
2021-02-03 19:39:32 -05:00
|
|
|
battlewagon.Geometry = delivererForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
thunderer.Name = "thunderer"
|
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 09:28:45 -04:00
|
|
|
thunderer.MaxHealth = 2500
|
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 15:17:32 -04:00
|
|
|
thunderer.Damageable = true
|
|
|
|
|
thunderer.Repairable = true
|
|
|
|
|
thunderer.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
thunderer.MaxShields = 500
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
thunderer.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
thunderer.Seats += 1 -> new SeatDefinition()
|
|
|
|
|
thunderer.Seats += 2 -> new SeatDefinition()
|
|
|
|
|
thunderer.Seats += 3 -> new SeatDefinition()
|
|
|
|
|
thunderer.Seats += 4 -> new SeatDefinition()
|
|
|
|
|
thunderer.Weapons += 5 -> thunderer_weapon_systema
|
|
|
|
|
thunderer.Weapons += 6 -> thunderer_weapon_systemb
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
thunderer.controlledWeapons += 1 -> 5
|
|
|
|
|
thunderer.controlledWeapons += 2 -> 6
|
2021-04-16 21:37:20 +02:00
|
|
|
thunderer.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
thunderer.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
thunderer.MountPoints += 3 -> MountInfo(2)
|
|
|
|
|
thunderer.MountPoints += 4 -> MountInfo(3)
|
|
|
|
|
thunderer.MountPoints += 5 -> MountInfo(4)
|
2017-11-26 00:00:41 -05:00
|
|
|
thunderer.TrunkSize = InventoryTile.Tile1515
|
|
|
|
|
thunderer.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
thunderer.TrunkLocation = Vector3(-3.46f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
thunderer.AutoPilotSpeeds = (18, 6)
|
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 09:28:45 -04:00
|
|
|
thunderer.DestroyedModel = Some(DestroyedVehicle.MediumTransport)
|
2018-11-21 20:31:51 -05:00
|
|
|
thunderer.Subtract.Damage1 = 7
|
2019-08-21 15:39:44 +01:00
|
|
|
thunderer.JackingDuration = Array(0, 25, 8, 5)
|
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 14:32:42 -05:00
|
|
|
thunderer.explodes = true
|
|
|
|
|
thunderer.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
thunderer.DrownAtMaxDepth = true
|
|
|
|
|
thunderer.MaxDepth = 1.2f
|
|
|
|
|
thunderer.UnderwaterLifespan(suffocation = -1, recovery = -1)
|
2021-02-03 19:39:32 -05:00
|
|
|
thunderer.Geometry = delivererForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
aurora.Name = "aurora"
|
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 09:28:45 -04:00
|
|
|
aurora.MaxHealth = 2500
|
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 15:17:32 -04:00
|
|
|
aurora.Damageable = true
|
|
|
|
|
aurora.Repairable = true
|
|
|
|
|
aurora.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
aurora.MaxShields = 500
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
aurora.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
aurora.Seats += 1 -> new SeatDefinition()
|
|
|
|
|
aurora.Seats += 2 -> new SeatDefinition()
|
|
|
|
|
aurora.Seats += 3 -> new SeatDefinition()
|
|
|
|
|
aurora.Seats += 4 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
aurora.controlledWeapons += 1 -> 5
|
|
|
|
|
aurora.controlledWeapons += 2 -> 6
|
2021-04-16 21:37:20 +02:00
|
|
|
aurora.Weapons += 5 -> aurora_weapon_systema
|
|
|
|
|
aurora.Weapons += 6 -> aurora_weapon_systemb
|
|
|
|
|
aurora.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
aurora.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
aurora.MountPoints += 3 -> MountInfo(2)
|
|
|
|
|
aurora.MountPoints += 4 -> MountInfo(3)
|
|
|
|
|
aurora.MountPoints += 5 -> MountInfo(4)
|
2017-11-26 00:00:41 -05:00
|
|
|
aurora.TrunkSize = InventoryTile.Tile1515
|
|
|
|
|
aurora.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
aurora.TrunkLocation = Vector3(-3.46f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
aurora.AutoPilotSpeeds = (18, 6)
|
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 09:28:45 -04:00
|
|
|
aurora.DestroyedModel = Some(DestroyedVehicle.MediumTransport)
|
2018-11-21 20:31:51 -05:00
|
|
|
aurora.Subtract.Damage1 = 7
|
2020-07-14 05:54:05 +02:00
|
|
|
aurora.JackingDuration = Array(0, 25, 8, 5)
|
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 14:32:42 -05:00
|
|
|
aurora.explodes = true
|
|
|
|
|
aurora.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
aurora.DrownAtMaxDepth = true
|
|
|
|
|
aurora.MaxDepth = 1.2f
|
|
|
|
|
aurora.UnderwaterLifespan(suffocation = -1, recovery = -1)
|
2021-02-03 19:39:32 -05:00
|
|
|
aurora.Geometry = delivererForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
apc_tr.Name = "apc_tr" // Juggernaut
|
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 09:28:45 -04:00
|
|
|
apc_tr.MaxHealth = 6000
|
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 15:17:32 -04:00
|
|
|
apc_tr.Damageable = true
|
|
|
|
|
apc_tr.Repairable = true
|
|
|
|
|
apc_tr.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
apc_tr.MaxShields = 1200
|
2021-04-16 21:37:20 +02:00
|
|
|
apc_tr.Seats += 0 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 1 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 2 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 3 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 4 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 5 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 6 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 7 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 8 -> new SeatDefinition()
|
|
|
|
|
apc_tr.Seats += 9 -> maxOnlySeat
|
|
|
|
|
apc_tr.Seats += 10 -> maxOnlySeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
apc_tr.controlledWeapons += 1 -> 11
|
|
|
|
|
apc_tr.controlledWeapons += 2 -> 12
|
|
|
|
|
apc_tr.controlledWeapons += 5 -> 15
|
|
|
|
|
apc_tr.controlledWeapons += 6 -> 16
|
|
|
|
|
apc_tr.controlledWeapons += 7 -> 13
|
|
|
|
|
apc_tr.controlledWeapons += 8 -> 14
|
2021-04-16 21:37:20 +02:00
|
|
|
apc_tr.Weapons += 11 -> apc_weapon_systemc_tr
|
|
|
|
|
apc_tr.Weapons += 12 -> apc_weapon_systemb
|
|
|
|
|
apc_tr.Weapons += 13 -> apc_weapon_systema
|
|
|
|
|
apc_tr.Weapons += 14 -> apc_weapon_systemd_tr
|
|
|
|
|
apc_tr.Weapons += 15 -> apc_ballgun_r
|
|
|
|
|
apc_tr.Weapons += 16 -> apc_ballgun_l
|
|
|
|
|
apc_tr.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
apc_tr.MountPoints += 2 -> MountInfo(0)
|
|
|
|
|
apc_tr.MountPoints += 3 -> MountInfo(1)
|
|
|
|
|
apc_tr.MountPoints += 4 -> MountInfo(2)
|
|
|
|
|
apc_tr.MountPoints += 5 -> MountInfo(3)
|
|
|
|
|
apc_tr.MountPoints += 6 -> MountInfo(4)
|
|
|
|
|
apc_tr.MountPoints += 7 -> MountInfo(5)
|
|
|
|
|
apc_tr.MountPoints += 8 -> MountInfo(6)
|
|
|
|
|
apc_tr.MountPoints += 9 -> MountInfo(7)
|
|
|
|
|
apc_tr.MountPoints += 10 -> MountInfo(8)
|
|
|
|
|
apc_tr.MountPoints += 11 -> MountInfo(9)
|
|
|
|
|
apc_tr.MountPoints += 12 -> MountInfo(10)
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_tr.TrunkSize = InventoryTile.Tile2016
|
|
|
|
|
apc_tr.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
apc_tr.TrunkLocation = Vector3(-5.82f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
apc_tr.AutoPilotSpeeds = (16, 6)
|
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 09:28:45 -04:00
|
|
|
apc_tr.DestroyedModel = Some(DestroyedVehicle.Apc)
|
2019-08-21 15:39:44 +01:00
|
|
|
apc_tr.JackingDuration = Array(0, 45, 15, 10)
|
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 14:32:42 -05:00
|
|
|
apc_tr.Subtract.Damage1 = 10
|
|
|
|
|
apc_tr.explodes = true
|
|
|
|
|
apc_tr.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 300
|
|
|
|
|
Damage1 = 450
|
|
|
|
|
DamageRadius = 15
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
apc_tr.DrownAtMaxDepth = true
|
|
|
|
|
apc_tr.MaxDepth = 3
|
|
|
|
|
apc_tr.UnderwaterLifespan(suffocation = 15000L, recovery = 7500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
apc_tr.Geometry = apcForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
apc_nc.Name = "apc_nc" // Vindicator
|
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 09:28:45 -04:00
|
|
|
apc_nc.MaxHealth = 6000
|
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 15:17:32 -04:00
|
|
|
apc_nc.Damageable = true
|
|
|
|
|
apc_nc.Repairable = true
|
|
|
|
|
apc_nc.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
apc_nc.MaxShields = 1200
|
2021-04-16 21:37:20 +02:00
|
|
|
apc_nc.Seats += 0 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 1 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 2 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 3 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 4 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 5 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 6 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 7 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 8 -> new SeatDefinition()
|
|
|
|
|
apc_nc.Seats += 9 -> maxOnlySeat
|
|
|
|
|
apc_nc.Seats += 10 -> maxOnlySeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
apc_nc.controlledWeapons += 1 -> 11
|
|
|
|
|
apc_nc.controlledWeapons += 2 -> 12
|
|
|
|
|
apc_nc.controlledWeapons += 5 -> 15
|
|
|
|
|
apc_nc.controlledWeapons += 6 -> 16
|
|
|
|
|
apc_nc.controlledWeapons += 7 -> 13
|
|
|
|
|
apc_nc.controlledWeapons += 8 -> 14
|
2021-04-16 21:37:20 +02:00
|
|
|
apc_nc.Weapons += 11 -> apc_weapon_systemc_nc
|
|
|
|
|
apc_nc.Weapons += 12 -> apc_weapon_systemb
|
|
|
|
|
apc_nc.Weapons += 13 -> apc_weapon_systema
|
|
|
|
|
apc_nc.Weapons += 14 -> apc_weapon_systemd_nc
|
|
|
|
|
apc_nc.Weapons += 15 -> apc_ballgun_r
|
|
|
|
|
apc_nc.Weapons += 16 -> apc_ballgun_l
|
|
|
|
|
apc_nc.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
apc_nc.MountPoints += 2 -> MountInfo(0)
|
|
|
|
|
apc_nc.MountPoints += 3 -> MountInfo(1)
|
|
|
|
|
apc_nc.MountPoints += 4 -> MountInfo(2)
|
|
|
|
|
apc_nc.MountPoints += 5 -> MountInfo(3)
|
|
|
|
|
apc_nc.MountPoints += 6 -> MountInfo(4)
|
|
|
|
|
apc_nc.MountPoints += 7 -> MountInfo(5)
|
|
|
|
|
apc_nc.MountPoints += 8 -> MountInfo(6)
|
|
|
|
|
apc_nc.MountPoints += 9 -> MountInfo(7)
|
|
|
|
|
apc_nc.MountPoints += 10 -> MountInfo(8)
|
|
|
|
|
apc_nc.MountPoints += 11 -> MountInfo(9)
|
|
|
|
|
apc_nc.MountPoints += 12 -> MountInfo(10)
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_nc.TrunkSize = InventoryTile.Tile2016
|
|
|
|
|
apc_nc.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
apc_nc.TrunkLocation = Vector3(-5.82f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
apc_nc.AutoPilotSpeeds = (16, 6)
|
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 09:28:45 -04:00
|
|
|
apc_nc.DestroyedModel = Some(DestroyedVehicle.Apc)
|
2019-08-21 15:39:44 +01:00
|
|
|
apc_nc.JackingDuration = Array(0, 45, 15, 10)
|
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 14:32:42 -05:00
|
|
|
apc_nc.Subtract.Damage1 = 10
|
|
|
|
|
apc_nc.explodes = true
|
|
|
|
|
apc_nc.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 300
|
|
|
|
|
Damage1 = 450
|
|
|
|
|
DamageRadius = 15
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
apc_nc.DrownAtMaxDepth = true
|
|
|
|
|
apc_nc.MaxDepth = 3
|
|
|
|
|
apc_nc.UnderwaterLifespan(suffocation = 15000L, recovery = 7500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
apc_nc.Geometry = apcForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
apc_vs.Name = "apc_vs" // Leviathan
|
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 09:28:45 -04:00
|
|
|
apc_vs.MaxHealth = 6000
|
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 15:17:32 -04:00
|
|
|
apc_vs.Damageable = true
|
|
|
|
|
apc_vs.Repairable = true
|
|
|
|
|
apc_vs.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
apc_vs.MaxShields = 1200
|
2021-04-16 21:37:20 +02:00
|
|
|
apc_vs.Seats += 0 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 1 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 2 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 3 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 4 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 5 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 6 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 7 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 8 -> new SeatDefinition()
|
|
|
|
|
apc_vs.Seats += 9 -> maxOnlySeat
|
|
|
|
|
apc_vs.Seats += 10 -> maxOnlySeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
apc_vs.controlledWeapons += 1 -> 11
|
|
|
|
|
apc_vs.controlledWeapons += 2 -> 12
|
|
|
|
|
apc_vs.controlledWeapons += 5 -> 15
|
|
|
|
|
apc_vs.controlledWeapons += 6 -> 16
|
|
|
|
|
apc_vs.controlledWeapons += 7 -> 13
|
|
|
|
|
apc_vs.controlledWeapons += 8 -> 14
|
2021-04-16 21:37:20 +02:00
|
|
|
apc_vs.Weapons += 11 -> apc_weapon_systemc_vs
|
|
|
|
|
apc_vs.Weapons += 12 -> apc_weapon_systemb
|
|
|
|
|
apc_vs.Weapons += 13 -> apc_weapon_systema
|
|
|
|
|
apc_vs.Weapons += 14 -> apc_weapon_systemd_vs
|
|
|
|
|
apc_vs.Weapons += 15 -> apc_ballgun_r
|
|
|
|
|
apc_vs.Weapons += 16 -> apc_ballgun_l
|
|
|
|
|
apc_vs.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
apc_vs.MountPoints += 2 -> MountInfo(0)
|
|
|
|
|
apc_vs.MountPoints += 3 -> MountInfo(1)
|
|
|
|
|
apc_vs.MountPoints += 4 -> MountInfo(2)
|
|
|
|
|
apc_vs.MountPoints += 5 -> MountInfo(3)
|
|
|
|
|
apc_vs.MountPoints += 6 -> MountInfo(4)
|
|
|
|
|
apc_vs.MountPoints += 7 -> MountInfo(5)
|
|
|
|
|
apc_vs.MountPoints += 8 -> MountInfo(6)
|
|
|
|
|
apc_vs.MountPoints += 9 -> MountInfo(7)
|
|
|
|
|
apc_vs.MountPoints += 10 -> MountInfo(8)
|
|
|
|
|
apc_vs.MountPoints += 11 -> MountInfo(9)
|
|
|
|
|
apc_vs.MountPoints += 12 -> MountInfo(10)
|
2017-11-26 00:00:41 -05:00
|
|
|
apc_vs.TrunkSize = InventoryTile.Tile2016
|
|
|
|
|
apc_vs.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
apc_vs.TrunkLocation = Vector3(-5.82f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
apc_vs.AutoPilotSpeeds = (16, 6)
|
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 09:28:45 -04:00
|
|
|
apc_vs.DestroyedModel = Some(DestroyedVehicle.Apc)
|
2019-08-21 15:39:44 +01:00
|
|
|
apc_vs.JackingDuration = Array(0, 45, 15, 10)
|
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 14:32:42 -05:00
|
|
|
apc_vs.Subtract.Damage1 = 10
|
|
|
|
|
apc_vs.explodes = true
|
|
|
|
|
apc_vs.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 300
|
|
|
|
|
Damage1 = 450
|
|
|
|
|
DamageRadius = 15
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
apc_vs.DrownAtMaxDepth = true
|
|
|
|
|
apc_vs.MaxDepth = 3
|
|
|
|
|
apc_vs.UnderwaterLifespan(suffocation = 15000L, recovery = 7500L)
|
2021-02-03 19:39:32 -05:00
|
|
|
apc_vs.Geometry = apcForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
lightning.Name = "lightning"
|
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 09:28:45 -04:00
|
|
|
lightning.MaxHealth = 2000
|
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 15:17:32 -04:00
|
|
|
lightning.Damageable = true
|
|
|
|
|
lightning.Repairable = true
|
|
|
|
|
lightning.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
lightning.MaxShields = 400
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
lightning.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
|
|
|
|
lightning.controlledWeapons += 0 -> 1
|
2021-04-16 21:37:20 +02:00
|
|
|
lightning.Weapons += 1 -> lightning_weapon_system
|
|
|
|
|
lightning.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
lightning.MountPoints += 2 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
lightning.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
lightning.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
lightning.TrunkLocation = Vector3(-3f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
lightning.AutoPilotSpeeds = (20, 8)
|
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 09:28:45 -04:00
|
|
|
lightning.DestroyedModel = Some(DestroyedVehicle.Lightning)
|
2018-11-21 20:31:51 -05:00
|
|
|
lightning.Subtract.Damage1 = 7
|
2020-07-14 05:54:05 +02:00
|
|
|
lightning.JackingDuration = Array(0, 20, 7, 5)
|
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 14:32:42 -05:00
|
|
|
lightning.explodes = true
|
|
|
|
|
lightning.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 250
|
|
|
|
|
Damage1 = 375
|
|
|
|
|
DamageRadius = 10
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
lightning.DrownAtMaxDepth = true
|
|
|
|
|
lightning.MaxDepth = 1.38f
|
|
|
|
|
lightning.UnderwaterLifespan(suffocation = 12000L, recovery = 6000L)
|
2021-02-03 19:39:32 -05:00
|
|
|
lightning.Geometry = GeometryForm.representByCylinder(radius = 2.5078f, height = 1.79688f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
prowler.Name = "prowler"
|
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 09:28:45 -04:00
|
|
|
prowler.MaxHealth = 4800
|
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 15:17:32 -04:00
|
|
|
prowler.Damageable = true
|
|
|
|
|
prowler.Repairable = true
|
|
|
|
|
prowler.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
prowler.MaxShields = 960
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
prowler.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
prowler.Seats += 1 -> new SeatDefinition()
|
|
|
|
|
prowler.Seats += 2 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
prowler.controlledWeapons += 1 -> 3
|
|
|
|
|
prowler.controlledWeapons += 2 -> 4
|
2021-04-16 21:37:20 +02:00
|
|
|
prowler.Weapons += 3 -> prowler_weapon_systemA
|
|
|
|
|
prowler.Weapons += 4 -> prowler_weapon_systemB
|
|
|
|
|
prowler.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
prowler.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
prowler.MountPoints += 3 -> MountInfo(2)
|
2017-11-26 00:00:41 -05:00
|
|
|
prowler.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
prowler.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
prowler.TrunkLocation = Vector3(-4.71f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
prowler.AutoPilotSpeeds = (14, 6)
|
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 09:28:45 -04:00
|
|
|
prowler.DestroyedModel = Some(DestroyedVehicle.Prowler)
|
2018-11-21 20:31:51 -05:00
|
|
|
prowler.Subtract.Damage1 = 9
|
2019-08-21 15:39:44 +01:00
|
|
|
prowler.JackingDuration = Array(0, 30, 10, 5)
|
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 14:32:42 -05:00
|
|
|
prowler.explodes = true
|
|
|
|
|
prowler.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 250
|
|
|
|
|
Damage1 = 375
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
prowler.DrownAtMaxDepth = true
|
|
|
|
|
prowler.MaxDepth = 3
|
|
|
|
|
prowler.UnderwaterLifespan(suffocation = 12000L, recovery = 6000L)
|
2021-02-03 19:39:32 -05:00
|
|
|
prowler.Geometry = GeometryForm.representByCylinder(radius = 3.461f, height = 3.48438f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
vanguard.Name = "vanguard"
|
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 09:28:45 -04:00
|
|
|
vanguard.MaxHealth = 5400
|
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 15:17:32 -04:00
|
|
|
vanguard.Damageable = true
|
|
|
|
|
vanguard.Repairable = true
|
|
|
|
|
vanguard.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
vanguard.MaxShields = 1080
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
vanguard.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
vanguard.Seats += 1 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
vanguard.controlledWeapons += 1 -> 2
|
2021-04-16 21:37:20 +02:00
|
|
|
vanguard.Weapons += 2 -> vanguard_weapon_system
|
|
|
|
|
vanguard.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
vanguard.MountPoints += 2 -> MountInfo(1)
|
2017-11-26 00:00:41 -05:00
|
|
|
vanguard.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
vanguard.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
vanguard.TrunkLocation = Vector3(-4.84f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
vanguard.AutoPilotSpeeds = (16, 6)
|
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 09:28:45 -04:00
|
|
|
vanguard.DestroyedModel = Some(DestroyedVehicle.Vanguard)
|
2018-11-21 20:31:51 -05:00
|
|
|
vanguard.Subtract.Damage1 = 9
|
2019-08-21 15:39:44 +01:00
|
|
|
vanguard.JackingDuration = Array(0, 30, 10, 5)
|
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 14:32:42 -05:00
|
|
|
vanguard.explodes = true
|
|
|
|
|
vanguard.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 250
|
|
|
|
|
Damage1 = 375
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
vanguard.DrownAtMaxDepth = true
|
|
|
|
|
vanguard.MaxDepth = 2.7f
|
|
|
|
|
vanguard.UnderwaterLifespan(suffocation = 12000L, recovery = 6000L)
|
2021-02-03 19:39:32 -05:00
|
|
|
vanguard.Geometry = GeometryForm.representByCylinder(radius = 3.8554f, height = 2.60938f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
magrider.Name = "magrider"
|
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 09:28:45 -04:00
|
|
|
magrider.MaxHealth = 4200
|
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 15:17:32 -04:00
|
|
|
magrider.Damageable = true
|
|
|
|
|
magrider.Repairable = true
|
|
|
|
|
magrider.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
magrider.MaxShields = 840
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
magrider.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
magrider.Seats += 1 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
magrider.controlledWeapons += 0 -> 2
|
|
|
|
|
magrider.controlledWeapons += 1 -> 3
|
2021-04-16 21:37:20 +02:00
|
|
|
magrider.Weapons += 2 -> particle_beam_magrider
|
|
|
|
|
magrider.Weapons += 3 -> heavy_rail_beam_magrider
|
|
|
|
|
magrider.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
magrider.MountPoints += 2 -> MountInfo(1)
|
2017-11-26 00:00:41 -05:00
|
|
|
magrider.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
magrider.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
magrider.TrunkLocation = Vector3(5.06f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
magrider.AutoPilotSpeeds = (18, 6)
|
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 09:28:45 -04:00
|
|
|
magrider.DestroyedModel = Some(DestroyedVehicle.Magrider)
|
2018-11-21 20:31:51 -05:00
|
|
|
magrider.Subtract.Damage1 = 9
|
2019-08-21 15:39:44 +01:00
|
|
|
magrider.JackingDuration = Array(0, 30, 10, 5)
|
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 14:32:42 -05:00
|
|
|
magrider.explodes = true
|
|
|
|
|
magrider.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 250
|
|
|
|
|
Damage1 = 375
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
magrider.DrownAtMaxDepth = true
|
|
|
|
|
magrider.MaxDepth = 2
|
|
|
|
|
magrider.UnderwaterLifespan(suffocation = 45000L, recovery = 5000L) //but the magrider hovers over water, so ...?
|
2021-02-03 19:39:32 -05:00
|
|
|
magrider.Geometry = GeometryForm.representByCylinder(radius = 3.3008f, height = 3.26562f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
|
|
|
|
val utilityConverter = new UtilityVehicleConverter
|
2018-04-13 23:10:52 -04:00
|
|
|
ant.Name = "ant"
|
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 09:28:45 -04:00
|
|
|
ant.MaxHealth = 2000
|
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 15:17:32 -04:00
|
|
|
ant.Damageable = true
|
|
|
|
|
ant.Repairable = true
|
|
|
|
|
ant.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
ant.MaxShields = 400
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
ant.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
|
|
|
|
ant.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
ant.MountPoints += 2 -> MountInfo(0)
|
2018-05-26 07:51:18 +01:00
|
|
|
ant.Deployment = true
|
|
|
|
|
ant.DeployTime = 1500
|
|
|
|
|
ant.UndeployTime = 1500
|
2018-04-13 23:10:52 -04:00
|
|
|
ant.AutoPilotSpeeds = (18, 6)
|
2020-01-08 13:24:14 +00:00
|
|
|
ant.MaxNtuCapacitor = 1500
|
2017-11-26 00:00:41 -05:00
|
|
|
ant.Packet = utilityConverter
|
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 09:28:45 -04:00
|
|
|
ant.DestroyedModel = Some(DestroyedVehicle.Ant)
|
2018-11-21 20:31:51 -05:00
|
|
|
ant.Subtract.Damage1 = 5
|
2020-07-14 05:54:05 +02:00
|
|
|
ant.JackingDuration = Array(0, 60, 20, 15)
|
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 14:32:42 -05:00
|
|
|
ant.explodes = true
|
|
|
|
|
ant.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 300
|
|
|
|
|
Damage1 = 450
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
ant.DrownAtMaxDepth = true
|
|
|
|
|
ant.MaxDepth = 2
|
|
|
|
|
ant.UnderwaterLifespan(suffocation = 12000L, recovery = 6000L)
|
2021-02-03 19:39:32 -05:00
|
|
|
ant.Geometry = GeometryForm.representByCylinder(radius = 2.16795f, height = 2.09376f) //TODO hexahedron
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
ams.Name = "ams"
|
2020-07-14 20:44:15 +02:00
|
|
|
ams.MaxHealth = 5000 // Temporary - original value is 3000
|
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 15:17:32 -04:00
|
|
|
ams.Damageable = true
|
|
|
|
|
ams.Repairable = true
|
|
|
|
|
ams.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
ams.MaxShields = 1000 // Temporary - original value is 600 + 1
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
ams.Seats += 0 -> new SeatDefinition() {
|
|
|
|
|
restriction = NoReinforcedOrMax
|
|
|
|
|
}
|
|
|
|
|
ams.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
ams.MountPoints += 2 -> MountInfo(0)
|
2020-07-14 05:54:05 +02:00
|
|
|
ams.Utilities += 1 -> UtilityType.matrix_terminalc
|
|
|
|
|
ams.Utilities += 2 -> UtilityType.ams_respawn_tube
|
|
|
|
|
ams.Utilities += 3 -> UtilityType.order_terminala
|
|
|
|
|
ams.Utilities += 4 -> UtilityType.order_terminalb
|
2018-02-09 19:05:16 -05:00
|
|
|
ams.Deployment = true
|
|
|
|
|
ams.DeployTime = 2000
|
|
|
|
|
ams.UndeployTime = 2000
|
2018-05-27 20:59:44 -04:00
|
|
|
ams.DeconstructionTime = Some(20 minutes)
|
2018-04-13 23:10:52 -04:00
|
|
|
ams.AutoPilotSpeeds = (18, 6)
|
2017-11-26 00:00:41 -05:00
|
|
|
ams.Packet = utilityConverter
|
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 09:28:45 -04:00
|
|
|
ams.DestroyedModel = Some(DestroyedVehicle.Ams)
|
2018-11-21 20:31:51 -05:00
|
|
|
ams.Subtract.Damage1 = 10
|
2020-07-14 20:44:15 +02:00
|
|
|
ams.JackingDuration = Array(0, 60, 40, 30) // Temporary - original values are 0, 60, 20, 15
|
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 14:32:42 -05:00
|
|
|
ams.explodes = true
|
|
|
|
|
ams.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.Splash
|
|
|
|
|
Damage0 = 300
|
|
|
|
|
Damage1 = 450
|
|
|
|
|
DamageRadius = 15
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
ams.DrownAtMaxDepth = true
|
|
|
|
|
ams.MaxDepth = 3
|
|
|
|
|
ams.UnderwaterLifespan(suffocation = 5000L, recovery = 5000L)
|
2021-02-03 19:39:32 -05:00
|
|
|
ams.Geometry = GeometryForm.representByCylinder(radius = 3.0117f, height = 3.39062f) //TODO hexahedron
|
2017-11-26 00:00:41 -05:00
|
|
|
|
|
|
|
|
val variantConverter = new VariantVehicleConverter
|
2018-04-13 23:10:52 -04:00
|
|
|
router.Name = "router"
|
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 09:28:45 -04:00
|
|
|
router.MaxHealth = 4000
|
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 15:17:32 -04:00
|
|
|
router.Damageable = true
|
|
|
|
|
router.Repairable = true
|
|
|
|
|
router.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
router.MaxShields = 800
|
2020-07-14 05:54:05 +02:00
|
|
|
router.Seats += 0 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
router.MountPoints += 1 -> MountInfo(0)
|
2020-07-14 05:54:05 +02:00
|
|
|
router.Utilities += 1 -> UtilityType.teleportpad_terminal
|
|
|
|
|
router.Utilities += 2 -> UtilityType.internal_router_telepad_deployable
|
2017-11-26 00:00:41 -05:00
|
|
|
router.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
router.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
router.TrunkLocation = Vector3(0f, 3.4f, 0f)
|
2018-02-09 19:05:16 -05:00
|
|
|
router.Deployment = true
|
|
|
|
|
router.DeployTime = 2000
|
|
|
|
|
router.UndeployTime = 2000
|
2018-05-27 20:59:44 -04:00
|
|
|
router.DeconstructionTime = Duration(20, "minutes")
|
2018-04-13 23:10:52 -04:00
|
|
|
router.AutoPilotSpeeds = (16, 6)
|
2017-11-26 00:00:41 -05:00
|
|
|
router.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
router.DestroyedModel = Some(DestroyedVehicle.Router)
|
2018-11-21 20:31:51 -05:00
|
|
|
router.Subtract.Damage1 = 5
|
2019-08-21 15:39:44 +01:00
|
|
|
router.JackingDuration = Array(0, 20, 7, 5)
|
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 14:32:42 -05:00
|
|
|
router.explodes = true
|
|
|
|
|
router.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 10
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
router.DrownAtMaxDepth = true
|
|
|
|
|
router.MaxDepth = 2
|
2021-04-16 21:37:20 +02:00
|
|
|
router.UnderwaterLifespan(suffocation = 45000L, recovery = 5000L) //but the router hovers over water, so ...?
|
2021-02-03 19:39:32 -05:00
|
|
|
router.Geometry = GeometryForm.representByCylinder(radius = 3.64845f, height = 3.51563f) //TODO hexahedron
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
switchblade.Name = "switchblade"
|
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 09:28:45 -04:00
|
|
|
switchblade.MaxHealth = 1750
|
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 15:17:32 -04:00
|
|
|
switchblade.Damageable = true
|
|
|
|
|
switchblade.Repairable = true
|
|
|
|
|
switchblade.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
switchblade.MaxShields = 350
|
2021-04-16 21:37:20 +02:00
|
|
|
switchblade.Seats += 0 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
switchblade.controlledWeapons += 0 -> 1
|
2021-04-16 21:37:20 +02:00
|
|
|
switchblade.Weapons += 1 -> scythe
|
|
|
|
|
switchblade.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
switchblade.MountPoints += 2 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
switchblade.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
switchblade.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
switchblade.TrunkLocation = Vector3(-2.5f, 0f, 0f)
|
2018-02-09 19:05:16 -05:00
|
|
|
switchblade.Deployment = true
|
|
|
|
|
switchblade.DeployTime = 2000
|
|
|
|
|
switchblade.UndeployTime = 2000
|
2018-04-13 23:10:52 -04:00
|
|
|
switchblade.AutoPilotSpeeds = (22, 8)
|
2017-11-26 00:00:41 -05:00
|
|
|
switchblade.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
switchblade.DestroyedModel = Some(DestroyedVehicle.Switchblade)
|
2018-11-21 20:31:51 -05:00
|
|
|
switchblade.Subtract.Damage0 = 5
|
|
|
|
|
switchblade.Subtract.Damage1 = 5
|
2019-08-21 15:39:44 +01:00
|
|
|
switchblade.JackingDuration = Array(0, 20, 7, 5)
|
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 14:32:42 -05:00
|
|
|
switchblade.explodes = true
|
|
|
|
|
switchblade.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 10
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
switchblade.DrownAtMaxDepth = true
|
|
|
|
|
switchblade.MaxDepth = 2
|
2021-04-16 21:37:20 +02:00
|
|
|
switchblade.UnderwaterLifespan(
|
|
|
|
|
suffocation = 45000L,
|
|
|
|
|
recovery = 5000L
|
|
|
|
|
) //but the switchblade hovers over water, so ...?
|
2021-02-03 19:39:32 -05:00
|
|
|
switchblade.Geometry = GeometryForm.representByCylinder(radius = 2.4335f, height = 2.73438f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
flail.Name = "flail"
|
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 09:28:45 -04:00
|
|
|
flail.MaxHealth = 2400
|
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 15:17:32 -04:00
|
|
|
flail.Damageable = true
|
|
|
|
|
flail.Repairable = true
|
|
|
|
|
flail.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
flail.MaxShields = 480
|
2021-04-16 21:37:20 +02:00
|
|
|
flail.Seats += 0 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
flail.controlledWeapons += 0 -> 1
|
2021-04-16 21:37:20 +02:00
|
|
|
flail.Weapons += 1 -> flail_weapon
|
|
|
|
|
flail.MountPoints += 1 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
flail.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
flail.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
flail.TrunkLocation = Vector3(-3.75f, 0f, 0f)
|
2018-02-09 19:05:16 -05:00
|
|
|
flail.Deployment = true
|
|
|
|
|
flail.DeployTime = 2000
|
|
|
|
|
flail.UndeployTime = 2000
|
2018-04-13 23:10:52 -04:00
|
|
|
flail.AutoPilotSpeeds = (14, 6)
|
2017-11-26 00:00:41 -05:00
|
|
|
flail.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
flail.DestroyedModel = Some(DestroyedVehicle.Flail)
|
2018-11-21 20:31:51 -05:00
|
|
|
flail.Subtract.Damage1 = 7
|
2019-08-21 15:39:44 +01:00
|
|
|
flail.JackingDuration = Array(0, 20, 7, 5)
|
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 14:32:42 -05:00
|
|
|
flail.explodes = true
|
|
|
|
|
flail.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 10
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
flail.DrownAtMaxDepth = true
|
|
|
|
|
flail.MaxDepth = 2
|
|
|
|
|
flail.UnderwaterLifespan(suffocation = 45000L, recovery = 5000L) //but the flail hovers over water, so ...?
|
2021-02-03 19:39:32 -05:00
|
|
|
flail.Geometry = GeometryForm.representByCylinder(radius = 2.1875f, height = 2.21875f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
mosquito.Name = "mosquito"
|
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 09:28:45 -04:00
|
|
|
mosquito.MaxHealth = 665
|
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 15:17:32 -04:00
|
|
|
mosquito.Damageable = true
|
|
|
|
|
mosquito.Repairable = true
|
|
|
|
|
mosquito.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
mosquito.MaxShields = 133
|
2019-04-08 08:05:15 -04:00
|
|
|
mosquito.CanFly = true
|
2021-04-16 21:37:20 +02:00
|
|
|
mosquito.Seats += 0 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
mosquito.controlledWeapons += 0 -> 1
|
2021-04-16 21:37:20 +02:00
|
|
|
mosquito.Weapons += 1 -> rotarychaingun_mosquito
|
|
|
|
|
mosquito.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
mosquito.MountPoints += 2 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
mosquito.TrunkSize = InventoryTile.Tile1111
|
|
|
|
|
mosquito.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
mosquito.TrunkLocation = Vector3(-4.6f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
mosquito.AutoPilotSpeeds = (0, 6)
|
2017-11-26 00:00:41 -05:00
|
|
|
mosquito.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
mosquito.DestroyedModel = Some(DestroyedVehicle.Mosquito)
|
2019-08-21 15:39:44 +01:00
|
|
|
mosquito.JackingDuration = Array(0, 20, 7, 5)
|
2020-07-28 00:02:43 -04:00
|
|
|
mosquito.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
mosquito.explodes = true
|
|
|
|
|
mosquito.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 10
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
mosquito.DrownAtMaxDepth = true
|
|
|
|
|
mosquito.MaxDepth = 2 //flying vehicles will automatically disable
|
2021-02-03 19:39:32 -05:00
|
|
|
mosquito.Geometry = GeometryForm.representByCylinder(radius = 2.72108f, height = 2.5f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
lightgunship.Name = "lightgunship" // Reaver
|
2021-04-21 15:08:31 -05:00
|
|
|
lightgunship.MaxHealth = 855 // Temporary - Correct Reaver Health from pre-"Coder Madness 2" Event
|
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 15:17:32 -04:00
|
|
|
lightgunship.Damageable = true
|
|
|
|
|
lightgunship.Repairable = true
|
|
|
|
|
lightgunship.RepairIfDestroyed = false
|
2021-04-21 15:08:31 -05:00
|
|
|
lightgunship.MaxShields = 171 // Temporary - Correct Reaver Shields from pre-"Coder Madness 2" Event
|
2019-04-08 08:05:15 -04:00
|
|
|
lightgunship.CanFly = true
|
2021-04-16 21:37:20 +02:00
|
|
|
lightgunship.Seats += 0 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
lightgunship.controlledWeapons += 0 -> 1
|
2021-04-16 21:37:20 +02:00
|
|
|
lightgunship.Weapons += 1 -> lightgunship_weapon_system
|
|
|
|
|
lightgunship.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
lightgunship.MountPoints += 2 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
lightgunship.TrunkSize = InventoryTile.Tile1511
|
|
|
|
|
lightgunship.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
lightgunship.TrunkLocation = Vector3(-5.61f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
lightgunship.AutoPilotSpeeds = (0, 4)
|
2017-11-26 00:00:41 -05:00
|
|
|
lightgunship.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
lightgunship.DestroyedModel = Some(DestroyedVehicle.LightGunship)
|
2018-11-21 20:31:51 -05:00
|
|
|
lightgunship.Subtract.Damage1 = 3
|
2019-08-21 15:39:44 +01:00
|
|
|
lightgunship.JackingDuration = Array(0, 30, 10, 5)
|
2020-07-28 00:02:43 -04:00
|
|
|
lightgunship.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
lightgunship.explodes = true
|
|
|
|
|
lightgunship.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 250
|
|
|
|
|
Damage1 = 375
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
lightgunship.DrownAtMaxDepth = true
|
|
|
|
|
lightgunship.MaxDepth = 2 //flying vehicles will automatically disable
|
2021-02-03 19:39:32 -05:00
|
|
|
lightgunship.Geometry = GeometryForm.representByCylinder(radius = 2.375f, height = 1.98438f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
wasp.Name = "wasp"
|
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 09:28:45 -04:00
|
|
|
wasp.MaxHealth = 515
|
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 15:17:32 -04:00
|
|
|
wasp.Damageable = true
|
|
|
|
|
wasp.Repairable = true
|
|
|
|
|
wasp.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
wasp.MaxShields = 103
|
2019-04-08 08:05:15 -04:00
|
|
|
wasp.CanFly = true
|
2021-04-16 21:37:20 +02:00
|
|
|
wasp.Seats += 0 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
wasp.controlledWeapons += 0 -> 1
|
2021-04-16 21:37:20 +02:00
|
|
|
wasp.Weapons += 1 -> wasp_weapon_system
|
|
|
|
|
wasp.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
wasp.MountPoints += 2 -> MountInfo(0)
|
2017-11-26 00:00:41 -05:00
|
|
|
wasp.TrunkSize = InventoryTile.Tile1111
|
|
|
|
|
wasp.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
wasp.TrunkLocation = Vector3(-4.6f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
wasp.AutoPilotSpeeds = (0, 6)
|
2017-11-26 00:00:41 -05:00
|
|
|
wasp.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
wasp.DestroyedModel = Some(DestroyedVehicle.Mosquito) //set_resource_parent wasp game_objects mosquito
|
2019-08-21 15:39:44 +01:00
|
|
|
wasp.JackingDuration = Array(0, 20, 7, 5)
|
2020-07-28 00:02:43 -04:00
|
|
|
wasp.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
wasp.explodes = true
|
|
|
|
|
wasp.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 10
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
wasp.DrownAtMaxDepth = true
|
|
|
|
|
wasp.MaxDepth = 2 //flying vehicles will automatically disable
|
2021-02-03 19:39:32 -05:00
|
|
|
wasp.Geometry = GeometryForm.representByCylinder(radius = 2.88675f, height = 2.5f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
liberator.Name = "liberator"
|
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 09:28:45 -04:00
|
|
|
liberator.MaxHealth = 2500
|
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 15:17:32 -04:00
|
|
|
liberator.Damageable = true
|
|
|
|
|
liberator.Repairable = true
|
|
|
|
|
liberator.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
liberator.MaxShields = 500
|
2019-04-08 08:05:15 -04:00
|
|
|
liberator.CanFly = true
|
2021-04-16 21:37:20 +02:00
|
|
|
liberator.Seats += 0 -> new SeatDefinition()
|
|
|
|
|
liberator.Seats += 1 -> bailableSeat
|
|
|
|
|
liberator.Seats += 2 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
liberator.controlledWeapons += 0 -> 3
|
|
|
|
|
liberator.controlledWeapons += 1 -> 4
|
|
|
|
|
liberator.controlledWeapons += 2 -> 5
|
2021-04-16 21:37:20 +02:00
|
|
|
liberator.Weapons += 3 -> liberator_weapon_system
|
|
|
|
|
liberator.Weapons += 4 -> liberator_bomb_bay
|
|
|
|
|
liberator.Weapons += 5 -> liberator_25mm_cannon
|
|
|
|
|
liberator.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
liberator.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
liberator.MountPoints += 3 -> MountInfo(1)
|
|
|
|
|
liberator.MountPoints += 4 -> MountInfo(2)
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator.TrunkSize = InventoryTile.Tile1515
|
|
|
|
|
liberator.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
liberator.TrunkLocation = Vector3(-0.76f, -1.88f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
liberator.AutoPilotSpeeds = (0, 4)
|
2017-11-26 00:00:41 -05:00
|
|
|
liberator.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
liberator.DestroyedModel = Some(DestroyedVehicle.Liberator)
|
2018-11-21 20:31:51 -05:00
|
|
|
liberator.Subtract.Damage1 = 5
|
2019-08-21 15:39:44 +01:00
|
|
|
liberator.JackingDuration = Array(0, 30, 10, 5)
|
2020-07-28 00:02:43 -04:00
|
|
|
liberator.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
liberator.explodes = true
|
|
|
|
|
liberator.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 250
|
|
|
|
|
Damage1 = 375
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
liberator.DrownAtMaxDepth = true
|
|
|
|
|
liberator.MaxDepth = 2 //flying vehicles will automatically disable
|
2021-02-03 19:39:32 -05:00
|
|
|
liberator.Geometry = liberatorForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
vulture.Name = "vulture"
|
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 09:28:45 -04:00
|
|
|
vulture.MaxHealth = 2500
|
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 15:17:32 -04:00
|
|
|
vulture.Damageable = true
|
|
|
|
|
vulture.Repairable = true
|
|
|
|
|
vulture.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
vulture.MaxShields = 500
|
2019-04-08 08:05:15 -04:00
|
|
|
vulture.CanFly = true
|
2021-04-16 21:37:20 +02:00
|
|
|
vulture.Seats += 0 -> new SeatDefinition()
|
|
|
|
|
vulture.Seats += 1 -> bailableSeat
|
|
|
|
|
vulture.Seats += 2 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
vulture.controlledWeapons += 0 -> 3
|
|
|
|
|
vulture.controlledWeapons += 1 -> 4
|
|
|
|
|
vulture.controlledWeapons += 2 -> 5
|
2021-04-16 21:37:20 +02:00
|
|
|
vulture.Weapons += 3 -> vulture_nose_weapon_system
|
|
|
|
|
vulture.Weapons += 4 -> vulture_bomb_bay
|
|
|
|
|
vulture.Weapons += 5 -> vulture_tail_cannon
|
|
|
|
|
vulture.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
vulture.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
vulture.MountPoints += 3 -> MountInfo(1)
|
|
|
|
|
vulture.MountPoints += 4 -> MountInfo(2)
|
2017-11-26 00:00:41 -05:00
|
|
|
vulture.TrunkSize = InventoryTile.Tile1611
|
|
|
|
|
vulture.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
vulture.TrunkLocation = Vector3(-0.76f, -1.88f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
vulture.AutoPilotSpeeds = (0, 4)
|
2017-11-26 00:00:41 -05:00
|
|
|
vulture.Packet = variantConverter
|
2020-08-01 12:25:03 +02:00
|
|
|
vulture.DestroyedModel =
|
|
|
|
|
Some(DestroyedVehicle.Liberator) //add_property vulture destroyedphysics liberator_destroyed
|
2018-11-21 20:31:51 -05:00
|
|
|
vulture.Subtract.Damage1 = 5
|
2019-08-21 15:39:44 +01:00
|
|
|
vulture.JackingDuration = Array(0, 30, 10, 5)
|
2020-07-28 00:02:43 -04:00
|
|
|
vulture.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
vulture.explodes = true
|
|
|
|
|
vulture.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 250
|
|
|
|
|
Damage1 = 375
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
vulture.DrownAtMaxDepth = true
|
|
|
|
|
vulture.MaxDepth = 2 //flying vehicles will automatically disable
|
2021-02-03 19:39:32 -05:00
|
|
|
vulture.Geometry = liberatorForm
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2019-08-21 15:39:44 +01:00
|
|
|
dropship.Name = "dropship" // Galaxy
|
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 09:28:45 -04:00
|
|
|
dropship.MaxHealth = 5000
|
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 15:17:32 -04:00
|
|
|
dropship.Damageable = true
|
|
|
|
|
dropship.Repairable = true
|
|
|
|
|
dropship.RepairDistance = 20
|
|
|
|
|
dropship.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
dropship.MaxShields = 1000
|
2019-04-08 08:05:15 -04:00
|
|
|
dropship.CanFly = true
|
2017-11-26 00:00:41 -05:00
|
|
|
dropship.Seats += 0 -> new SeatDefinition()
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
dropship.Seats += 1 -> new SeatDefinition() {
|
|
|
|
|
bailable = true
|
|
|
|
|
}
|
|
|
|
|
dropship.Seats += 2 -> bailableSeat
|
|
|
|
|
dropship.Seats += 3 -> bailableSeat
|
|
|
|
|
dropship.Seats += 4 -> bailableSeat
|
|
|
|
|
dropship.Seats += 5 -> bailableSeat
|
|
|
|
|
dropship.Seats += 6 -> bailableSeat
|
|
|
|
|
dropship.Seats += 7 -> bailableSeat
|
|
|
|
|
dropship.Seats += 9 -> new SeatDefinition() {
|
|
|
|
|
bailable = true
|
|
|
|
|
restriction = MaxOnly
|
|
|
|
|
}
|
|
|
|
|
dropship.Seats += 10 -> new SeatDefinition() {
|
|
|
|
|
bailable = true
|
|
|
|
|
restriction = MaxOnly
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
dropship.Seats += 11 -> bailableSeat
|
|
|
|
|
dropship.controlledWeapons += 1 -> 12
|
|
|
|
|
dropship.controlledWeapons += 2 -> 13
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
dropship.controlledWeapons += 11 -> 14
|
2021-04-16 21:37:20 +02:00
|
|
|
dropship.Weapons += 12 -> cannon_dropship_20mm
|
|
|
|
|
dropship.Weapons += 13 -> cannon_dropship_20mm
|
|
|
|
|
dropship.Weapons += 14 -> dropship_rear_turret
|
|
|
|
|
dropship.Cargo += 15 -> new CargoDefinition() {
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
restriction = SmallCargo
|
|
|
|
|
}
|
2021-04-16 21:37:20 +02:00
|
|
|
dropship.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
dropship.MountPoints += 2 -> MountInfo(11)
|
|
|
|
|
dropship.MountPoints += 3 -> MountInfo(1)
|
|
|
|
|
dropship.MountPoints += 4 -> MountInfo(2)
|
|
|
|
|
dropship.MountPoints += 5 -> MountInfo(3)
|
|
|
|
|
dropship.MountPoints += 6 -> MountInfo(4)
|
|
|
|
|
dropship.MountPoints += 7 -> MountInfo(5)
|
|
|
|
|
dropship.MountPoints += 8 -> MountInfo(6)
|
|
|
|
|
dropship.MountPoints += 9 -> MountInfo(7)
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
dropship.MountPoints += 10 -> MountInfo(8)
|
|
|
|
|
dropship.MountPoints += 11 -> MountInfo(9)
|
|
|
|
|
dropship.MountPoints += 12 -> MountInfo(10)
|
|
|
|
|
dropship.MountPoints += 13 -> MountInfo(15)
|
2017-11-26 00:00:41 -05:00
|
|
|
dropship.TrunkSize = InventoryTile.Tile1612
|
|
|
|
|
dropship.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
dropship.TrunkLocation = Vector3(-7.39f, -4.96f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
dropship.AutoPilotSpeeds = (0, 4)
|
2017-11-26 00:00:41 -05:00
|
|
|
dropship.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
dropship.DestroyedModel = Some(DestroyedVehicle.Dropship)
|
2018-11-21 20:31:51 -05:00
|
|
|
dropship.Subtract.Damage1 = 7
|
2019-08-21 15:39:44 +01:00
|
|
|
dropship.JackingDuration = Array(0, 60, 20, 10)
|
2020-07-28 00:02:43 -04:00
|
|
|
dropship.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
dropship.explodes = true
|
|
|
|
|
dropship.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 300
|
|
|
|
|
Damage1 = 450
|
|
|
|
|
DamageRadius = 30
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
dropship.DrownAtMaxDepth = true
|
|
|
|
|
dropship.MaxDepth = 2
|
2021-02-03 19:39:32 -05:00
|
|
|
dropship.Geometry = GeometryForm.representByCylinder(radius = 10.52202f, height = 6.23438f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
galaxy_gunship.Name = "galaxy_gunship"
|
2020-10-02 15:10:13 -04:00
|
|
|
galaxy_gunship.MaxHealth = 6000
|
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 15:17:32 -04:00
|
|
|
galaxy_gunship.Damageable = true
|
|
|
|
|
galaxy_gunship.Repairable = true
|
|
|
|
|
galaxy_gunship.RepairDistance = 20
|
|
|
|
|
galaxy_gunship.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
galaxy_gunship.MaxShields = 1200
|
2019-04-08 08:05:15 -04:00
|
|
|
galaxy_gunship.CanFly = true
|
2021-04-16 21:37:20 +02:00
|
|
|
galaxy_gunship.Seats += 0 -> new SeatDefinition()
|
|
|
|
|
galaxy_gunship.Seats += 1 -> bailableSeat
|
|
|
|
|
galaxy_gunship.Seats += 2 -> bailableSeat
|
|
|
|
|
galaxy_gunship.Seats += 3 -> bailableSeat
|
|
|
|
|
galaxy_gunship.Seats += 4 -> bailableSeat
|
|
|
|
|
galaxy_gunship.Seats += 5 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
galaxy_gunship.controlledWeapons += 1 -> 6
|
|
|
|
|
galaxy_gunship.controlledWeapons += 2 -> 7
|
|
|
|
|
galaxy_gunship.controlledWeapons += 3 -> 8
|
|
|
|
|
galaxy_gunship.controlledWeapons += 4 -> 9
|
|
|
|
|
galaxy_gunship.controlledWeapons += 5 -> 10
|
2021-04-16 21:37:20 +02:00
|
|
|
galaxy_gunship.Weapons += 6 -> galaxy_gunship_cannon
|
|
|
|
|
galaxy_gunship.Weapons += 7 -> galaxy_gunship_cannon
|
|
|
|
|
galaxy_gunship.Weapons += 8 -> galaxy_gunship_tailgun
|
|
|
|
|
galaxy_gunship.Weapons += 9 -> galaxy_gunship_gun
|
|
|
|
|
galaxy_gunship.Weapons += 10 -> galaxy_gunship_gun
|
|
|
|
|
galaxy_gunship.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
galaxy_gunship.MountPoints += 2 -> MountInfo(3)
|
|
|
|
|
galaxy_gunship.MountPoints += 3 -> MountInfo(1)
|
|
|
|
|
galaxy_gunship.MountPoints += 4 -> MountInfo(2)
|
|
|
|
|
galaxy_gunship.MountPoints += 5 -> MountInfo(4)
|
|
|
|
|
galaxy_gunship.MountPoints += 6 -> MountInfo(5)
|
2017-11-26 00:00:41 -05:00
|
|
|
galaxy_gunship.TrunkSize = InventoryTile.Tile1816
|
|
|
|
|
galaxy_gunship.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
galaxy_gunship.TrunkLocation = Vector3(-9.85f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
galaxy_gunship.AutoPilotSpeeds = (0, 4)
|
2017-11-26 00:00:41 -05:00
|
|
|
galaxy_gunship.Packet = variantConverter
|
2020-07-14 05:54:05 +02:00
|
|
|
galaxy_gunship.DestroyedModel =
|
|
|
|
|
Some(DestroyedVehicle.Dropship) //the adb calls out a galaxy_gunship_destroyed but no such asset exists
|
2018-11-21 20:31:51 -05:00
|
|
|
galaxy_gunship.Subtract.Damage1 = 7
|
2019-08-21 15:39:44 +01:00
|
|
|
galaxy_gunship.JackingDuration = Array(0, 60, 20, 10)
|
2020-07-28 00:02:43 -04:00
|
|
|
galaxy_gunship.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
galaxy_gunship.Modifiers = GalaxyGunshipReduction(0.63f)
|
|
|
|
|
galaxy_gunship.explodes = true
|
|
|
|
|
galaxy_gunship.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 300
|
|
|
|
|
Damage1 = 450
|
|
|
|
|
DamageRadius = 30
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
galaxy_gunship.DrownAtMaxDepth = true
|
|
|
|
|
galaxy_gunship.MaxDepth = 2
|
2021-02-03 19:39:32 -05:00
|
|
|
galaxy_gunship.Geometry = GeometryForm.representByCylinder(radius = 9.2382f, height = 5.01562f)
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
lodestar.Name = "lodestar"
|
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 09:28:45 -04:00
|
|
|
lodestar.MaxHealth = 5000
|
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 15:17:32 -04:00
|
|
|
lodestar.Damageable = true
|
|
|
|
|
lodestar.Repairable = true
|
|
|
|
|
lodestar.RepairDistance = 20
|
|
|
|
|
lodestar.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
lodestar.MaxShields = 1000
|
2019-04-08 08:05:15 -04:00
|
|
|
lodestar.CanFly = true
|
2020-07-14 05:54:05 +02:00
|
|
|
lodestar.Seats += 0 -> new SeatDefinition()
|
2021-04-16 21:37:20 +02:00
|
|
|
lodestar.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
lodestar.MountPoints += 2 -> MountInfo(1)
|
2020-07-14 05:54:05 +02:00
|
|
|
lodestar.Cargo += 1 -> new CargoDefinition()
|
|
|
|
|
lodestar.Utilities += 2 -> UtilityType.lodestar_repair_terminal
|
2018-12-23 21:09:12 -05:00
|
|
|
lodestar.UtilityOffset += 2 -> Vector3(0, 20, 0)
|
2020-07-14 05:54:05 +02:00
|
|
|
lodestar.Utilities += 3 -> UtilityType.lodestar_repair_terminal
|
2018-12-23 21:09:12 -05:00
|
|
|
lodestar.UtilityOffset += 3 -> Vector3(0, -20, 0)
|
2020-07-14 05:54:05 +02:00
|
|
|
lodestar.Utilities += 4 -> UtilityType.multivehicle_rearm_terminal
|
|
|
|
|
lodestar.Utilities += 5 -> UtilityType.multivehicle_rearm_terminal
|
|
|
|
|
lodestar.Utilities += 6 -> UtilityType.bfr_rearm_terminal
|
|
|
|
|
lodestar.Utilities += 7 -> UtilityType.bfr_rearm_terminal
|
2017-11-26 00:00:41 -05:00
|
|
|
lodestar.TrunkSize = InventoryTile.Tile1612
|
|
|
|
|
lodestar.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
lodestar.TrunkLocation = Vector3(6.85f, -6.8f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
lodestar.AutoPilotSpeeds = (0, 4)
|
2017-11-26 00:00:41 -05:00
|
|
|
lodestar.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
lodestar.DestroyedModel = Some(DestroyedVehicle.Lodestar)
|
2018-11-21 20:31:51 -05:00
|
|
|
lodestar.Subtract.Damage1 = 7
|
2019-08-21 15:39:44 +01:00
|
|
|
lodestar.JackingDuration = Array(0, 60, 20, 10)
|
2020-07-28 00:02:43 -04:00
|
|
|
lodestar.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
lodestar.explodes = true
|
|
|
|
|
lodestar.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 300
|
|
|
|
|
Damage1 = 450
|
|
|
|
|
DamageRadius = 30
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
lodestar.DrownAtMaxDepth = true
|
|
|
|
|
lodestar.MaxDepth = 2
|
2021-02-03 19:39:32 -05:00
|
|
|
lodestar.Geometry = GeometryForm.representByCylinder(radius = 7.8671f, height = 6.79688f) //TODO hexahedron
|
2017-11-26 00:00:41 -05:00
|
|
|
|
2018-04-13 23:10:52 -04:00
|
|
|
phantasm.Name = "phantasm"
|
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 09:28:45 -04:00
|
|
|
phantasm.MaxHealth = 2500
|
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 15:17:32 -04:00
|
|
|
phantasm.Damageable = true
|
|
|
|
|
phantasm.Repairable = true
|
|
|
|
|
phantasm.RepairIfDestroyed = false
|
2020-10-02 15:10:13 -04:00
|
|
|
phantasm.MaxShields = 500
|
2017-11-26 00:00:41 -05:00
|
|
|
phantasm.CanCloak = true
|
2019-04-08 08:05:15 -04:00
|
|
|
phantasm.CanFly = true
|
2021-04-16 21:37:20 +02:00
|
|
|
phantasm.Seats += 0 -> new SeatDefinition()
|
|
|
|
|
phantasm.Seats += 1 -> bailableSeat
|
|
|
|
|
phantasm.Seats += 2 -> bailableSeat
|
|
|
|
|
phantasm.Seats += 3 -> bailableSeat
|
|
|
|
|
phantasm.Seats += 4 -> bailableSeat
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
phantasm.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
phantasm.MountPoints += 2 -> MountInfo(1)
|
|
|
|
|
phantasm.MountPoints += 3 -> MountInfo(2)
|
|
|
|
|
phantasm.MountPoints += 4 -> MountInfo(3)
|
|
|
|
|
phantasm.MountPoints += 5 -> MountInfo(4)
|
2017-11-26 00:00:41 -05:00
|
|
|
phantasm.TrunkSize = InventoryTile.Tile1107
|
|
|
|
|
phantasm.TrunkOffset = 30
|
2020-06-25 04:07:05 +01:00
|
|
|
phantasm.TrunkLocation = Vector3(-6.16f, 0f, 0f)
|
2018-04-13 23:10:52 -04:00
|
|
|
phantasm.AutoPilotSpeeds = (0, 6)
|
2017-11-26 00:00:41 -05:00
|
|
|
phantasm.Packet = variantConverter
|
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 09:28:45 -04:00
|
|
|
phantasm.DestroyedModel = None //the adb calls out a phantasm_destroyed but no such asset exists
|
2019-08-21 15:39:44 +01:00
|
|
|
phantasm.JackingDuration = Array(0, 60, 20, 10)
|
2020-07-28 00:02:43 -04:00
|
|
|
phantasm.DamageUsing = DamageCalculations.AgainstAircraft
|
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 14:32:42 -05:00
|
|
|
phantasm.explodes = true
|
|
|
|
|
phantasm.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 100
|
|
|
|
|
Damage1 = 150
|
|
|
|
|
DamageRadius = 12
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
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 08:04:11 -05:00
|
|
|
phantasm.DrownAtMaxDepth = true
|
|
|
|
|
phantasm.MaxDepth = 2
|
2021-02-03 19:39:32 -05:00
|
|
|
phantasm.Geometry = GeometryForm.representByCylinder(radius = 5.2618f, height = 3f)
|
2020-04-16 21:21:33 -04:00
|
|
|
|
|
|
|
|
droppod.Name = "droppod"
|
|
|
|
|
droppod.MaxHealth = 20000
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
droppod.Damageable = false
|
|
|
|
|
droppod.Repairable = false
|
2020-04-16 21:21:33 -04:00
|
|
|
droppod.CanFly = true
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
droppod.Seats += 0 -> new SeatDefinition {
|
|
|
|
|
restriction = Unrestricted
|
|
|
|
|
}
|
|
|
|
|
droppod.MountPoints += 1 -> MountInfo(0)
|
2020-04-16 21:21:33 -04:00
|
|
|
droppod.TrunkSize = InventoryTile.None
|
|
|
|
|
droppod.Packet = new DroppodConverter()
|
|
|
|
|
droppod.DeconstructionTime = Some(5 seconds)
|
2020-07-28 00:02:43 -04:00
|
|
|
droppod.DestroyedModel = None //the adb calls out a droppod; the cyclic nature of this confounds me
|
|
|
|
|
droppod.DamageUsing = DamageCalculations.AgainstAircraft
|
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 08:04:11 -05:00
|
|
|
droppod.DrownAtMaxDepth = false
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
|
|
|
|
|
orbital_shuttle.Name = "orbital_shuttle"
|
|
|
|
|
orbital_shuttle.MaxHealth = 20000
|
|
|
|
|
orbital_shuttle.Damageable = false
|
|
|
|
|
orbital_shuttle.Repairable = false
|
|
|
|
|
orbital_shuttle.CanFly = true
|
|
|
|
|
orbital_shuttle.CanBeOwned = None
|
|
|
|
|
orbital_shuttle.undergoesDecay = false
|
|
|
|
|
orbital_shuttle.Seats += 0 -> new SeatDefinition {
|
|
|
|
|
occupancy = 300
|
|
|
|
|
restriction = Unrestricted
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
these are close to the mount point offsets in the ADB;
|
|
|
|
|
physically, they correlate to positions in the HART building rather than with the shuttle model by itself;
|
|
|
|
|
set the shuttle pad based on the zonemap extraction values then position the shuttle relative to that pad;
|
|
|
|
|
rotation based on the shuttle should place these offsets in the HART lobby whose gantry hall corresponds to that mount index
|
2021-04-16 21:37:20 +02:00
|
|
|
*/
|
|
|
|
|
orbital_shuttle.MountPoints += 1 -> MountInfo(0, Vector3(-62, 4, -28.2f))
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
orbital_shuttle.MountPoints += 2 -> MountInfo(0, Vector3(-62, 28, -28.2f))
|
2021-04-16 21:37:20 +02:00
|
|
|
orbital_shuttle.MountPoints += 3 -> MountInfo(0, Vector3(-62, 4, -18.2f))
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
orbital_shuttle.MountPoints += 4 -> MountInfo(0, Vector3(-62, 28, -18.2f))
|
2021-04-16 21:37:20 +02:00
|
|
|
orbital_shuttle.MountPoints += 5 -> MountInfo(0, Vector3(62, 4, -28.2f))
|
|
|
|
|
orbital_shuttle.MountPoints += 6 -> MountInfo(0, Vector3(62, 28, -28.2f))
|
|
|
|
|
orbital_shuttle.MountPoints += 7 -> MountInfo(0, Vector3(62, 4, -18.2f))
|
|
|
|
|
orbital_shuttle.MountPoints += 8 -> MountInfo(0, Vector3(62, 28, -18.2f))
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
orbital_shuttle.TrunkSize = InventoryTile.None
|
|
|
|
|
orbital_shuttle.Packet = new OrbitalShuttleConverter
|
|
|
|
|
orbital_shuttle.DeconstructionTime = None
|
|
|
|
|
orbital_shuttle.DestroyedModel = None
|
|
|
|
|
orbital_shuttle.DamageUsing = DamageCalculations.AgainstNothing
|
|
|
|
|
orbital_shuttle.DrownAtMaxDepth = false
|
2017-11-26 00:00:41 -05:00
|
|
|
}
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Initialize `Deployable` globals.
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
private def init_deployables(): Unit = {
|
2021-04-16 21:37:20 +02:00
|
|
|
val mine = GeometryForm.representByCylinder(radius = 0.1914f, height = 0.0957f) _
|
2021-02-03 19:39:32 -05:00
|
|
|
val smallTurret = GeometryForm.representByCylinder(radius = 0.48435f, height = 1.23438f) _
|
2021-04-16 21:37:20 +02:00
|
|
|
val sensor = GeometryForm.representByCylinder(radius = 0.1914f, height = 1.21875f) _
|
2021-02-03 19:39:32 -05:00
|
|
|
val largeTurret = GeometryForm.representByCylinder(radius = 0.8437f, height = 2.29687f) _
|
|
|
|
|
|
2018-09-23 08:00:58 -04:00
|
|
|
boomer.Name = "boomer"
|
|
|
|
|
boomer.Descriptor = "Boomers"
|
|
|
|
|
boomer.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
boomer.Damageable = true
|
|
|
|
|
boomer.DamageableByFriendlyFire = false
|
|
|
|
|
boomer.Repairable = false
|
2018-09-23 08:00:58 -04:00
|
|
|
boomer.DeployCategory = DeployableCategory.Boomers
|
|
|
|
|
boomer.DeployTime = Duration.create(1000, "ms")
|
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 14:32:42 -05:00
|
|
|
boomer.explodes = true
|
|
|
|
|
boomer.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.Splash
|
|
|
|
|
SympatheticExplosion = true
|
|
|
|
|
Damage0 = 250
|
|
|
|
|
Damage1 = 750
|
|
|
|
|
Damage2 = 400
|
|
|
|
|
Damage3 = 400
|
|
|
|
|
Damage4 = 1850
|
|
|
|
|
DamageRadius = 5.1f
|
|
|
|
|
DamageAtEdge = 0.1f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
boomer.Geometry = mine
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
he_mine.Name = "he_mine"
|
|
|
|
|
he_mine.Descriptor = "Mines"
|
|
|
|
|
he_mine.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
he_mine.Damageable = true
|
|
|
|
|
he_mine.DamageableByFriendlyFire = false
|
|
|
|
|
he_mine.Repairable = false
|
2018-09-23 08:00:58 -04:00
|
|
|
he_mine.DeployTime = Duration.create(1000, "ms")
|
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 14:32:42 -05:00
|
|
|
he_mine.explodes = true
|
|
|
|
|
he_mine.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.Splash
|
|
|
|
|
SympatheticExplosion = true
|
|
|
|
|
Damage0 = 100
|
|
|
|
|
Damage1 = 750
|
|
|
|
|
Damage2 = 400
|
|
|
|
|
Damage3 = 565
|
|
|
|
|
Damage4 = 1600
|
|
|
|
|
DamageRadius = 6.6f
|
|
|
|
|
DamageAtEdge = 0.25f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
he_mine.Geometry = mine
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
jammer_mine.Name = "jammer_mine"
|
|
|
|
|
jammer_mine.Descriptor = "JammerMines"
|
|
|
|
|
jammer_mine.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
jammer_mine.Damageable = true
|
|
|
|
|
jammer_mine.DamageableByFriendlyFire = false
|
|
|
|
|
jammer_mine.Repairable = false
|
2018-09-23 08:00:58 -04:00
|
|
|
jammer_mine.DeployTime = Duration.create(1000, "ms")
|
2019-12-27 00:18:46 -05:00
|
|
|
jammer_mine.DetonateOnJamming = false
|
2021-02-03 19:39:32 -05:00
|
|
|
jammer_mine.Geometry = mine
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
spitfire_turret.Name = "spitfire_turret"
|
2019-12-27 00:18:46 -05:00
|
|
|
spitfire_turret.Descriptor = "Spitfires"
|
2018-09-23 08:00:58 -04:00
|
|
|
spitfire_turret.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
spitfire_turret.Damageable = true
|
|
|
|
|
spitfire_turret.Repairable = true
|
|
|
|
|
spitfire_turret.RepairIfDestroyed = false
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
spitfire_turret.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
spitfire_turret.WeaponPaths(1) += TurretUpgrade.None -> spitfire_weapon
|
2018-09-23 08:00:58 -04:00
|
|
|
spitfire_turret.ReserveAmmunition = false
|
|
|
|
|
spitfire_turret.DeployCategory = DeployableCategory.SmallTurrets
|
|
|
|
|
spitfire_turret.DeployTime = Duration.create(5000, "ms")
|
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 14:32:42 -05:00
|
|
|
spitfire_turret.Model = ComplexDeployableResolutions.calculate
|
|
|
|
|
spitfire_turret.explodes = true
|
|
|
|
|
spitfire_turret.explodes = true
|
|
|
|
|
spitfire_turret.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
spitfire_turret.Geometry = smallTurret
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
spitfire_cloaked.Name = "spitfire_cloaked"
|
2019-12-27 00:18:46 -05:00
|
|
|
spitfire_cloaked.Descriptor = "CloakingSpitfires"
|
2018-09-23 08:00:58 -04:00
|
|
|
spitfire_cloaked.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
spitfire_cloaked.Damageable = true
|
|
|
|
|
spitfire_cloaked.Repairable = true
|
|
|
|
|
spitfire_cloaked.RepairIfDestroyed = false
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
spitfire_cloaked.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
spitfire_cloaked.WeaponPaths(1) += TurretUpgrade.None -> spitfire_weapon
|
2018-09-23 08:00:58 -04:00
|
|
|
spitfire_cloaked.ReserveAmmunition = false
|
|
|
|
|
spitfire_cloaked.DeployCategory = DeployableCategory.SmallTurrets
|
|
|
|
|
spitfire_cloaked.DeployTime = Duration.create(5000, "ms")
|
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 14:32:42 -05:00
|
|
|
spitfire_cloaked.Model = ComplexDeployableResolutions.calculate
|
|
|
|
|
spitfire_cloaked.explodes = true
|
|
|
|
|
spitfire_cloaked.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 50
|
|
|
|
|
Damage1 = 75
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
spitfire_cloaked.Geometry = smallTurret
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
spitfire_aa.Name = "spitfire_aa"
|
2019-12-27 00:18:46 -05:00
|
|
|
spitfire_aa.Descriptor = "FlakSpitfires"
|
2018-09-23 08:00:58 -04:00
|
|
|
spitfire_aa.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
spitfire_aa.Damageable = true
|
|
|
|
|
spitfire_aa.Repairable = true
|
|
|
|
|
spitfire_aa.RepairIfDestroyed = false
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
spitfire_aa.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
spitfire_aa.WeaponPaths(1) += TurretUpgrade.None -> spitfire_aa_weapon
|
2018-09-23 08:00:58 -04:00
|
|
|
spitfire_aa.ReserveAmmunition = false
|
|
|
|
|
spitfire_aa.DeployCategory = DeployableCategory.SmallTurrets
|
|
|
|
|
spitfire_aa.DeployTime = Duration.create(5000, "ms")
|
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 14:32:42 -05:00
|
|
|
spitfire_aa.Model = ComplexDeployableResolutions.calculate
|
|
|
|
|
spitfire_aa.explodes = true
|
|
|
|
|
spitfire_aa.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 200
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
spitfire_aa.Geometry = smallTurret
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
motionalarmsensor.Name = "motionalarmsensor"
|
|
|
|
|
motionalarmsensor.Descriptor = "MotionSensors"
|
|
|
|
|
motionalarmsensor.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
motionalarmsensor.Damageable = true
|
|
|
|
|
motionalarmsensor.Repairable = true
|
|
|
|
|
motionalarmsensor.RepairIfDestroyed = false
|
2018-09-23 08:00:58 -04:00
|
|
|
motionalarmsensor.DeployTime = Duration.create(1000, "ms")
|
2021-02-03 19:39:32 -05:00
|
|
|
motionalarmsensor.Geometry = sensor
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
sensor_shield.Name = "sensor_shield"
|
|
|
|
|
sensor_shield.Descriptor = "SensorShields"
|
|
|
|
|
sensor_shield.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
sensor_shield.Damageable = true
|
|
|
|
|
sensor_shield.Repairable = true
|
|
|
|
|
sensor_shield.RepairIfDestroyed = false
|
2018-09-23 08:00:58 -04:00
|
|
|
sensor_shield.DeployTime = Duration.create(5000, "ms")
|
2021-02-03 19:39:32 -05:00
|
|
|
sensor_shield.Geometry = sensor
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
tank_traps.Name = "tank_traps"
|
|
|
|
|
tank_traps.Descriptor = "TankTraps"
|
|
|
|
|
tank_traps.MaxHealth = 5000
|
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 15:17:32 -04:00
|
|
|
tank_traps.Damageable = true
|
|
|
|
|
tank_traps.Repairable = true
|
|
|
|
|
tank_traps.RepairIfDestroyed = false
|
2018-09-23 08:00:58 -04:00
|
|
|
tank_traps.DeployCategory = DeployableCategory.TankTraps
|
|
|
|
|
tank_traps.DeployTime = Duration.create(6000, "ms")
|
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 14:32:42 -05:00
|
|
|
//tank_traps do not explode
|
|
|
|
|
tank_traps.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 10
|
|
|
|
|
Damage1 = 10
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.2f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
tank_traps.Geometry = GeometryForm.representByCylinder(radius = 2.89680997f, height = 3.57812f)
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
val fieldTurretConverter = new FieldTurretConverter
|
|
|
|
|
portable_manned_turret.Name = "portable_manned_turret"
|
|
|
|
|
portable_manned_turret.Descriptor = "FieldTurrets"
|
|
|
|
|
portable_manned_turret.MaxHealth = 1000
|
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 15:17:32 -04:00
|
|
|
portable_manned_turret.Damageable = true
|
|
|
|
|
portable_manned_turret.Repairable = true
|
|
|
|
|
portable_manned_turret.RepairIfDestroyed = false
|
2021-04-16 21:37:20 +02:00
|
|
|
portable_manned_turret.controlledWeapons += 0 -> 1
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
portable_manned_turret.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
portable_manned_turret.WeaponPaths(1) += TurretUpgrade.None -> energy_gun
|
2021-04-16 21:37:20 +02:00
|
|
|
portable_manned_turret.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
portable_manned_turret.MountPoints += 2 -> MountInfo(0)
|
2018-09-23 08:00:58 -04:00
|
|
|
portable_manned_turret.ReserveAmmunition = true
|
|
|
|
|
portable_manned_turret.FactionLocked = true
|
|
|
|
|
portable_manned_turret.Packet = fieldTurretConverter
|
|
|
|
|
portable_manned_turret.DeployCategory = DeployableCategory.FieldTurrets
|
|
|
|
|
portable_manned_turret.DeployTime = Duration.create(6000, "ms")
|
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 14:32:42 -05:00
|
|
|
portable_manned_turret.Model = ComplexDeployableResolutions.calculate
|
|
|
|
|
portable_manned_turret.explodes = true
|
|
|
|
|
portable_manned_turret.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 150
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.1f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
portable_manned_turret.Geometry = largeTurret
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
portable_manned_turret_nc.Name = "portable_manned_turret_nc"
|
|
|
|
|
portable_manned_turret_nc.Descriptor = "FieldTurrets"
|
|
|
|
|
portable_manned_turret_nc.MaxHealth = 1000
|
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 15:17:32 -04:00
|
|
|
portable_manned_turret_nc.Damageable = true
|
|
|
|
|
portable_manned_turret_nc.Repairable = true
|
|
|
|
|
portable_manned_turret_nc.RepairIfDestroyed = false
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
portable_manned_turret_nc.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
portable_manned_turret_nc.WeaponPaths(1) += TurretUpgrade.None -> energy_gun_nc
|
2021-04-16 21:37:20 +02:00
|
|
|
portable_manned_turret_nc.controlledWeapons += 0 -> 1
|
|
|
|
|
portable_manned_turret_nc.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
portable_manned_turret_nc.MountPoints += 2 -> MountInfo(0)
|
2018-09-23 08:00:58 -04:00
|
|
|
portable_manned_turret_nc.ReserveAmmunition = true
|
|
|
|
|
portable_manned_turret_nc.FactionLocked = true
|
|
|
|
|
portable_manned_turret_nc.Packet = fieldTurretConverter
|
|
|
|
|
portable_manned_turret_nc.DeployCategory = DeployableCategory.FieldTurrets
|
|
|
|
|
portable_manned_turret_nc.DeployTime = Duration.create(6000, "ms")
|
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 14:32:42 -05:00
|
|
|
portable_manned_turret_nc.Model = ComplexDeployableResolutions.calculate
|
|
|
|
|
portable_manned_turret_nc.explodes = true
|
|
|
|
|
portable_manned_turret_nc.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 150
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.1f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
portable_manned_turret_nc.Geometry = largeTurret
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
portable_manned_turret_tr.Name = "portable_manned_turret_tr"
|
|
|
|
|
portable_manned_turret_tr.Descriptor = "FieldTurrets"
|
|
|
|
|
portable_manned_turret_tr.MaxHealth = 1000
|
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 15:17:32 -04:00
|
|
|
portable_manned_turret_tr.Damageable = true
|
|
|
|
|
portable_manned_turret_tr.Repairable = true
|
|
|
|
|
portable_manned_turret_tr.RepairIfDestroyed = false
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
portable_manned_turret_tr.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
portable_manned_turret_tr.WeaponPaths(1) += TurretUpgrade.None -> energy_gun_tr
|
2021-04-16 21:37:20 +02:00
|
|
|
portable_manned_turret_tr.controlledWeapons += 0 -> 1
|
|
|
|
|
portable_manned_turret_tr.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
portable_manned_turret_tr.MountPoints += 2 -> MountInfo(0)
|
2018-09-23 08:00:58 -04:00
|
|
|
portable_manned_turret_tr.ReserveAmmunition = true
|
|
|
|
|
portable_manned_turret_tr.FactionLocked = true
|
|
|
|
|
portable_manned_turret_tr.Packet = fieldTurretConverter
|
|
|
|
|
portable_manned_turret_tr.DeployCategory = DeployableCategory.FieldTurrets
|
|
|
|
|
portable_manned_turret_tr.DeployTime = Duration.create(6000, "ms")
|
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 14:32:42 -05:00
|
|
|
portable_manned_turret_tr.Model = ComplexDeployableResolutions.calculate
|
|
|
|
|
portable_manned_turret_tr.explodes = true
|
|
|
|
|
portable_manned_turret_tr.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 150
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.1f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
portable_manned_turret_tr.Geometry = largeTurret
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
portable_manned_turret_vs.Name = "portable_manned_turret_vs"
|
|
|
|
|
portable_manned_turret_vs.Descriptor = "FieldTurrets"
|
|
|
|
|
portable_manned_turret_vs.MaxHealth = 1000
|
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 15:17:32 -04:00
|
|
|
portable_manned_turret_vs.Damageable = true
|
|
|
|
|
portable_manned_turret_vs.Repairable = true
|
|
|
|
|
portable_manned_turret_vs.RepairIfDestroyed = false
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
portable_manned_turret_vs.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
portable_manned_turret_vs.WeaponPaths(1) += TurretUpgrade.None -> energy_gun_vs
|
2021-04-16 21:37:20 +02:00
|
|
|
portable_manned_turret_vs.controlledWeapons += 0 -> 1
|
|
|
|
|
portable_manned_turret_vs.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
portable_manned_turret_vs.MountPoints += 2 -> MountInfo(0)
|
2018-09-23 08:00:58 -04:00
|
|
|
portable_manned_turret_vs.ReserveAmmunition = true
|
|
|
|
|
portable_manned_turret_vs.FactionLocked = true
|
|
|
|
|
portable_manned_turret_vs.Packet = fieldTurretConverter
|
|
|
|
|
portable_manned_turret_vs.DeployCategory = DeployableCategory.FieldTurrets
|
|
|
|
|
portable_manned_turret_vs.DeployTime = Duration.create(6000, "ms")
|
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 14:32:42 -05:00
|
|
|
portable_manned_turret_vs.Model = ComplexDeployableResolutions.calculate
|
|
|
|
|
portable_manned_turret_vs.explodes = true
|
|
|
|
|
portable_manned_turret_vs.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 150
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 8
|
|
|
|
|
DamageAtEdge = 0.1f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
portable_manned_turret_vs.Geometry = largeTurret
|
2018-09-23 08:00:58 -04:00
|
|
|
|
|
|
|
|
deployable_shield_generator.Name = "deployable_shield_generator"
|
|
|
|
|
deployable_shield_generator.Descriptor = "ShieldGenerators"
|
|
|
|
|
deployable_shield_generator.MaxHealth = 1700
|
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 15:17:32 -04:00
|
|
|
deployable_shield_generator.Damageable = true
|
|
|
|
|
deployable_shield_generator.Repairable = true
|
|
|
|
|
deployable_shield_generator.RepairIfDestroyed = false
|
2018-09-23 08:00:58 -04:00
|
|
|
deployable_shield_generator.DeployTime = Duration.create(6000, "ms")
|
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 14:32:42 -05:00
|
|
|
deployable_shield_generator.Model = ComplexDeployableResolutions.calculate
|
2021-02-03 19:39:32 -05:00
|
|
|
deployable_shield_generator.Geometry = GeometryForm.representByCylinder(radius = 0.6562f, height = 2.17188f)
|
2020-07-14 05:54:05 +02:00
|
|
|
|
2018-10-17 12:36:43 -04:00
|
|
|
router_telepad_deployable.Name = "router_telepad_deployable"
|
|
|
|
|
router_telepad_deployable.MaxHealth = 100
|
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 15:17:32 -04:00
|
|
|
router_telepad_deployable.Damageable = true
|
|
|
|
|
router_telepad_deployable.Repairable = false
|
2018-10-17 12:36:43 -04:00
|
|
|
router_telepad_deployable.DeployTime = Duration.create(1, "ms")
|
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 15:17:32 -04:00
|
|
|
router_telepad_deployable.DeployCategory = DeployableCategory.Telepads
|
2018-10-17 12:36:43 -04:00
|
|
|
router_telepad_deployable.Packet = new TelepadDeployableConverter
|
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 14:32:42 -05:00
|
|
|
router_telepad_deployable.Model = SimpleResolutions.calculate
|
2021-02-03 19:39:32 -05:00
|
|
|
router_telepad_deployable.Geometry = GeometryForm.representByRaisedSphere(radius = 1.2344f)
|
2018-10-17 12:36:43 -04:00
|
|
|
|
|
|
|
|
internal_router_telepad_deployable.Name = "router_telepad_deployable"
|
|
|
|
|
internal_router_telepad_deployable.MaxHealth = 1
|
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 15:17:32 -04:00
|
|
|
internal_router_telepad_deployable.Damageable = false
|
|
|
|
|
internal_router_telepad_deployable.Repairable = false
|
2018-10-17 12:36:43 -04:00
|
|
|
internal_router_telepad_deployable.DeployTime = Duration.create(1, "ms")
|
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 15:17:32 -04:00
|
|
|
internal_router_telepad_deployable.DeployCategory = DeployableCategory.Telepads
|
2018-10-17 12:36:43 -04:00
|
|
|
internal_router_telepad_deployable.Packet = new InternalTelepadDeployableConverter
|
2021-02-08 00:20:17 -05:00
|
|
|
|
|
|
|
|
special_emp.Name = "emp"
|
|
|
|
|
special_emp.MaxHealth = 1
|
|
|
|
|
special_emp.Damageable = false
|
|
|
|
|
special_emp.Repairable = false
|
|
|
|
|
special_emp.DeployCategory = DeployableCategory.Mines
|
|
|
|
|
special_emp.explodes = true
|
|
|
|
|
special_emp.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.Splash
|
|
|
|
|
SympatheticExplosion = true
|
|
|
|
|
Damage0 = 0
|
|
|
|
|
DamageAtEdge = 1.0f
|
|
|
|
|
DamageRadius = 5f
|
|
|
|
|
AdditionalEffect = true
|
|
|
|
|
Modifiers = MaxDistanceCutoff
|
|
|
|
|
}
|
2018-09-23 08:00:58 -04:00
|
|
|
}
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Initialize `Miscellaneous` globals.
|
|
|
|
|
*/
|
2020-07-14 05:54:05 +02:00
|
|
|
private def initMiscellaneous(): Unit = {
|
2021-02-03 19:39:32 -05:00
|
|
|
val vterm = GeometryForm.representByCylinder(radius = 1.03515f, height = 1.09374f) _
|
|
|
|
|
|
2019-04-08 08:05:15 -04:00
|
|
|
ams_respawn_tube.Name = "ams_respawn_tube"
|
2021-04-21 15:21:44 -05:00
|
|
|
ams_respawn_tube.Delay = 10 // Temporary - Default value is 15 seconds
|
2019-04-08 08:05:15 -04:00
|
|
|
ams_respawn_tube.SpecificPointFunc = SpawnPoint.AMS
|
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 15:17:32 -04:00
|
|
|
ams_respawn_tube.Damageable = false
|
|
|
|
|
ams_respawn_tube.Repairable = false
|
2019-04-08 08:05:15 -04:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
matrix_terminala.Name = "matrix_terminala"
|
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 15:17:32 -04:00
|
|
|
matrix_terminala.Damageable = false
|
|
|
|
|
matrix_terminala.Repairable = false
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
matrix_terminalb.Name = "matrix_terminalb"
|
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 15:17:32 -04:00
|
|
|
matrix_terminalb.Damageable = false
|
|
|
|
|
matrix_terminalb.Repairable = false
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
matrix_terminalc.Name = "matrix_terminalc"
|
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 15:17:32 -04:00
|
|
|
matrix_terminalc.Damageable = false
|
|
|
|
|
matrix_terminalc.Repairable = false
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
spawn_terminal.Name = "spawn_terminal"
|
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 15:17:32 -04:00
|
|
|
spawn_terminal.Damageable = false
|
|
|
|
|
spawn_terminal.Repairable = false
|
2020-10-03 00:13:41 -04:00
|
|
|
spawn_terminal.autoRepair = AutoRepairStats(1, 5000, 200, 1) //TODO amount and drain are default? undefined?
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
order_terminal.Name = "order_terminal"
|
2020-07-14 05:54:05 +02:00
|
|
|
order_terminal.Tab += 0 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.infantryAmmunition ++ EquipmentTerminalDefinition.infantryWeapons
|
|
|
|
|
)
|
|
|
|
|
order_terminal.Tab += 1 -> OrderTerminalDefinition.ArmorWithAmmoPage(
|
|
|
|
|
EquipmentTerminalDefinition.suits ++ EquipmentTerminalDefinition.maxSuits,
|
|
|
|
|
EquipmentTerminalDefinition.maxAmmo
|
|
|
|
|
)
|
|
|
|
|
order_terminal.Tab += 2 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.supportAmmunition ++ EquipmentTerminalDefinition.supportWeapons
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
order_terminal.Tab += 3 -> OrderTerminalDefinition.EquipmentPage(EquipmentTerminalDefinition.vehicleAmmunition)
|
|
|
|
|
order_terminal.Tab += 4 -> OrderTerminalDefinition.InfantryLoadoutPage()
|
|
|
|
|
order_terminal.SellEquipmentByDefault = true
|
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 15:17:32 -04:00
|
|
|
order_terminal.MaxHealth = 500
|
|
|
|
|
order_terminal.Damageable = true
|
|
|
|
|
order_terminal.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
order_terminal.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
order_terminal.RepairIfDestroyed = true
|
|
|
|
|
order_terminal.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
order_terminal.Geometry = GeometryForm.representByCylinder(radius = 0.8438f, height = 1.3f)
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
order_terminala.Name = "order_terminala"
|
2020-07-14 05:54:05 +02:00
|
|
|
order_terminala.Tab += 0 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.infantryAmmunition ++ EquipmentTerminalDefinition.infantryWeapons
|
|
|
|
|
)
|
|
|
|
|
order_terminala.Tab += 1 -> OrderTerminalDefinition.ArmorWithAmmoPage(
|
|
|
|
|
EquipmentTerminalDefinition.suits,
|
|
|
|
|
EquipmentTerminalDefinition.maxAmmo
|
|
|
|
|
)
|
|
|
|
|
order_terminala.Tab += 2 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.supportAmmunition ++ EquipmentTerminalDefinition.supportWeapons
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
order_terminala.Tab += 3 -> OrderTerminalDefinition.EquipmentPage(EquipmentTerminalDefinition.vehicleAmmunition)
|
|
|
|
|
order_terminala.Tab += 4 -> OrderTerminalDefinition.InfantryLoadoutPage()
|
2019-04-21 08:22:14 -04:00
|
|
|
order_terminala.Tab(4).asInstanceOf[OrderTerminalDefinition.InfantryLoadoutPage].Exclude = ExoSuitType.MAX
|
2019-03-03 08:23:30 -05:00
|
|
|
order_terminala.SellEquipmentByDefault = true
|
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 15:17:32 -04:00
|
|
|
order_terminala.Damageable = false
|
|
|
|
|
order_terminala.Repairable = false
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
order_terminalb.Name = "order_terminalb"
|
2020-07-14 05:54:05 +02:00
|
|
|
order_terminalb.Tab += 0 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.infantryAmmunition ++ EquipmentTerminalDefinition.infantryWeapons
|
|
|
|
|
)
|
|
|
|
|
order_terminalb.Tab += 1 -> OrderTerminalDefinition.ArmorWithAmmoPage(
|
|
|
|
|
EquipmentTerminalDefinition.suits,
|
|
|
|
|
EquipmentTerminalDefinition.maxAmmo
|
|
|
|
|
)
|
|
|
|
|
order_terminalb.Tab += 2 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.supportAmmunition ++ EquipmentTerminalDefinition.supportWeapons
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
order_terminalb.Tab += 3 -> OrderTerminalDefinition.EquipmentPage(EquipmentTerminalDefinition.vehicleAmmunition)
|
|
|
|
|
order_terminalb.Tab += 4 -> OrderTerminalDefinition.InfantryLoadoutPage()
|
2019-04-21 08:22:14 -04:00
|
|
|
order_terminalb.Tab(4).asInstanceOf[OrderTerminalDefinition.InfantryLoadoutPage].Exclude = ExoSuitType.MAX
|
2019-03-03 08:23:30 -05:00
|
|
|
order_terminalb.SellEquipmentByDefault = true
|
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 15:17:32 -04:00
|
|
|
order_terminalb.Damageable = false
|
|
|
|
|
order_terminalb.Repairable = false
|
2019-03-03 08:23:30 -05:00
|
|
|
|
2020-01-17 18:36:15 +00:00
|
|
|
vanu_equipment_term.Name = "vanu_equipment_term"
|
2020-07-14 05:54:05 +02:00
|
|
|
vanu_equipment_term.Tab += 0 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.infantryAmmunition ++ EquipmentTerminalDefinition.infantryWeapons
|
|
|
|
|
)
|
|
|
|
|
vanu_equipment_term.Tab += 1 -> OrderTerminalDefinition.ArmorWithAmmoPage(
|
|
|
|
|
EquipmentTerminalDefinition.suits ++ EquipmentTerminalDefinition.maxSuits,
|
|
|
|
|
EquipmentTerminalDefinition.maxAmmo
|
|
|
|
|
)
|
|
|
|
|
vanu_equipment_term.Tab += 2 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.supportAmmunition ++ EquipmentTerminalDefinition.supportWeapons
|
|
|
|
|
)
|
2020-01-17 18:36:15 +00:00
|
|
|
vanu_equipment_term.Tab += 3 -> OrderTerminalDefinition.EquipmentPage(EquipmentTerminalDefinition.vehicleAmmunition)
|
|
|
|
|
vanu_equipment_term.Tab += 4 -> OrderTerminalDefinition.InfantryLoadoutPage()
|
|
|
|
|
vanu_equipment_term.SellEquipmentByDefault = true
|
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 15:17:32 -04:00
|
|
|
vanu_equipment_term.Damageable = false
|
|
|
|
|
vanu_equipment_term.Repairable = false
|
2020-01-17 18:36:15 +00:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
cert_terminal.Name = "cert_terminal"
|
2020-08-01 12:25:03 +02:00
|
|
|
val certs = Certification.values.filter(_.cost != 0)
|
|
|
|
|
val page = OrderTerminalDefinition.CertificationPage(certs)
|
|
|
|
|
cert_terminal.Tab += 0 -> page
|
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 15:17:32 -04:00
|
|
|
cert_terminal.MaxHealth = 500
|
|
|
|
|
cert_terminal.Damageable = true
|
|
|
|
|
cert_terminal.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
cert_terminal.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
cert_terminal.RepairIfDestroyed = true
|
|
|
|
|
cert_terminal.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
cert_terminal.Geometry = GeometryForm.representByCylinder(radius = 0.66405f, height = 1.09374f)
|
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 15:17:32 -04:00
|
|
|
|
|
|
|
|
implant_terminal_mech.Name = "implant_terminal_mech"
|
|
|
|
|
implant_terminal_mech.MaxHealth = 1500 //TODO 1000; right now, 1000 (mech) + 500 (interface)
|
|
|
|
|
implant_terminal_mech.Damageable = true
|
|
|
|
|
implant_terminal_mech.Repairable = true
|
2021-02-03 19:39:32 -05:00
|
|
|
implant_terminal_mech.autoRepair = AutoRepairStats(1.6f, 5000, 2400, 0.5f)
|
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 15:17:32 -04:00
|
|
|
implant_terminal_mech.RepairIfDestroyed = true
|
2021-02-03 19:39:32 -05:00
|
|
|
implant_terminal_mech.Geometry = GeometryForm.representByCylinder(radius = 2.7813f, height = 6.4375f)
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
implant_terminal_interface.Name = "implant_terminal_interface"
|
|
|
|
|
implant_terminal_interface.Tab += 0 -> OrderTerminalDefinition.ImplantPage(ImplantTerminalDefinition.implants)
|
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 15:17:32 -04:00
|
|
|
implant_terminal_interface.MaxHealth = 500
|
|
|
|
|
implant_terminal_interface.Damageable = false //TODO true
|
|
|
|
|
implant_terminal_interface.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
implant_terminal_interface.autoRepair =
|
|
|
|
|
AutoRepairStats(1, 5000, 200, 1) //TODO amount and drain are default? undefined?
|
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 15:17:32 -04:00
|
|
|
implant_terminal_interface.RepairIfDestroyed = true
|
2021-02-03 19:39:32 -05:00
|
|
|
//TODO will need geometry when Damageable = true
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
ground_vehicle_terminal.Name = "ground_vehicle_terminal"
|
2020-07-14 05:54:05 +02:00
|
|
|
ground_vehicle_terminal.Tab += 46769 -> OrderTerminalDefinition.VehiclePage(
|
|
|
|
|
VehicleTerminalDefinition.groundVehicles,
|
|
|
|
|
VehicleTerminalDefinition.trunk
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
ground_vehicle_terminal.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
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 15:17:32 -04:00
|
|
|
ground_vehicle_terminal.MaxHealth = 500
|
|
|
|
|
ground_vehicle_terminal.Damageable = true
|
|
|
|
|
ground_vehicle_terminal.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
ground_vehicle_terminal.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
ground_vehicle_terminal.RepairIfDestroyed = true
|
|
|
|
|
ground_vehicle_terminal.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
ground_vehicle_terminal.Geometry = vterm
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
air_vehicle_terminal.Name = "air_vehicle_terminal"
|
2020-07-14 05:54:05 +02:00
|
|
|
air_vehicle_terminal.Tab += 46769 -> OrderTerminalDefinition.VehiclePage(
|
|
|
|
|
VehicleTerminalDefinition.flight1Vehicles,
|
|
|
|
|
VehicleTerminalDefinition.trunk
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
air_vehicle_terminal.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
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 15:17:32 -04:00
|
|
|
air_vehicle_terminal.MaxHealth = 500
|
|
|
|
|
air_vehicle_terminal.Damageable = true
|
|
|
|
|
air_vehicle_terminal.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
air_vehicle_terminal.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
air_vehicle_terminal.RepairIfDestroyed = true
|
|
|
|
|
air_vehicle_terminal.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
air_vehicle_terminal.Geometry = vterm
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
dropship_vehicle_terminal.Name = "dropship_vehicle_terminal"
|
2020-07-14 05:54:05 +02:00
|
|
|
dropship_vehicle_terminal.Tab += 46769 -> OrderTerminalDefinition.VehiclePage(
|
|
|
|
|
VehicleTerminalDefinition.flight1Vehicles ++ VehicleTerminalDefinition.flight2Vehicles,
|
|
|
|
|
VehicleTerminalDefinition.trunk
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
dropship_vehicle_terminal.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
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 15:17:32 -04:00
|
|
|
dropship_vehicle_terminal.MaxHealth = 500
|
|
|
|
|
dropship_vehicle_terminal.Damageable = true
|
|
|
|
|
dropship_vehicle_terminal.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
dropship_vehicle_terminal.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
dropship_vehicle_terminal.RepairIfDestroyed = true
|
|
|
|
|
dropship_vehicle_terminal.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
dropship_vehicle_terminal.Geometry = vterm
|
2019-03-03 08:23:30 -05:00
|
|
|
|
|
|
|
|
vehicle_terminal_combined.Name = "vehicle_terminal_combined"
|
2020-07-14 05:54:05 +02:00
|
|
|
vehicle_terminal_combined.Tab += 46769 -> OrderTerminalDefinition.VehiclePage(
|
|
|
|
|
VehicleTerminalDefinition.flight1Vehicles ++ VehicleTerminalDefinition.groundVehicles,
|
|
|
|
|
VehicleTerminalDefinition.trunk
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
vehicle_terminal_combined.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
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 15:17:32 -04:00
|
|
|
vehicle_terminal_combined.MaxHealth = 500
|
|
|
|
|
vehicle_terminal_combined.Damageable = true
|
|
|
|
|
vehicle_terminal_combined.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
vehicle_terminal_combined.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
vehicle_terminal_combined.RepairIfDestroyed = true
|
|
|
|
|
vehicle_terminal_combined.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
vehicle_terminal_combined.Geometry = vterm
|
2019-03-03 08:23:30 -05:00
|
|
|
|
2020-01-17 18:36:15 +00:00
|
|
|
vanu_air_vehicle_term.Name = "vanu_air_vehicle_term"
|
2020-07-14 05:54:05 +02:00
|
|
|
vanu_air_vehicle_term.Tab += 46769 -> OrderTerminalDefinition.VehiclePage(
|
|
|
|
|
VehicleTerminalDefinition.flight1Vehicles,
|
|
|
|
|
VehicleTerminalDefinition.trunk
|
|
|
|
|
)
|
2020-01-17 18:36:15 +00:00
|
|
|
vanu_air_vehicle_term.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
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 15:17:32 -04:00
|
|
|
vanu_air_vehicle_term.MaxHealth = 500
|
|
|
|
|
vanu_air_vehicle_term.Damageable = true
|
|
|
|
|
vanu_air_vehicle_term.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
vanu_air_vehicle_term.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
vanu_air_vehicle_term.RepairIfDestroyed = true
|
|
|
|
|
vanu_air_vehicle_term.Subtract.Damage1 = 8
|
2020-01-17 18:36:15 +00:00
|
|
|
|
|
|
|
|
vanu_vehicle_term.Name = "vanu_vehicle_term"
|
2020-07-14 05:54:05 +02:00
|
|
|
vanu_vehicle_term.Tab += 46769 -> OrderTerminalDefinition.VehiclePage(
|
|
|
|
|
VehicleTerminalDefinition.groundVehicles,
|
|
|
|
|
VehicleTerminalDefinition.trunk
|
|
|
|
|
)
|
2020-01-17 18:36:15 +00:00
|
|
|
vanu_vehicle_term.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
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 15:17:32 -04:00
|
|
|
vanu_vehicle_term.MaxHealth = 500
|
|
|
|
|
vanu_vehicle_term.Damageable = true
|
|
|
|
|
vanu_vehicle_term.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
vanu_vehicle_term.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
vanu_vehicle_term.RepairIfDestroyed = true
|
|
|
|
|
vanu_vehicle_term.Subtract.Damage1 = 8
|
2020-01-17 18:36:15 +00:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
bfr_terminal.Name = "bfr_terminal"
|
2020-07-14 05:54:05 +02:00
|
|
|
bfr_terminal.Tab += 46769 -> OrderTerminalDefinition.VehiclePage(
|
|
|
|
|
VehicleTerminalDefinition.bfrVehicles,
|
|
|
|
|
VehicleTerminalDefinition.trunk
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
bfr_terminal.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
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 15:17:32 -04:00
|
|
|
bfr_terminal.MaxHealth = 500
|
|
|
|
|
bfr_terminal.Damageable = true
|
|
|
|
|
bfr_terminal.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
bfr_terminal.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
bfr_terminal.RepairIfDestroyed = true
|
|
|
|
|
bfr_terminal.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
bfr_terminal.Geometry = GeometryForm.representByCylinder(radius = 0.92185f, height = 2.64693f)
|
2019-03-03 08:23:30 -05:00
|
|
|
|
2019-04-08 08:05:15 -04:00
|
|
|
respawn_tube.Name = "respawn_tube"
|
2021-04-21 15:22:59 -05:00
|
|
|
respawn_tube.Delay = 10
|
2019-04-08 08:05:15 -04:00
|
|
|
respawn_tube.SpecificPointFunc = SpawnPoint.Tube
|
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 15:17:32 -04:00
|
|
|
respawn_tube.MaxHealth = 1000
|
|
|
|
|
respawn_tube.Damageable = true
|
|
|
|
|
respawn_tube.DamageableByFriendlyFire = false
|
|
|
|
|
respawn_tube.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
respawn_tube.autoRepair = AutoRepairStats(1.6f, 10000, 2400, 1)
|
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 15:17:32 -04:00
|
|
|
respawn_tube.RepairIfDestroyed = true
|
|
|
|
|
respawn_tube.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
respawn_tube.Geometry = GeometryForm.representByCylinder(radius = 0.9336f, height = 2.84375f)
|
2019-04-08 08:05:15 -04:00
|
|
|
|
|
|
|
|
respawn_tube_sanctuary.Name = "respawn_tube"
|
|
|
|
|
respawn_tube_sanctuary.Delay = 10
|
|
|
|
|
respawn_tube_sanctuary.SpecificPointFunc = SpawnPoint.Default
|
2021-01-12 14:27:33 -05:00
|
|
|
respawn_tube_sanctuary.MaxHealth = 1000
|
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 15:17:32 -04:00
|
|
|
respawn_tube_sanctuary.Damageable = false //true?
|
|
|
|
|
respawn_tube_sanctuary.DamageableByFriendlyFire = false
|
|
|
|
|
respawn_tube_sanctuary.Repairable = true
|
2021-02-03 19:39:32 -05:00
|
|
|
respawn_tube_sanctuary.autoRepair = AutoRepairStats(1.6f, 10000, 2400, 1)
|
|
|
|
|
//TODO will need geometry when Damageable = true
|
2019-04-08 08:05:15 -04:00
|
|
|
|
|
|
|
|
respawn_tube_tower.Name = "respawn_tube_tower"
|
|
|
|
|
respawn_tube_tower.Delay = 10
|
|
|
|
|
respawn_tube_tower.SpecificPointFunc = SpawnPoint.Tube
|
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 15:17:32 -04:00
|
|
|
respawn_tube_tower.MaxHealth = 1000
|
|
|
|
|
respawn_tube_tower.Damageable = true
|
|
|
|
|
respawn_tube_tower.DamageableByFriendlyFire = false
|
|
|
|
|
respawn_tube_tower.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
respawn_tube_tower.autoRepair = AutoRepairStats(1.6f, 10000, 2400, 1)
|
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 15:17:32 -04:00
|
|
|
respawn_tube_tower.RepairIfDestroyed = true
|
|
|
|
|
respawn_tube_tower.Subtract.Damage1 = 8
|
2021-02-03 19:39:32 -05:00
|
|
|
respawn_tube_tower.Geometry = GeometryForm.representByCylinder(radius = 0.9336f, height = 2.84375f)
|
2019-04-08 08:05:15 -04:00
|
|
|
|
2019-03-03 08:23:30 -05:00
|
|
|
teleportpad_terminal.Name = "teleportpad_terminal"
|
|
|
|
|
teleportpad_terminal.Tab += 0 -> OrderTerminalDefinition.EquipmentPage(EquipmentTerminalDefinition.routerTerminal)
|
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 15:17:32 -04:00
|
|
|
teleportpad_terminal.Damageable = false
|
|
|
|
|
teleportpad_terminal.Repairable = false
|
2019-03-03 08:23:30 -05:00
|
|
|
|
2019-12-07 00:02:59 -05:00
|
|
|
medical_terminal.Name = "medical_terminal"
|
|
|
|
|
medical_terminal.Interval = 500
|
|
|
|
|
medical_terminal.HealAmount = 5
|
|
|
|
|
medical_terminal.ArmorAmount = 10
|
|
|
|
|
medical_terminal.UseRadius = 0.75f
|
|
|
|
|
medical_terminal.TargetValidation += EffectTarget.Category.Player -> EffectTarget.Validation.Medical
|
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 15:17:32 -04:00
|
|
|
medical_terminal.MaxHealth = 500
|
|
|
|
|
medical_terminal.Damageable = true
|
|
|
|
|
medical_terminal.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
medical_terminal.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
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 15:17:32 -04:00
|
|
|
medical_terminal.RepairIfDestroyed = true
|
2021-02-03 19:39:32 -05:00
|
|
|
medical_terminal.Geometry = GeometryForm.representByCylinder(radius = 0.711f, height = 1.75f)
|
2019-12-07 00:02:59 -05:00
|
|
|
|
2018-12-23 21:09:12 -05:00
|
|
|
adv_med_terminal.Name = "adv_med_terminal"
|
|
|
|
|
adv_med_terminal.Interval = 500
|
|
|
|
|
adv_med_terminal.HealAmount = 8
|
|
|
|
|
adv_med_terminal.ArmorAmount = 15
|
|
|
|
|
adv_med_terminal.UseRadius = 0.75f
|
2019-12-07 00:02:59 -05:00
|
|
|
adv_med_terminal.TargetValidation += EffectTarget.Category.Player -> EffectTarget.Validation.Medical
|
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 15:17:32 -04:00
|
|
|
adv_med_terminal.MaxHealth = 750
|
|
|
|
|
adv_med_terminal.Damageable = true
|
|
|
|
|
adv_med_terminal.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
adv_med_terminal.autoRepair = AutoRepairStats(1.57894f, 5000, 2400, 0.5f)
|
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 15:17:32 -04:00
|
|
|
adv_med_terminal.RepairIfDestroyed = true
|
2021-02-03 19:39:32 -05:00
|
|
|
adv_med_terminal.Geometry = GeometryForm.representByCylinder(radius = 0.8662125f, height = 3.47f)
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
crystals_health_a.Name = "crystals_health_a"
|
|
|
|
|
crystals_health_a.Interval = 500
|
|
|
|
|
crystals_health_a.HealAmount = 4
|
|
|
|
|
crystals_health_a.UseRadius = 5
|
2019-12-07 00:02:59 -05:00
|
|
|
crystals_health_a.TargetValidation += EffectTarget.Category.Player -> EffectTarget.Validation.HealthCrystal
|
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 15:17:32 -04:00
|
|
|
crystals_health_a.Damageable = false
|
|
|
|
|
crystals_health_a.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
crystals_health_b.Name = "crystals_health_b"
|
|
|
|
|
crystals_health_b.Interval = 500
|
|
|
|
|
crystals_health_b.HealAmount = 4
|
2020-01-17 18:36:15 +00:00
|
|
|
crystals_health_b.UseRadius = 5
|
2019-12-07 00:02:59 -05:00
|
|
|
crystals_health_b.TargetValidation += EffectTarget.Category.Player -> EffectTarget.Validation.HealthCrystal
|
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 15:17:32 -04:00
|
|
|
crystals_health_b.Damageable = false
|
|
|
|
|
crystals_health_b.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
portable_med_terminal.Name = "portable_med_terminal"
|
|
|
|
|
portable_med_terminal.Interval = 500
|
|
|
|
|
portable_med_terminal.HealAmount = 5
|
|
|
|
|
portable_med_terminal.ArmorAmount = 10
|
|
|
|
|
portable_med_terminal.UseRadius = 3
|
2019-12-07 00:02:59 -05:00
|
|
|
portable_med_terminal.TargetValidation += EffectTarget.Category.Player -> EffectTarget.Validation.Medical
|
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 15:17:32 -04:00
|
|
|
portable_med_terminal.MaxHealth = 500
|
|
|
|
|
portable_med_terminal.Damageable = false //TODO actually true
|
|
|
|
|
portable_med_terminal.Repairable = false
|
2021-04-16 21:37:20 +02:00
|
|
|
portable_med_terminal.autoRepair = AutoRepairStats(2.24215f, 5000, 3500, 0.5f)
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
pad_landing_frame.Name = "pad_landing_frame"
|
|
|
|
|
pad_landing_frame.Interval = 1000
|
|
|
|
|
pad_landing_frame.HealAmount = 60
|
|
|
|
|
pad_landing_frame.UseRadius = 20
|
2019-12-07 00:02:59 -05:00
|
|
|
pad_landing_frame.TargetValidation += EffectTarget.Category.Aircraft -> EffectTarget.Validation.PadLanding
|
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 15:17:32 -04:00
|
|
|
pad_landing_frame.Damageable = false
|
|
|
|
|
pad_landing_frame.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
pad_landing_tower_frame.Name = "pad_landing_tower_frame"
|
|
|
|
|
pad_landing_tower_frame.Interval = 1000
|
|
|
|
|
pad_landing_tower_frame.HealAmount = 60
|
|
|
|
|
pad_landing_tower_frame.UseRadius = 20
|
2019-12-07 00:02:59 -05:00
|
|
|
pad_landing_tower_frame.TargetValidation += EffectTarget.Category.Aircraft -> EffectTarget.Validation.PadLanding
|
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 15:17:32 -04:00
|
|
|
pad_landing_tower_frame.Damageable = false
|
|
|
|
|
pad_landing_tower_frame.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
repair_silo.Name = "repair_silo"
|
|
|
|
|
repair_silo.Interval = 1000
|
|
|
|
|
repair_silo.HealAmount = 60
|
|
|
|
|
repair_silo.UseRadius = 20
|
2019-12-07 00:02:59 -05:00
|
|
|
repair_silo.TargetValidation += EffectTarget.Category.Vehicle -> EffectTarget.Validation.RepairSilo
|
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 15:17:32 -04:00
|
|
|
repair_silo.Damageable = false
|
|
|
|
|
repair_silo.Repairable = false
|
|
|
|
|
|
|
|
|
|
mb_pad_creation.Name = "mb_pad_creation"
|
|
|
|
|
mb_pad_creation.Damageable = false
|
|
|
|
|
mb_pad_creation.Repairable = false
|
|
|
|
|
|
|
|
|
|
dropship_pad_doors.Name = "dropship_pad_doors"
|
|
|
|
|
dropship_pad_doors.Damageable = false
|
|
|
|
|
dropship_pad_doors.Repairable = false
|
|
|
|
|
|
|
|
|
|
vanu_vehicle_creation_pad.Name = "vanu_vehicle_creation_pad"
|
|
|
|
|
vanu_vehicle_creation_pad.Damageable = false
|
|
|
|
|
vanu_vehicle_creation_pad.Repairable = false
|
|
|
|
|
|
|
|
|
|
mb_locker.Name = "mb_locker"
|
|
|
|
|
mb_locker.Damageable = false
|
|
|
|
|
mb_locker.Repairable = false
|
|
|
|
|
|
|
|
|
|
lock_external.Name = "lock_external"
|
|
|
|
|
lock_external.Damageable = false
|
|
|
|
|
lock_external.Repairable = false
|
|
|
|
|
|
|
|
|
|
door.Name = "door"
|
|
|
|
|
door.Damageable = false
|
|
|
|
|
door.Repairable = false
|
|
|
|
|
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
gr_door_mb_orb.Name = "gr_door_mb_orb"
|
|
|
|
|
gr_door_mb_orb.Damageable = false
|
|
|
|
|
gr_door_mb_orb.Repairable = false
|
|
|
|
|
|
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 15:17:32 -04:00
|
|
|
resource_silo.Name = "resource_silo"
|
|
|
|
|
resource_silo.Damageable = false
|
|
|
|
|
resource_silo.Repairable = false
|
2020-07-14 14:13:18 -04:00
|
|
|
resource_silo.MaxNtuCapacitor = 1000
|
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 15:17:32 -04:00
|
|
|
|
|
|
|
|
capture_terminal.Name = "capture_terminal"
|
|
|
|
|
capture_terminal.Damageable = false
|
|
|
|
|
capture_terminal.Repairable = false
|
|
|
|
|
|
|
|
|
|
secondary_capture.Name = "secondary_capture"
|
|
|
|
|
secondary_capture.Damageable = false
|
|
|
|
|
secondary_capture.Repairable = false
|
|
|
|
|
|
|
|
|
|
vanu_control_console.Name = "vanu_control_console"
|
|
|
|
|
vanu_control_console.Damageable = false
|
|
|
|
|
vanu_control_console.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
lodestar_repair_terminal.Name = "lodestar_repair_terminal"
|
|
|
|
|
lodestar_repair_terminal.Interval = 1000
|
|
|
|
|
lodestar_repair_terminal.HealAmount = 60
|
|
|
|
|
lodestar_repair_terminal.UseRadius = 20
|
2019-12-07 00:02:59 -05:00
|
|
|
lodestar_repair_terminal.TargetValidation += EffectTarget.Category.Vehicle -> EffectTarget.Validation.RepairSilo
|
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 15:17:32 -04:00
|
|
|
lodestar_repair_terminal.Damageable = false
|
|
|
|
|
lodestar_repair_terminal.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
multivehicle_rearm_terminal.Name = "multivehicle_rearm_terminal"
|
2020-07-14 05:54:05 +02:00
|
|
|
multivehicle_rearm_terminal.Tab += 3 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.vehicleAmmunition
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
multivehicle_rearm_terminal.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
|
|
|
|
multivehicle_rearm_terminal.SellEquipmentByDefault = true //TODO ?
|
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 15:17:32 -04:00
|
|
|
multivehicle_rearm_terminal.Damageable = false
|
|
|
|
|
multivehicle_rearm_terminal.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
bfr_rearm_terminal.Name = "bfr_rearm_terminal"
|
2020-07-14 05:54:05 +02:00
|
|
|
bfr_rearm_terminal.Tab += 3 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
Map.empty[String, () => Equipment]
|
|
|
|
|
) //TODO add stock to page
|
2019-03-03 08:23:30 -05:00
|
|
|
bfr_rearm_terminal.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
|
|
|
|
bfr_rearm_terminal.SellEquipmentByDefault = true //TODO ?
|
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 15:17:32 -04:00
|
|
|
bfr_rearm_terminal.Damageable = false
|
|
|
|
|
bfr_rearm_terminal.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
air_rearm_terminal.Name = "air_rearm_terminal"
|
2019-03-03 08:23:30 -05:00
|
|
|
air_rearm_terminal.Tab += 3 -> OrderTerminalDefinition.EquipmentPage(EquipmentTerminalDefinition.vehicleAmmunition)
|
|
|
|
|
air_rearm_terminal.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
|
|
|
|
air_rearm_terminal.SellEquipmentByDefault = true //TODO ?
|
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 15:17:32 -04:00
|
|
|
air_rearm_terminal.Damageable = false
|
|
|
|
|
air_rearm_terminal.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
ground_rearm_terminal.Name = "ground_rearm_terminal"
|
2020-07-14 05:54:05 +02:00
|
|
|
ground_rearm_terminal.Tab += 3 -> OrderTerminalDefinition.EquipmentPage(
|
|
|
|
|
EquipmentTerminalDefinition.vehicleAmmunition
|
|
|
|
|
)
|
2019-03-03 08:23:30 -05:00
|
|
|
ground_rearm_terminal.Tab += 4 -> OrderTerminalDefinition.VehicleLoadoutPage()
|
|
|
|
|
ground_rearm_terminal.SellEquipmentByDefault = true //TODO ?
|
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 15:17:32 -04:00
|
|
|
ground_rearm_terminal.Damageable = false
|
|
|
|
|
ground_rearm_terminal.Repairable = false
|
2018-12-23 21:09:12 -05:00
|
|
|
|
|
|
|
|
manned_turret.Name = "manned_turret"
|
|
|
|
|
manned_turret.MaxHealth = 3600
|
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 15:17:32 -04:00
|
|
|
manned_turret.Damageable = true
|
|
|
|
|
manned_turret.DamageDisablesAt = 0
|
|
|
|
|
manned_turret.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
manned_turret.autoRepair = AutoRepairStats(1.0909f, 10000, 1600, 0.5f)
|
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 15:17:32 -04:00
|
|
|
manned_turret.RepairIfDestroyed = true
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
manned_turret.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
manned_turret.WeaponPaths(1) += TurretUpgrade.None -> phalanx_sgl_hevgatcan
|
|
|
|
|
manned_turret.WeaponPaths(1) += TurretUpgrade.AVCombo -> phalanx_avcombo
|
|
|
|
|
manned_turret.WeaponPaths(1) += TurretUpgrade.FlakCombo -> phalanx_flakcombo
|
2021-04-16 21:37:20 +02:00
|
|
|
manned_turret.controlledWeapons += 0 -> 1
|
|
|
|
|
manned_turret.MountPoints += 1 -> MountInfo(0)
|
2018-12-23 21:09:12 -05:00
|
|
|
manned_turret.FactionLocked = true
|
|
|
|
|
manned_turret.ReserveAmmunition = false
|
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 14:32:42 -05:00
|
|
|
manned_turret.explodes = true
|
|
|
|
|
manned_turret.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 150
|
|
|
|
|
Damage1 = 300
|
|
|
|
|
DamageRadius = 5
|
|
|
|
|
DamageAtEdge = 0.1f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
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 14:32:42 -05:00
|
|
|
}
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
manned_turret.Geometry = GeometryForm.representByCylinder(radius = 1.2695f, height = 4.042f)
|
2020-01-17 13:19:07 -05:00
|
|
|
|
2020-02-14 15:52:57 +00:00
|
|
|
vanu_sentry_turret.Name = "vanu_sentry_turret"
|
|
|
|
|
vanu_sentry_turret.MaxHealth = 1500
|
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 15:17:32 -04:00
|
|
|
vanu_sentry_turret.Damageable = true
|
|
|
|
|
vanu_sentry_turret.DamageDisablesAt = 0
|
|
|
|
|
vanu_sentry_turret.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
vanu_sentry_turret.autoRepair = AutoRepairStats(3.27272f, 10000, 1000, 0.5f)
|
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 15:17:32 -04:00
|
|
|
vanu_sentry_turret.RepairIfDestroyed = true
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
vanu_sentry_turret.WeaponPaths += 1 -> new mutable.HashMap()
|
|
|
|
|
vanu_sentry_turret.WeaponPaths(1) += TurretUpgrade.None -> vanu_sentry_turret_weapon
|
2021-04-16 21:37:20 +02:00
|
|
|
vanu_sentry_turret.controlledWeapons += 0 -> 1
|
|
|
|
|
vanu_sentry_turret.MountPoints += 1 -> MountInfo(0)
|
|
|
|
|
vanu_sentry_turret.MountPoints += 2 -> MountInfo(0)
|
2020-02-14 15:52:57 +00:00
|
|
|
vanu_sentry_turret.FactionLocked = false
|
|
|
|
|
vanu_sentry_turret.ReserveAmmunition = false
|
2021-02-03 19:39:32 -05:00
|
|
|
vanu_sentry_turret.Geometry = GeometryForm.representByCylinder(radius = 1.76311f, height = 3.984375f)
|
2020-02-14 15:52:57 +00:00
|
|
|
|
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 15:17:32 -04:00
|
|
|
painbox.Name = "painbox"
|
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 14:32:42 -05:00
|
|
|
painbox.alwaysOn = false
|
|
|
|
|
painbox.sphereOffset = Vector3(0, 0, -0.4f)
|
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 15:17:32 -04:00
|
|
|
painbox.Damageable = false
|
|
|
|
|
painbox.Repairable = false
|
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 14:32:42 -05:00
|
|
|
painbox.innateDamage = new DamageWithPosition {
|
|
|
|
|
Damage0 = 5
|
|
|
|
|
DamageRadius = 0
|
|
|
|
|
DamageToHealthOnly = true
|
|
|
|
|
}
|
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 15:17:32 -04:00
|
|
|
|
|
|
|
|
painbox_continuous.Name = "painbox_continuous"
|
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 14:32:42 -05:00
|
|
|
painbox_continuous.sphereOffset = Vector3(0, 0, -0.4f)
|
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 15:17:32 -04:00
|
|
|
painbox_continuous.Damageable = false
|
|
|
|
|
painbox_continuous.Repairable = false
|
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 14:32:42 -05:00
|
|
|
painbox_continuous.innateDamage = new DamageWithPosition {
|
|
|
|
|
Damage0 = 5
|
|
|
|
|
DamageRadius = 0
|
|
|
|
|
DamageToHealthOnly = true
|
|
|
|
|
}
|
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 15:17:32 -04:00
|
|
|
|
|
|
|
|
painbox_door_radius.Name = "painbox_door_radius"
|
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 14:32:42 -05:00
|
|
|
painbox_door_radius.alwaysOn = false
|
|
|
|
|
painbox_door_radius.sphereOffset = Vector3(0, 0, -0.4f)
|
|
|
|
|
painbox_door_radius.hasNearestDoorDependency = true
|
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 15:17:32 -04:00
|
|
|
painbox_door_radius.Damageable = false
|
|
|
|
|
painbox_door_radius.Repairable = false
|
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 14:32:42 -05:00
|
|
|
painbox_door_radius.innateDamage = new DamageWithPosition {
|
|
|
|
|
Damage0 = 5
|
|
|
|
|
DamageRadius = 10f * 0.6928f
|
|
|
|
|
DamageToHealthOnly = true
|
|
|
|
|
}
|
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 15:17:32 -04:00
|
|
|
|
|
|
|
|
painbox_door_radius_continuous.Name = "painbox_door_radius_continuous"
|
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 14:32:42 -05:00
|
|
|
painbox_door_radius_continuous.sphereOffset = Vector3(0, 0, -0.4f)
|
|
|
|
|
painbox_door_radius_continuous.hasNearestDoorDependency = true
|
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 15:17:32 -04:00
|
|
|
painbox_door_radius_continuous.Damageable = false
|
|
|
|
|
painbox_door_radius_continuous.Repairable = false
|
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 14:32:42 -05:00
|
|
|
painbox_door_radius_continuous.innateDamage = new DamageWithPosition {
|
|
|
|
|
Damage0 = 5
|
|
|
|
|
DamageRadius = 10f * 0.6928f
|
|
|
|
|
DamageToHealthOnly = true
|
|
|
|
|
}
|
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 15:17:32 -04:00
|
|
|
|
|
|
|
|
painbox_radius.Name = "painbox_radius"
|
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 14:32:42 -05:00
|
|
|
painbox_radius.alwaysOn = false
|
|
|
|
|
painbox_radius.sphereOffset = Vector3(0, 0, -0.4f)
|
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 15:17:32 -04:00
|
|
|
painbox_radius.Damageable = false
|
|
|
|
|
painbox_radius.Repairable = false
|
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 14:32:42 -05:00
|
|
|
painbox_radius.innateDamage = new DamageWithPosition {
|
|
|
|
|
Damage0 = 5
|
|
|
|
|
DamageRadius = 10f * 0.6928f
|
|
|
|
|
DamageToHealthOnly = true
|
|
|
|
|
}
|
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 15:17:32 -04:00
|
|
|
|
|
|
|
|
painbox_radius_continuous.Name = "painbox_radius_continuous"
|
|
|
|
|
painbox_radius_continuous.Damageable = false
|
|
|
|
|
painbox_radius_continuous.Repairable = false
|
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 14:32:42 -05:00
|
|
|
painbox_radius_continuous.innateDamage = new DamageWithPosition {
|
|
|
|
|
Damage0 = 5
|
|
|
|
|
DamageRadius = 8.55f
|
|
|
|
|
DamageToHealthOnly = true
|
|
|
|
|
}
|
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 15:17:32 -04:00
|
|
|
|
2020-01-17 13:19:07 -05:00
|
|
|
gen_control.Name = "gen_control"
|
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 15:17:32 -04:00
|
|
|
gen_control.Damageable = false
|
|
|
|
|
gen_control.Repairable = false
|
2020-01-17 13:19:07 -05:00
|
|
|
|
|
|
|
|
generator.Name = "generator"
|
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 15:17:32 -04:00
|
|
|
generator.MaxHealth = 4000
|
|
|
|
|
generator.Damageable = true
|
|
|
|
|
generator.DamageableByFriendlyFire = false
|
|
|
|
|
generator.Repairable = true
|
2021-04-16 21:37:20 +02:00
|
|
|
generator.autoRepair = AutoRepairStats(0.77775f, 5000, 875, 1)
|
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 15:17:32 -04:00
|
|
|
generator.RepairDistance = 13.5f
|
|
|
|
|
generator.RepairIfDestroyed = true
|
|
|
|
|
generator.Subtract.Damage1 = 9
|
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 14:32:42 -05:00
|
|
|
generator.explodes = true
|
|
|
|
|
generator.innateDamage = new DamageWithPosition {
|
|
|
|
|
CausesDamageType = DamageType.One
|
|
|
|
|
Damage0 = 99999
|
|
|
|
|
DamageRadiusMin = 14
|
2021-02-08 00:20:17 -05:00
|
|
|
DamageRadius = 14.5f
|
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 14:32:42 -05:00
|
|
|
DamageAtEdge = 0.00002f
|
2021-01-27 14:33:43 -05:00
|
|
|
Modifiers = ExplodingRadialDegrade
|
2021-02-08 00:20:17 -05:00
|
|
|
//damage is 99999 at 14m, dropping rapidly to ~1 at 14.5m
|
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 14:32:42 -05:00
|
|
|
}
|
2021-02-03 19:39:32 -05:00
|
|
|
generator.Geometry = GeometryForm.representByCylinder(radius = 1.2617f, height = 9.14063f)
|
Hart (#723)
* initial OrbitalShuttleTimeMsg packet and tests; new objects to support HART shuttle transport system
* master was stale
* grouped scheduling for timing orbital shuttle activity
* door lock controls for HART shuttle lifecycle, and specifically for the doors that lead into the shuttle boarding hallway
* separation of the door from the door unlocking logic, which now has to be provided if performed by an outside source; a door that is locked either by bolt, HART routine, or other reason, can now be shut immediately; message when HART is not docked with a corresponding entry hallway door
* better degree of door logic control; all shuttle-related messages have been moved to LocalService; careful managing of 'original state' for the shuttle's cycle
* modification of seat mounting and cargo mounting support entities to expand functionality
* absolutely very little to do with the feature of this branch and a lot to do with yak-shaving; long story short, class inheritance is greatly modified and mountable seats can now accept multiple players if initialized properly
* a lot has changed: distribution of MountableBehavior, mount point information is more complex, vehicles convert differently, the routine of the shuttle timer is initialized differently; you can now successfully utilize the HART shuttle to drop into a zone
* swap of shutle from pad to pad control; tests and comments
* eject players from HART gantry hallway as if passengers dismounting from seat when not boarding through the use of environmental geometry; HART system uses duration from config settings to set scheduler
* rebase to curious master; repairs to vector rotation calculations; regression of mountable changes involving seats with occupancy greater than 1; orbital shuttle as a unique vehicle and amenity; corrected dismount offsets and offset calculations; weird angle of nc hart a building has been properly accommodated; hart events have prerequisite animation states
* rebase with master; looks like rebase with merged_master, which is also a commit
* lots of tests (though not nearly enough); checking the permission group of a shuttle seat no longer creates that seat
* fixing explosions
* fixed the persistence monitor service potentially using non-printable unicode in actor names
* can not use a droppod to gain access to one's own sanctuary
* removed hart facility update that causing open bay doors and beeping
* PR review changes
* fix for aggravation issues
2021-03-23 09:44:10 -04:00
|
|
|
|
|
|
|
|
obbasemesh.Name = "obbasemesh"
|
|
|
|
|
obbasemesh.Descriptor = "orbital_shuttle_pad"
|
|
|
|
|
obbasemesh.Damageable = false
|
|
|
|
|
obbasemesh.Repairable = false
|
2018-12-23 21:09:12 -05: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 18:46:01 -04:00
|
|
|
}
|