Commit graph

100 commits

Author SHA1 Message Date
Jason_DiDonato@yahoo.com
7cd3f4d63f transforming payload of ResetSequence into flags, sequence, and remainder, along with a test decryption 2021-03-24 14:09:55 -04:00
Mazo
bd01fd1695
Merge pull request #732 from Fate-JH/quick-fixes
Quick Fixes
2021-03-23 19:16:53 +00:00
Fate-JH
aac2100f0d
Merge pull request #729 from Fate-JH/reset-seq
ResetSequence 1
2021-03-23 14:10:56 -04:00
Jason_DiDonato@yahoo.com
4d1fcfb0ff Cyssor sea is level again; fixing vehicle spawn pad auto-mount 2021-03-23 14:09:21 -04:00
Mazo
bde51e9e44
Merge pull request #683 from Mazo/vehicle-contents-fix
Fix vehicle inventory unloading on mounting
2021-03-23 17:37:37 +00:00
Jason_DiDonato@yahoo.com
5c169e1ca7 catching reset sequence so that we can output details about how the packet looks; for live logging 2021-03-23 12:14:56 -04:00
Fate-JH
873f19db5e
Dirty master (#727)
to resolve a dirty master
2021-03-23 11:08:25 -04:00
Fate-JH
71ab35ecab
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
Fate-JH
ab354e49df
Merge pull request #676 from Mazo/capture-terminal-refactor
Capture terminal logic refactor
2021-02-27 07:29:59 -05:00
Fate-JH
fcf0240342
Merge pull request #689 from Fate-JH/ok-boomer
Ok Boomer
2021-02-27 07:29:13 -05:00
Mazo
49225271ba Amendment from PR review to unwrap optional boolean 2021-02-10 17:49:28 +00:00
Jason_DiDonato@yahoo.com
f41de41d5a added a check called no double lash that should stop players from suffering double lash 2021-02-09 01:56:17 -05:00
Fate-JH
e9a7eb3d78
Merge pull request #671 from Mazo/cmt-warp-list
Restore `/warp -list` functionality
2021-02-08 10:38:05 -05:00
Fate-JH
b4d6e9172f
Merge pull request #685 from Mazo/bailable-seats
Allow vulture/liberator/ggs seats to be bailed from in motion
2021-02-08 10:36:46 -05:00
Jason_DiDonato@yahoo.com
6e81ee7e95 mechanism for server-driven emp caused by projectiles with emp properties; finalization of geometry elements and tests for geometric tests 2021-02-08 00:20:17 -05:00
Mazo
34444f5b66 Allow vulture/liberator/ggs seats to be bailed from in motion 2021-02-05 23:44:00 +00:00
Mazo
b4fb0cf855 Amend mounting tests 2021-02-05 23:43:17 +00:00
Mazo
3f1003c51e Allow rexo to mount battlebusses as the driver (fixes #519) 2021-02-05 23:43:17 +00:00
Jason_DiDonato@yahoo.com
e41e7e7cfa established geometry definitions for damageable object types; fixed rotations; removed unnecessary classes 2021-02-03 19:39:32 -05:00
Mazo
7ed2cc7af4 Dont unload vehicle inventory when closing trunk after rearming 2021-02-02 21:08:01 +00:00
Mazo
7cc1dbbc63 Don't unload vehicle inventory contents if the player is seated in it (fixes race condition with PSUM + vehicle mounting) 2021-02-02 20:56:47 +00:00
Jason_DiDonato@yahoo.com
fe386bd79b integrated geometric representation with object definition, explosion target detection, and explosion resolution 2021-01-27 14:33:43 -05:00
Jason_DiDonato@yahoo.com
9d86844396 modified shape structures and operations on said shapes 2021-01-24 23:11:02 -05:00
Mazo
0ff24feffc Fix for map not updating with flag when cavern CC is hacked (resolves #448) 2021-01-23 20:48:17 +00:00
Mazo
348fa86a40 Refactor capture console logic 2021-01-23 20:30:40 +00:00
Mazo
2295338b91 Change painbox initialization warning to info 2021-01-23 20:24:21 +00:00
Jason_DiDonato@yahoo.com
4304ea7f4d line and line segment intersection code and tests 2021-01-20 22:56:29 -05:00
Mazo
677ecd8dd5 Restore /warp -list functionality 2021-01-20 18:59:29 +00:00
Jason_DiDonato@yahoo.com
f557ecc13d using the boomer trigger now causes boomers to explode and harm targets 2021-01-12 23:01:08 -05:00
Fate-JH
b5fc2ecf70
Middleware (#662)
* removed suspicious shadowing and clarified failure message; customized skipped bundling

* smp history is now a no-less-efficient circular array

* adjustment to bundle dispatch timing; adjustment to inbound sequence reorder queue

* adjustments to handling inbound packets with missing subslots

* unused PacketCoding features

* comments; delayed start of the queue processor task; turned sequence reorder task and subslot missing task into function literals

* optimizations to the inbound re-order by sequence routines by controlling execution flow

* the subslot request timer has been separated from the standard bundling processor; config values for bundling, sequence resolution, and subslot requests in the middleware actor have been included

* replacing func-array with conditional logic
2021-01-12 14:33:44 -05:00
Fate-JH
563afcdb19
Auto-Repair Tuning (#652)
* difficulty modifiers for repair rate and drain in config

* changed autorepair request-repair pattern to wait until a repair is fulfilled before issuing the next request; moved integration tests for efficiency

* auto-repair accounts for delay between request-reply when schduling next request; base ntu drain is halved; auto-repair mending values adjusted based on wiki times

* moving config call into auto-repair mixin

* deleting the old integration testing code

* obligatory test fixes

* more of the same

* correcting exceptions with calculating subsequent auto-repair time and transfer messaging behavior with WarpGate objects; transfer animation and transfer delivery now have slightly different timing; wrote  bunch of tests that don't work in the standard manner, but do pass
2021-01-12 14:27:33 -05:00
Jakob Gillich
4c1b9a64d3
Fix thread safety issues
* Synchronize RC5 cipher access
* Replace avatar using message to self in AvatarActor
2020-12-31 04:26:23 +01:00
Jason_DiDonato@yahoo.com
a8427542d1 permission to spawn again 2020-12-27 10:24:55 -05:00
Jakob Gillich
0c7ac8f0a9
Fix queueProcessor running on system thread 2020-12-27 15:13:18 +01:00
Fate-JH
1a6beba335
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
Fate-JH
6c93746767
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
Mazo
bf240295da Fix zipline path data being entirely missing 2020-11-30 22:30:13 +00:00
Fate-JH
babd455753
Yet Another Corpse Fix (#637)
* numeric session ids now restored; LoginActor knows about connection address; corpses are barren unless searched

* session and login id/counter moved under server; function literal definition changed

* corpse channel

* trying to fix docker as per set-env requirement changes; I don't know what I'm doing
2020-11-27 09:30:56 -05:00
Fate-JH
d24fefaa91
Merge pull request #619 from Fate-JH/powered
Powered
2020-11-16 07:53:22 -05:00
Jason_DiDonato@yahoo.com
1996b1c4a6 capitol force dome status relfects power state (and, thus, NTU) 2020-10-24 09:24:44 -04:00
Jason_DiDonato@yahoo.com
924c78ea0b promoted generator destruction to flag when to power down facility 2020-10-21 19:22:33 -04:00
Jason_DiDonato@yahoo.com
54f6588439 comments and tests; generator now passes state information to owner, owner composes messaging; can not set faction information if building does not have ntu 2020-10-21 12:35:13 -04:00
Jason_DiDonato@yahoo.com
88684aa1a2 modified !ntu command to improve effect and control; generator has context for ntu rupply and when lacking ntu supply; the resource silo no longer directly controls facility conditions 2020-10-18 10:06:11 -04:00
Jason_DiDonato@yahoo.com
e1c5cd90a7 updated ntu -> power workflow by making event progress - the silo will report the ntu state to the generator and the generator will only report on the power state if it is not destroyed; if the generator is destroyed, that is where the messaging will end, until the generator comes back online; the events for these state change are somewhat arbitrary 2020-10-14 22:40:27 -04:00
Jakob Gillich
dbdcaeb751 Finally fix list_players command
Originally I made list_players return the full avatar
object rather than just the name string. Which was kind of
a bad idea because certain contents were unserializable
which caused the command to break (sometimes).

Weeks later, I attempted to fix it by returning to the
original behaviour of only returning names. By that point
I had forgotten that PSFPortal was changed to expect an
object.

So here's the final fix. player_list now returns a very
simple object made up of the name and faction id.
2020-10-14 21:44:02 +02:00
Jason_DiDonato@yahoo.com
4a0805b698 logic for door opening has been exorcised from SessionActor into DoorControl 2020-10-13 18:47:05 -04:00
Jason_DiDonato@yahoo.com
ef0d18d214 powered amenity control agent; terminals, proximity terminals, spawn tubes, implant mechs, facility turrets, and painfields demonstrate this behavior 2020-10-13 01:32:41 -04:00
Jakob Gillich
8586710c97 Fix starting command rank 2020-10-11 16:45:53 +02:00
Jakob Gillich
47d0013e42 Add starting rank and XP rate config options 2020-10-11 14:51:49 +02:00
Jason_DiDonato@yahoo.com
69b3a8a4bf each zone now has access to its own bundle of task resolver objects; primary changes to reflect this has been the simplification of item moving parameters; tests corrected 2020-10-10 09:16:56 -04:00