mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-04-21 11:55:19 +00: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
This commit is contained in:
parent
e3de497be3
commit
71ab35ecab
127 changed files with 4672 additions and 1870 deletions
|
|
@ -205,10 +205,17 @@ class Vector3Test extends Specification {
|
|||
"rotate positive x-axis-vector 90-degrees around the z-axis" in {
|
||||
val A: Vector3 = Vector3(1, 0, 0)
|
||||
A.Rz(0) mustEqual A
|
||||
A.Rz(90) mustEqual Vector3(0, 1, 0)
|
||||
A.Rz(90) mustEqual Vector3(0, -1, 0)
|
||||
A.Rz(180) mustEqual Vector3(-1, 0, 0)
|
||||
A.Rz(270) mustEqual Vector3(0, -1, 0)
|
||||
A.Rz(270) mustEqual Vector3(0, 1, 0)
|
||||
A.Rz(360) mustEqual A
|
||||
|
||||
val B: Vector3 = Vector3(0, 1, 0)
|
||||
B.Rz(0) mustEqual B
|
||||
B.Rz(90) mustEqual Vector3(1, 0, 0)
|
||||
B.Rz(180) mustEqual Vector3(0, -1, 0)
|
||||
B.Rz(270) mustEqual Vector3(-1, 0, 0)
|
||||
B.Rz(360) mustEqual B
|
||||
}
|
||||
|
||||
"rotate positive y-axis-vector 90-degrees around the x-axis" in {
|
||||
|
|
@ -233,12 +240,12 @@ class Vector3Test extends Specification {
|
|||
val A: Vector3 = Vector3(1, 0, 0)
|
||||
A.Rz(90)
|
||||
.Rx(90)
|
||||
.Ry(90) mustEqual A
|
||||
.Ry(-90) mustEqual A
|
||||
}
|
||||
|
||||
"45-degree rotation" in {
|
||||
val A: Vector3 = Vector3(1, 0, 0)
|
||||
A.Rz(45) mustEqual Vector3(0.70710677f, 0.70710677f, 0)
|
||||
A.Rz(45) mustEqual Vector3(0.70710677f, -0.70710677f, 0)
|
||||
}
|
||||
|
||||
"find a relative up (identity)" in {
|
||||
|
|
@ -291,9 +298,9 @@ class Vector3Test extends Specification {
|
|||
|
||||
"find a relative up (combined x,z)" in {
|
||||
Vector3.relativeUp(Vector3(0, 0, 90)) mustEqual Vector3(0,0,1) //up
|
||||
Vector3.relativeUp(Vector3(90, 0, 90)) mustEqual Vector3(0,-1,0) //south
|
||||
Vector3.relativeUp(Vector3(90, 0, 90)) mustEqual Vector3(0,1,0) //north
|
||||
Vector3.relativeUp(Vector3(180, 0, 90)) mustEqual Vector3(0,0,-1) //down
|
||||
Vector3.relativeUp(Vector3(270, 0, 90)) mustEqual Vector3(0,1,0) //north
|
||||
Vector3.relativeUp(Vector3(270, 0, 90)) mustEqual Vector3(0,-1,0) //south
|
||||
Vector3.relativeUp(Vector3(360, 0, 90)) mustEqual Vector3(0,0,1) //up
|
||||
|
||||
Vector3.relativeUp(Vector3(90, 0, 180)) mustEqual Vector3(1,0,0) //east
|
||||
|
|
@ -301,14 +308,13 @@ class Vector3Test extends Specification {
|
|||
Vector3.relativeUp(Vector3(270, 0, 180)) mustEqual Vector3(-1,0,0) //west
|
||||
Vector3.relativeUp(Vector3(360, 0, 180)) mustEqual Vector3(0,0,1) //up
|
||||
|
||||
Vector3.relativeUp(Vector3(90, 0, 270)) mustEqual Vector3(0,1,0) //north
|
||||
Vector3.relativeUp(Vector3(90, 0, 270)) mustEqual Vector3(0,-1,0) //south
|
||||
Vector3.relativeUp(Vector3(180, 0, 270)) mustEqual Vector3(0,0,-1) //down
|
||||
Vector3.relativeUp(Vector3(270, 0, 270)) mustEqual Vector3(0,-1,0) //south
|
||||
Vector3.relativeUp(Vector3(270, 0, 270)) mustEqual Vector3(0,1,0) //north
|
||||
Vector3.relativeUp(Vector3(360, 0, 270)) mustEqual Vector3(0,0,1) //up
|
||||
}
|
||||
|
||||
"find a relative up (combined x,y)" in {
|
||||
val south = Vector3(0,-1,0)
|
||||
Vector3.relativeUp(Vector3(0, 90, 0)) mustEqual Vector3(0,-1,0) //south
|
||||
Vector3.relativeUp(Vector3(90, 90, 0)) mustEqual Vector3(-1,0,0) //west
|
||||
Vector3.relativeUp(Vector3(180, 90, 0)) mustEqual Vector3(0,1,0) //north
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue