jump fix
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit

This commit is contained in:
austin 2024-07-31 18:27:30 -04:00
parent b81b138c7a
commit 91a84185c1
5 changed files with 10 additions and 5 deletions

View File

@ -9,9 +9,7 @@
audio fx for everything
+ bug fixes
fix bug where synchronization packet for non-existant entity crashes engine
fix items falling through floor
fix jump tree not applying force while movement tree is active
Things that feel bad:
@ -20,4 +18,3 @@ Things that feel bad:
Attack animation feels slow
No audio
Short movement bursts feel jittery
Can't jump without moving

View File

@ -490,6 +490,7 @@ Fix eyebrow weights on human model
Massive netcode gen refactor
Server synchronization manager
Jump tree synchronization
Fix jump bugginess
# TODO

View File

@ -70,6 +70,10 @@ public class ClientGravityTree implements BehaviorTree {
public GravityTreeState getState(){
return state;
}
public void start(){
state = GravityTreeState.ACTIVE;
}
public void interrupt(){

View File

@ -5,10 +5,10 @@ import electrosphere.entity.EntityDataStrings;
public class GravityUtils {
@Deprecated
public static void clientAttemptActivateGravity(Entity target){
if(target.containsKey(EntityDataStrings.GRAVITY_ENTITY)){
ClientGravityTree tree = ClientGravityTree.getClientGravityTree(target);
tree.start();
}
}

View File

@ -16,6 +16,7 @@ import electrosphere.entity.EntityDataStrings;
import electrosphere.entity.EntityUtils;
import electrosphere.entity.btree.BehaviorTree;
import electrosphere.entity.state.AnimationPriorities;
import electrosphere.entity.state.gravity.GravityUtils;
import electrosphere.entity.state.movement.jump.ClientJumpTree.JumpState;
import electrosphere.game.data.creature.type.movement.JumpMovementSystem;
import electrosphere.net.synchronization.annotation.SyncedField;
@ -59,6 +60,7 @@ public class ServerJumpTree implements BehaviorTree {
this.setState(JumpState.ACTIVE);
this.setCurrentFrame(0);
this.setCurrentJumpForce(jumpForce);
GravityUtils.serverAttemptActivateGravity(parent);
}
}
@ -85,6 +87,7 @@ public class ServerJumpTree implements BehaviorTree {
//potentially disable
if(currentFrame >= jumpFrames){
this.setState(JumpState.AWAITING_LAND);
GravityUtils.serverAttemptActivateGravity(parent);
}
break;
case INACTIVE:
@ -107,7 +110,7 @@ public class ServerJumpTree implements BehaviorTree {
public void land(){
if(state != JumpState.INACTIVE && currentFrame > 2){
state = JumpState.INACTIVE;
this.setState(JumpState.INACTIVE);
}
}