Commit graph

2171 commits

Author SHA1 Message Date
Fate-JH b8da7e4981
Merge pull request #1241 from Fate-JH/cerberus-off-damage
Unchained Dog Bite
2024-10-01 16:03:14 -04:00
Fate-JH 623a60d28c
Merge pull request #1240 from Fate-JH/max-switch-to-zero
Min Capacitor
2024-10-01 16:02:31 -04:00
Fate-JH 177a1f72d9
Merge pull request #1239 from ScrawnyRonnie/apc
APC EMP timer back to normal
2024-10-01 16:02:06 -04:00
Fate-JH 6a349d0fe1
Repeating the Obvious (#1233)
* adding chat and event messages that have been neglected since; these are easy additions

* completely retooled water interactions for players and vehicles to handle a wading status, before drowning; when player with llu or vehicle with player with llu come into contact with water in this wading state, the llu is lost and the facility hack ends; adding messages to support this and differentiate from an llu facility capture timeout

* periodic message while the llu is active, whether or not there is a carrier, until the hack is finished

* message when inventory is full (assumes player inventory destination, but item winds up in hand due to lack of space, but it works)

* when changing exo-suits, complain if equipment has to be deleted; dropped equipment is limited to special equipment; report a player pointlessly

* announce ams decay to players who have just spawned on an ams, when they spawn on that ams, and for the last round of spawnees when the vehicle finally deconstructs; due to use of the word 'bound' this may be an incorrect application, but matrixing doesn't work anyway

* deconstruction message for would-be driver when vehicle is abandoned on spawn pad; tempo on message delivery is different than usual

* message when player is kicked from orbital shuttle gantry; message when player attempts to bail in a warp gate; message when player attempts to bail from a droppod; stop player from succeeding in bailing from a droppod

* vehicle pad deconstruction complete message; message when nc max shield deactivates when out of capacitor power or when max opens fire; message when ams can not deploy because it is blocked by other entities; message when facility capture requires ntu

* message for deployables being blocked; cleaning up dev test section

* Yellow Ownership (#1226)

* just some tinkering and clean-up

* converted DeployItem from AvatarService to LocalService; attempt at resolving missing overwhip yellow ring is complicated; vehicle ownership packet wqorks on deployables that are mountable, but is less successful on normal simple deployables

* restoration of yellow ring of ownership around deployables; changes to variant of CommonFieldData transcorder used on certain deployable transcoders; static values are assigned parameter names and public variables are given types for completion

* initial packet for GenericObjectAction2Message and tests; repaired transcoders and tests for TRAP and small turrets

* force redraw of the whole boomer to assert reassignment of ownership; it's heavy-handed but it works

* deployable ownership should be asserted during both re-zoning and revival; refactoring of code in ZoningOperations

* message when inventory is full (assumes player inventory destination, but item winds up in hand due to lack of space, but it works)

* vehicle deployment messages added in, then deployment was fixed to accommodate an explicit caller, and that changed a whole lot of the deployment loop for messages; environmental activity was modified to maointain a more responsible start/stop transition; many many test changes (still an issue with a lot of them)

* moving around conditions for losing the llu

* the question of one extra bit for small deployables; also, all tests pass successfully, tho resource silo use remains coin flip; what sorcery is this

* duplicate capture lost message eliminated; flag lost violently due to environment in general rather than just water interaction; flag lost violently due to warp gate envelope interaction; flag lost due to be dropped in an unsafe position

* vary the testing depth for water interaction

* darn tests

* fixed vehicle interference; added missing ArmorShieldOff message; clearing countdown after vehicle spawn should stop countdown from appearing in subsequent vehicle spawns

* the router needs 20m of clearance

* removing the shared group interference information from routers
2024-10-01 16:01:00 -04:00
Fate-JH 9bd9cb0eac if the cerberus damages a non-vehicle or a vehicle that does not fly, the damage is reduced by anywhere between 1 and 4 2024-09-29 00:23:49 -04:00
Fate-JH 11cb11bd79 when you change max exo-suit subtypes, or change into a max exo-suit, the capacitor level is set to zero 2024-09-28 02:07:48 -04:00
ScrawnyRonnie ee3e9421ea timer back to normal 2024-09-27 15:31:46 -04:00
Fate-JH 2aeb8189da world origin 0 0 0 is a region free from environmental death 2024-09-27 01:43:28 -04:00
Fate-JH 4b7d41db2f
removed unnecessary handling from spectator mode; safety rails added to ValidObject, so oit doesn't get too silly; turrets will no longer end the world for somebody (#1232) 2024-09-02 14:30:56 -04:00
Fate-JH a4b7e77d9d
vehicle gating works again (#1231) 2024-08-27 19:54:42 -04:00
Fate-JH d219f903e6
automated turret damage was getting skipped because resolved attackers were hyper-focused on small turret automation and forgot about facility turrets (#1230) 2024-08-22 23:35:55 -04:00
Fate-JH 9708bf9beb
Yellow Ownership (#1226)
* just some tinkering and clean-up

* converted DeployItem from AvatarService to LocalService; attempt at resolving missing overwhip yellow ring is complicated; vehicle ownership packet wqorks on deployables that are mountable, but is less successful on normal simple deployables

* restoration of yellow ring of ownership around deployables; changes to variant of CommonFieldData transcorder used on certain deployable transcoders; static values are assigned parameter names and public variables are given types for completion

* initial packet for GenericObjectAction2Message and tests; repaired transcoders and tests for TRAP and small turrets

* force redraw of the whole boomer to assert reassignment of ownership; it's heavy-handed but it works

* deployable ownership should be asserted during both re-zoning and revival; refactoring of code in ZoningOperations
2024-08-22 23:33:47 -04:00
Fate-JH d2d7c2e09b
only the dying person has their implants deinitialize (#1224) 2024-08-06 23:37:26 -04:00
Fate-JH 46ad7148a2
drop medapp so client does not crash after character select; also, max needs arm raised (#1225) 2024-08-06 23:37:14 -04:00
Fate-JH 02f95a293e
Implant Terminal Hack (#1221)
* preliminary functional implant hacking; am going to explore better hacking policies

* HackMessage now uses custom fields and a float value rather than integers (2, 32, 32); separate hack state and hack clear states; everything changes
2024-08-03 00:12:16 -04:00
Fate-JH 8afe7fa248
QoL: Character Select Screen (#1215)
* make character select screen characters look like the player that logged out last

* velocity does not matter

* adjusting comments; filling out param names
2024-07-29 02:46:54 -04:00
Resaec 8738a42ca0
Rename and correct packet Unknown30 to ClientHotStart (#1217)
This packet contains the client and server nonce needed to restart a connection using old crypto data.
2024-07-29 02:18:04 -04:00
Fate-JH d1dbbcb08f
Bug Fixes 20240712 (#1212)
* correctly clear the hack state of terminals when unpowered; turrets will no longer act like they have AI control if jammed when mounted; restore passive implants

* reload opened and closed doors upon zoning changes; rework ntu silo and ant interaction start; clear hack on proximity terminals; facility turrets stop indicating towards jamming cause when mounted

* radiator is turned off due to potential for server crashes; cerebus -> cerberus; turret kills name owner only when they are in the same zone; fewer chances for turrets to fire when they should not

* incorporating structural changes to hacking for future expansion

* an attempt at fixing tests was made
2024-07-29 02:17:42 -04:00
Fate-JH 5990f247c9
by default, the server only expect udp on 51000 and 51001; let's keep to that by default (#1209) 2024-07-02 13:01:35 -04:00
Fate-JH 6d1530c311
Zone Setup (#1208)
* zone entity setup code has been moved from an instance method to a class function

* port address bind to socket and request to join game world address are different
2024-07-01 18:47:00 -04:00
Fate-JH 00a6f2abe1
Multiple Game World Ports (#1206)
* configuration for the game world server to connect to clients across a number of socket-port connections following a simple numerical load balancing policy

* combining port management into the sector pane

* mostly spelling issues
2024-07-01 11:20:49 -04:00
Fate-JH 593caec8cf
Hijacking Turrets (#1207)
* omft jacking functional; omft shields have been wired but remain disabled

* breaking up classes related to different kinds of turret deployables
2024-07-01 11:19:39 -04:00
Fate-JH 92063ba3a2
Fixing Tests (#1204)
* fixed about half of the unworking tests, and commented out one

* stubborn tests that pass on their own but don't tend to pass in clusters; also, a certain test that terminates an actor when a mostly unrelated entity has its propertries changed from default, just weird

* reviewing logic and operations pairs to ensure that functionality should have been retained from parent structure; moving handling case from individual player modes to session actor, which makes it much closer to the pattern

* while it's still a dice roll, all tests currently implemented are capable of passing

* deployable vehicles should properly deploy again now that they don't have to fight with themselves for the ability to deploy

* boomers are no longer owned if the trigger is dropped (how long has this been not working?)

* redid DamageFeedbackMessage packet because I thought I could use it for something; didn't use it for anything; boomers are no longer responsive to explosive sympathy

* redid combat engineering explosive logic

* redid (cleaned-up) implant logic

* implant initialization timers now saved to the database; uninitialized implants will appear as uninitialized when the character loads; passive initialized implants will always start as activate

* renaming methods; progress bar calculations change

* accounting for implants that are in the act of being initialized
2024-06-22 01:42:25 -04:00
Fate-JH 306e2a63c0
Mine Kill Restoration (#1203)
* restored experience awarded from mine kills; removed situations where mine damage no longer works

* Update ZoningOperations.scala

Rearranging order and priority of conditions
2024-05-17 00:06:11 -04:00
Fate-JH cacb9ad18a
Scoring (#1202)
* cep from towers set to 10; reorganized an if...else

* replacing maxBy with maxByOption and then resolving maxBy the long way with appropriate fallback value
2024-05-14 22:03:55 -04:00
Fate-JH 2dd44142d2
restored experience awarded from mine kills; removed situations where mine damage no longer works (#1197) 2024-05-14 22:03:27 -04:00
Fate-JH a3eb3a8a95
Entity Interference (#1191)
* basic interference fields; setting up operations for ce deployables

* applying corrected properties to object definitions and applying them to interference tests for deployable ce and for deploying vehicles; made two otherwise useles object definitions to store property data (if we ever need ziplines or teleport pads ...)

* sent deployment requests to a centralized pipeline for interference testing; swapped out math.pow(a,2) for a * a

* temporary interference for vehicles that are going to transition to deployed eventually and block other deploying vehicles

* reversed the origin of the interference tests

* exception for non-interference resolves to wrong conclusion

* ramshackle merge conflict resolution; fixing interference for non-interference deploying vehicles
2024-05-11 00:33:07 -04:00
Fate-JH 426ab84f0a
Spectator Role (#1200)
* reorganized files and methods for session actor in preparation for custom spectator implementation

* split existing code between data and functions, and entry points; parsing and logic management is now handled within the current game mode, which should reduce the need to ask explicits

* should fix players not performing damage after being broken for an unknown amount of time, maybe never working correctly

* functioning spectator mode logic swap; initial packets for UplinkRequest, UplinkResponse, and UplinkPositionEvent

* available chat prompts can now be different based on player mode without testing flags

* modified ChatActor to be replaced by a function-data logic pair, and modified ChatService to be able to accommodate the new chat channel; chat packet handling moved from general operations to the new chat operations

* resolved issues with spectator implants, at least enough that implants should be stable; created an exclusive permission for spectator mode; database changes to persist permissions for different modes

* command detonater is no longer allowed; spectators now hold a laze pointer

* for the purposes of testing, anyone can be a spectator

* spectator mode is important to confirm; removed deprecated chat actor; dismount quietly

* oops; allowed again

* restored commands setbr and setcr; deployables are erased from spectator map; projectiles destruction only just in case

* role only for those who are permitted
2024-05-10 22:30:20 -04:00
ScrawnyRonnie 21637108c2
Merge pull request #1193 from ScrawnyRonnie/trades
No More Kill Trades?
2024-04-18 09:01:01 -04:00
Jakob Gillich cc29ee3be0
fix docker-compose.yml 2024-04-17 12:55:06 +02:00
ScrawnyRonnie e91d91294e projectile change 2024-04-15 22:15:00 -04:00
Fate-JH 417959745e
sidedness now helps determine target validity for automated turrets (#1192) 2024-04-15 18:35:28 -04:00
ScrawnyRonnie a30f89fc50 no damage if dead 2024-04-15 08:26:31 -04:00
Fate-JH 9319f7e7bd
moved responsibility for determing the type of un/mounting entity to specific subclass rather than generic parent class (#1184) 2024-03-29 00:41:05 -04:00
Fate-JH b7dc2b6623
making .max calls safer by checking .nonEmpty first (#1185) 2024-03-29 00:40:29 -04:00
Fate-JH 34e2ad5ea3
corrected drowning issues when inland on forseral (#1186) 2024-03-29 00:40:10 -04:00
Fate-JH 23c4310258
External Doors (#1190)
* defining all doors; moving around classes related to environment fields; separating global definitions into a main file and implementation files

* logic for declaring door occupants/users as inside or outside or within an open door using door declarations, geometry and environment fields, and math; divided the remaining object type definitions into their own files and removed those from the main global definitions file

* integrating inside/outside considerations into server-calculated damage; clarifying the sidedness comparison rules; extending inside outside considerations for deployables and vehicles

* projectiles that, by definition, are allowed to damage targets through walls (radiation_cloud, with DamageThroughWalls) regardless of sidedness; any unflagged radiation_cloud must be on the side as its target; fixed chat bang-commands not being executed

* added sidedness to different entities, both in general and depending on the zone where it matters

* removed three too-specific fields on the door's definition, resulting in nontrivial rewrites that resulted in all amenities being able to project an environment field onto the block map, to do with whatever it needs

* wrote WithEntrance interaction to be able to switch between normal / debug modes; telepad and router sidedness support; fixed bang-commands; fixed issue with proessing player mounted state; added zone entity discovery feature (unused)

* empty character literal is a digit somehow

* adding way to allow bang-commands that only a gm would have access to for everyone
2024-03-29 00:33:38 -04:00
ScrawnyRonnie 6bb002e2e2
Update THANKS.md
Jakob should be here
2024-03-06 16:07:22 -05:00
Fate-JH 4826e338c1
need to get rid of parenthesis for this method (#1178) 2024-03-03 00:40:50 -05:00
Fate-JH b43e7a6993
Environmental Redo (#1169)
* switched environment handling from the control agency side to the entity side to match other zone interactions

* reusing the existing sector data; better resets, negating an issue during mounting where the player does not switch back to recovery; disabling was bugged due to missed timer upgrade

* making lava no longer deadly; wait ...

* only one method of cancelling a lava interaction at a time
2024-03-02 23:43:53 -05:00
Fate-JH ea77d4728f
Turret Automation (#1166)
* zone interaction for turret discovery, players only so far; minor field value change for small turret data; automated turret target recognition; grammatical and linter fixes

* initial AIDamage packet and tests; wrote handling code for the AIDamage packet that transforms it into actionable projectile damage

* thoroughly reorganized code in behavior; added code for turret-specific interactions for deployable construction, deployable destruction, jamming, and for weaponfire retribution; killing is currently disable for testing turnaround

* introduced definition properties to configure auto fire; interspersed properties into relevant files; non-squared velocity check for isMoving

* separated overworld facility turrets from cavern facility turrets, called vanu sentry turrets; tightened functionality inheritance between turret deployables and facility turrets; corrected issue where recharging vehicle weapons didn't work

* adjust mounting code to betterhandle automation with the facility turrets; basic operation of automation has also been changed, adding a variety of ranges to test against, and cylindrical distance checks

* attempted cleanup of previous test fire condition; division of turret callbacks between generic targets and vehicle targets; facility turret stops automatic fire when being mounted and resumes automatic mode when being dismounted

* self-reported firing mode for targets that go stationary and then use a 'clever trick' to avoid taking damage while in full exposure to the automated turret; documentation on the automated turret operations (it needs it!)

* making specific target validation conditions for different auto turrets, also target blanking, and clarification of how the self-reporting mode cleansup after itself; wrote function documentation to make it all make sense (it doesn't)

* secondary queue that keeps track of the previous test shot subjects when none have been tested, allowing for a packet to be skipped during subsequent test shots

* reactivating turret deployable destruction; clarifying the validation and clearing conditions for different kinds of auto turrets; extending self-reporting auto turret behavior to other auto-turrets

* overhaul of the auto turret target selection process; conditions for MAX detection; rewired self-reporting to address the its issue a bit more specifically; ATDispatch is no longer useless as differences between facility turrets and deployable turrets have been identified, shifting the method to implementing and overriding in subclass control agencies

* turret detection methods accounting for specific targets and considerations such as silent running; various turret interactions with other turrets and radiation clouds; proper management of retaliation and jamming; facility turrets have play in the lifecycle in the power structure and capture mechanics of the facility

* uniqueness can be generated without having to having to go through source entries; made certain turret upgrading cooperates with turret automation; other targets for turret misaimed aggression; turrets sychronize better on zone load; target validation and blankinghas changed again

* starting the target validation timer when dealing with retaliation if it should come from beyond the maximum detection range

* stop assuming mountable turrets have places to mount; AMS and AEGIS blocking detection of vehicles; deployable sensors and small robotics turrets are allergic to vehicles

* AEGIS and AMS cloak bubbles more proactive
2024-03-02 23:16:10 -05:00
Fate-JH d049146b4f
jammered mines explode again (he mines were exploding for incorrect reasons) (#1175) 2024-03-02 23:12:45 -05:00
Fate-JH 44f1560a94
Battle Island Facility Names (#1173)
* alias the internal facility names to their continental map names (battle islands)

* capturebase, but easier to follow

* sraosha(whitespace) is no longer with (whitespace)
2024-03-02 23:12:28 -05:00
Fate-JH 34ac1e5266
Loadout Item Issues (#1172)
* issue where contents of inventory did not match loadout specifications of the exo-suit to which the player was switching

* accidentally using the loadout change set armor in exo-suit change set armor; reverted
2024-03-02 23:10:52 -05:00
Fate-JH 9ed39c6e2f
driver as the killer, not the vehicle (#1171) 2024-03-02 23:09:15 -05:00
Fate-JH f2c486d6f6
initial debug draw packet; data for the tests are entirely fabricated as we have no instances of this packet in the wild (#1170) 2024-03-02 23:08:59 -05:00
Jakob Gillich 5d42f71901
Merge pull request #1177 from ScrawnyRonnie/Tara
Tara & Tower IFFs
2024-03-02 21:10:08 +01:00
ScrawnyRonnie 3556a17f3d access granted 2024-03-02 07:29:18 -05:00
Jakob Gillich fc66b43cb5
fix logo url 2024-02-16 22:08:16 +01:00
Fate-JH c705a0fb56
Merge pull request #1157 from ScrawnyRonnie/squads
Reintroduce Squads (Not Perfect)
2024-02-12 18:36:34 -05:00