mirror of
https://github.com/ChocoTaco1/TacoServer.git
synced 2026-07-15 16:14:35 +00:00
Merge branch 'Dev' into Stable
This commit is contained in:
commit
21540e1634
2 changed files with 15 additions and 9 deletions
|
|
@ -2459,7 +2459,7 @@ function deleteNonSCtFObjects()
|
||||||
$TypeMasks::TurretObjectType | $TypeMasks::VehicleObjectType | $TypeMasks::StaticShapeObjectType); //For FF: $TypeMasks::ForceFieldObjectType
|
$TypeMasks::TurretObjectType | $TypeMasks::VehicleObjectType | $TypeMasks::StaticShapeObjectType); //For FF: $TypeMasks::ForceFieldObjectType
|
||||||
while ((%obj = containerSearchNext()) != 0)
|
while ((%obj = containerSearchNext()) != 0)
|
||||||
{
|
{
|
||||||
if(%obj.Datablock !$= "flag" && %obj.Datablock !$= "RepairKit" && %obj.Datablock !$= "RepairPatch") //Dont delete these...
|
if(%obj.Datablock !$= "flag" && %obj.Datablock !$= "RepairKit" && %obj.Datablock !$= "RepairPatch" && %obj.Datablock !$= "ExteriorFlagStand" && %obj.Datablock !$= "InteriorFlagStand" && %obj.Datablock !$= "NexusBase") //Dont delete these...
|
||||||
{
|
{
|
||||||
%deleteList[%c] = %obj;
|
%deleteList[%c] = %obj;
|
||||||
%c++;
|
%c++;
|
||||||
|
|
|
||||||
|
|
@ -57,19 +57,25 @@ package flagFix{
|
||||||
activatePackage(flagFix);
|
activatePackage(flagFix);
|
||||||
|
|
||||||
function DefaultGame::flagColTest(%game, %flag){
|
function DefaultGame::flagColTest(%game, %flag){
|
||||||
if( !%flag.isHome ){// keeps flags from getting stuck in ceilings
|
//flag ceiling check
|
||||||
|
if( !%flag.isHome ){
|
||||||
%flag.stuckChkTimer += $flagSimTime;
|
%flag.stuckChkTimer += $flagSimTime;
|
||||||
if(%flag.stuckChkTimer > $flagStuckTime){
|
if(%flag.stuckChkTimer > $flagStuckTime){ // rate limit are checks
|
||||||
%fpos = %flag.getPosition();
|
if(vectorLen(%flag.getVelocity()) < 2){ // only check if we are not at speed
|
||||||
%upRay = containerRayCast(%fpos, vectorAdd(%fpos,"0 0 2.4"), $TypeMasks::InteriorObjectType | $TypeMasks::StaticObjectType | $TypeMasks::ForceFieldObjectType, %flag);
|
%fpos = %flag.getPosition();
|
||||||
if(%upRay){
|
//0.1 offset any fp errors with the flag position being at ground level, 2.4 offset flag height offset + some extra
|
||||||
%dist = vectorDist(%fpos,getWords(%upRay,1,3));
|
%upRay = containerRayCast(vectorAdd(%fpos,"0 0 0.1"), vectorAdd(%fpos,"0 0 2.4"), $TypeMasks::InteriorObjectType | $TypeMasks::StaticTSObjectType | $TypeMasks::ForceFieldObjectType, %flag);
|
||||||
//error(%dist);
|
if(%upRay){
|
||||||
%flag.setPosition(vectorSub(%fpos,"0 0" SPC (2.5 - %dist)));
|
%dist = vectorDist(%fpos,getWords(%upRay,1,3));
|
||||||
|
//error(%dist);
|
||||||
|
%flag.setPosition(vectorSub(%fpos,"0 0" SPC (2.5 - %dist)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
%flag.stuckChkTimer = 0;
|
%flag.stuckChkTimer = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//flag collision check
|
||||||
%Box2 = %flag.getWorldBox();
|
%Box2 = %flag.getWorldBox();
|
||||||
InitContainerRadiusSearch( %flag.getWorldBoxCenter(), $flagCheckRadius, $TypeMasks::PlayerObjectType);
|
InitContainerRadiusSearch( %flag.getWorldBoxCenter(), $flagCheckRadius, $TypeMasks::PlayerObjectType);
|
||||||
while((%player = containerSearchNext()) != 0){
|
while((%player = containerSearchNext()) != 0){
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue