Compare commits

..

No commits in common. "c8a2f1d0352e896fd3ce3218229592a29b6a527d" and "25fff9402981cfee3601d91e0633410f5b99152d" have entirely different histories.

9 changed files with 26 additions and 10 deletions

View File

@ -57,7 +57,7 @@
"modelPath" : "Models/items/weapons/katana1alt.fbx",
"weaponData" : {
"weaponClass" : "sword2h",
"damage" : 10,
"damage" : 34,
"hitboxes" : [
{
"type": "hit_connected",

View File

@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file
#Tue Aug 13 17:01:10 EDT 2024
buildNumber=201
#Thu Aug 08 09:35:08 EDT 2024
buildNumber=200

View File

@ -16,5 +16,4 @@
Stability
+ bug fixes
Katana is frustum culled incorrectly
Rendering pipelines are broken when the katana is not drawn

View File

@ -555,8 +555,6 @@ Multiple hitboxes per bone
Potential fix for client concurrency issue
Debounce attack collisions
Remove entities on death
Remove movement restriction on attack
Update frame data for first person 2h sword swing to align with third person better and make it feel snappier
# TODO

View File

@ -17,6 +17,7 @@ import electrosphere.entity.state.attack.ClientAttackTree.AttackTreeState;
import electrosphere.entity.state.collidable.Impulse;
import electrosphere.entity.state.equip.ServerEquipState;
import electrosphere.entity.state.hitbox.HitboxCollectionState;
import electrosphere.entity.state.movement.groundmove.ServerGroundMovementTree;
import electrosphere.entity.state.rotator.ServerRotatorTree;
import electrosphere.entity.types.attach.AttachUtils;
import electrosphere.entity.types.collision.CollisionObjUtils;
@ -34,6 +35,7 @@ import electrosphere.net.synchronization.enums.BehaviorTreeIdEnums;
import electrosphere.net.synchronization.enums.FieldIdEnums;
import electrosphere.renderer.actor.Actor;
import electrosphere.server.datacell.Realm;
import electrosphere.util.math.MathUtils;
import java.util.LinkedList;
import java.util.List;
@ -224,6 +226,15 @@ public class ServerAttackTree implements BehaviorTree {
currentMoveCanHold = currentMove.getHoldState() != null;
//clear collided list
this.collidedEntities.clear();
//stop movement tree
if(parent.containsKey(EntityDataStrings.SERVER_MOVEMENT_BT)){
BehaviorTree movementTree = CreatureUtils.serverGetEntityMovementTree(parent);
if(movementTree instanceof ServerGroundMovementTree){
((ServerGroundMovementTree)movementTree).interrupt();
}
}
Vector3d movementVector = CreatureUtils.getFacingVector(parent);
EntityUtils.getRotation(parent).rotationTo(MathUtils.getOriginVector(), new Vector3d(movementVector.x,movementVector.y,movementVector.z));
frameCurrent = 0;
} else {
this.setState(AttackTreeState.IDLE);

View File

@ -16,6 +16,8 @@ import electrosphere.entity.EntityDataStrings;
import electrosphere.entity.EntityUtils;
import electrosphere.entity.btree.BehaviorTree;
import electrosphere.entity.state.AnimationPriorities;
import electrosphere.entity.state.attack.ClientAttackTree;
import electrosphere.entity.state.attack.ClientAttackTree.AttackTreeState;
import electrosphere.entity.state.client.firstPerson.FirstPersonTree;
import electrosphere.entity.state.movement.FallTree;
import electrosphere.entity.state.movement.SprintTree;
@ -422,6 +424,9 @@ public class ClientGroundMovementTree implements BehaviorTree {
public boolean canStartMoving(){
boolean rVal = true;
if(parent.containsKey(EntityDataStrings.TREE_CLIENTATTACKTREE) && ((ClientAttackTree)parent.getData(EntityDataStrings.TREE_CLIENTATTACKTREE)).getState() != AttackTreeState.IDLE){
rVal = false;
}
return rVal;
}

View File

@ -15,6 +15,8 @@ import electrosphere.entity.EntityDataStrings;
import electrosphere.entity.EntityUtils;
import electrosphere.entity.btree.BehaviorTree;
import electrosphere.entity.state.AnimationPriorities;
import electrosphere.entity.state.attack.ClientAttackTree.AttackTreeState;
import electrosphere.entity.state.attack.ServerAttackTree;
import electrosphere.entity.state.movement.ServerFallTree;
import electrosphere.entity.state.movement.ServerSprintTree;
import electrosphere.entity.state.movement.groundmove.ClientGroundMovementTree.MovementRelativeFacing;
@ -433,6 +435,9 @@ public class ServerGroundMovementTree implements BehaviorTree {
public boolean canStartMoving(){
boolean rVal = true;
if(parent.containsKey(EntityDataStrings.TREE_SERVERATTACKTREE) && ((ServerAttackTree)parent.getData(EntityDataStrings.TREE_SERVERATTACKTREE)).getState() != AttackTreeState.IDLE){
rVal = false;
}
return rVal;
}

View File

@ -525,11 +525,9 @@ public class RenderingEngine {
// checkError();
//check and call events and swap the buffers
LoggerInterface.loggerRenderer.DEBUG_LOOP("GLFW Swap buffers");
LoggerInterface.loggerRenderer.DEBUG_LOOP("Swap buffers");
glfwSwapBuffers(Globals.window);
LoggerInterface.loggerRenderer.DEBUG_LOOP("GLFW Poll Events");
glfwPollEvents();
LoggerInterface.loggerRenderer.DEBUG_LOOP("Check OpenGL Errors");
checkError();
}