add unarmed combat
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good
This commit is contained in:
parent
b9f0eef20e
commit
c8e3a251d5
@ -389,6 +389,41 @@
|
|||||||
"angularlyStatic" : true
|
"angularlyStatic" : true
|
||||||
},
|
},
|
||||||
"attackMoves" : [
|
"attackMoves" : [
|
||||||
|
{
|
||||||
|
"attackMoveId" : "Unarmed1",
|
||||||
|
"type" : "ATTACK_MOVE_UNARMED",
|
||||||
|
"firesProjectile" : false,
|
||||||
|
"nextMoveId" : "Unarmed2",
|
||||||
|
"nextAttackMoveWindowStart" : 0,
|
||||||
|
"nextAttackMoveWindowEnd" : 1,
|
||||||
|
"moveChainWindowStart" : 12,
|
||||||
|
"moveChainWindowEnd" : 18,
|
||||||
|
"initialMove" : true,
|
||||||
|
"attackState" : {
|
||||||
|
"animation" : {
|
||||||
|
"nameFirstPerson" : "AttackUnarmed1",
|
||||||
|
"nameThirdPerson" : "AttackUnarmed1",
|
||||||
|
"priorityCategory" : "MOVEMENT_MODIFIER"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"attackMoveId" : "Unarmed2",
|
||||||
|
"type" : "ATTACK_MOVE_UNARMED",
|
||||||
|
"firesProjectile" : false,
|
||||||
|
"nextAttackMoveWindowStart" : 0,
|
||||||
|
"nextAttackMoveWindowEnd" : 1,
|
||||||
|
"moveChainWindowStart" : 12,
|
||||||
|
"moveChainWindowEnd" : 18,
|
||||||
|
"initialMove" : false,
|
||||||
|
"attackState" : {
|
||||||
|
"animation" : {
|
||||||
|
"nameFirstPerson" : "AttackUnarmed2",
|
||||||
|
"nameThirdPerson" : "AttackUnarmed2",
|
||||||
|
"priorityCategory" : "MOVEMENT_MODIFIER"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"attackMoveId" : "Sword1HSlash1",
|
"attackMoveId" : "Sword1HSlash1",
|
||||||
"type" : "MELEE_WEAPON_SWING_ONE_HAND",
|
"type" : "MELEE_WEAPON_SWING_ONE_HAND",
|
||||||
|
|||||||
@ -273,6 +273,41 @@
|
|||||||
"angularlyStatic" : true
|
"angularlyStatic" : true
|
||||||
},
|
},
|
||||||
"attackMoves" : [
|
"attackMoves" : [
|
||||||
|
{
|
||||||
|
"attackMoveId" : "Unarmed1",
|
||||||
|
"type" : "ATTACK_MOVE_UNARMED",
|
||||||
|
"firesProjectile" : false,
|
||||||
|
"nextMoveId" : "Unarmed2",
|
||||||
|
"nextAttackMoveWindowStart" : 0,
|
||||||
|
"nextAttackMoveWindowEnd" : 1,
|
||||||
|
"moveChainWindowStart" : 12,
|
||||||
|
"moveChainWindowEnd" : 18,
|
||||||
|
"initialMove" : true,
|
||||||
|
"attackState" : {
|
||||||
|
"animation" : {
|
||||||
|
"nameFirstPerson" : "AttackUnarmed1",
|
||||||
|
"nameThirdPerson" : "AttackUnarmed1",
|
||||||
|
"priorityCategory" : "MOVEMENT_MODIFIER"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"attackMoveId" : "Unarmed2",
|
||||||
|
"type" : "ATTACK_MOVE_UNARMED",
|
||||||
|
"firesProjectile" : false,
|
||||||
|
"nextAttackMoveWindowStart" : 0,
|
||||||
|
"nextAttackMoveWindowEnd" : 1,
|
||||||
|
"moveChainWindowStart" : 12,
|
||||||
|
"moveChainWindowEnd" : 18,
|
||||||
|
"initialMove" : false,
|
||||||
|
"attackState" : {
|
||||||
|
"animation" : {
|
||||||
|
"nameFirstPerson" : "AttackUnarmed2",
|
||||||
|
"nameThirdPerson" : "AttackUnarmed2",
|
||||||
|
"priorityCategory" : "MOVEMENT_MODIFIER"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"attackMoveId" : "Sword1HSlash1",
|
"attackMoveId" : "Sword1HSlash1",
|
||||||
"type" : "MELEE_WEAPON_SWING_ONE_HAND",
|
"type" : "MELEE_WEAPON_SWING_ONE_HAND",
|
||||||
|
|||||||
@ -14,8 +14,6 @@
|
|||||||
Ticketed randomizer node for BTs to more heavily weight attacking and waiting
|
Ticketed randomizer node for BTs to more heavily weight attacking and waiting
|
||||||
|
|
||||||
+ feedback driven requirements
|
+ feedback driven requirements
|
||||||
Add punching/unarmed combat
|
|
||||||
- Weapon raised/lowered component
|
|
||||||
Implement gadgets
|
Implement gadgets
|
||||||
- Chemistry System
|
- Chemistry System
|
||||||
- Emitters
|
- Emitters
|
||||||
@ -48,7 +46,6 @@
|
|||||||
Fix lights not being deleted
|
Fix lights not being deleted
|
||||||
- Not sending a "light count" var to light calculations, so the data stays in buffer even though it is not being updated
|
- Not sending a "light count" var to light calculations, so the data stays in buffer even though it is not being updated
|
||||||
Fix block tree preventing initiating an attack
|
Fix block tree preventing initiating an attack
|
||||||
Fix equipping sword on toolbar
|
|
||||||
Fix return to title menu synchronization bug
|
Fix return to title menu synchronization bug
|
||||||
Fix particles not spawning in correct positions
|
Fix particles not spawning in correct positions
|
||||||
|
|
||||||
|
|||||||
@ -881,6 +881,8 @@ Fix inventory null pointer check on virtualaudiomanager
|
|||||||
Fix inventory message for undefined id on client
|
Fix inventory message for undefined id on client
|
||||||
Fix movement audio service when audio engine disabled
|
Fix movement audio service when audio engine disabled
|
||||||
Fix idle animations (for katana)
|
Fix idle animations (for katana)
|
||||||
|
Fix equipping sword on toolbar
|
||||||
|
Add punching/unarmed combat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -211,6 +211,7 @@ public class EntityDataStrings {
|
|||||||
public static final String ATTACK_MOVE_TYPE_MELEE_SWING_ONE_HAND = "MELEE_WEAPON_SWING_ONE_HAND";
|
public static final String ATTACK_MOVE_TYPE_MELEE_SWING_ONE_HAND = "MELEE_WEAPON_SWING_ONE_HAND";
|
||||||
public static final String ATTACK_MOVE_TYPE_MELEE_SWING_TWO_HAND = "MELEE_WEAPON_SWING_TWO_HAND";
|
public static final String ATTACK_MOVE_TYPE_MELEE_SWING_TWO_HAND = "MELEE_WEAPON_SWING_TWO_HAND";
|
||||||
public static final String ATTACK_MOVE_TYPE_BOW_TWO_HAND = "RANGED_WEAPON_BOW_TWO_HAND";
|
public static final String ATTACK_MOVE_TYPE_BOW_TWO_HAND = "RANGED_WEAPON_BOW_TWO_HAND";
|
||||||
|
public static final String ATTACK_MOVE_UNARMED = "ATTACK_MOVE_UNARMED";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ambient audio
|
* Ambient audio
|
||||||
|
|||||||
@ -420,6 +420,9 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(rVal == null && this.getMoveset(EntityDataStrings.ATTACK_MOVE_UNARMED) != null){
|
||||||
|
return EntityDataStrings.ATTACK_MOVE_UNARMED;
|
||||||
|
}
|
||||||
return rVal;
|
return rVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -555,6 +558,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
public void setState(AttackTreeState state){
|
public void setState(AttackTreeState state){
|
||||||
this.state = state;
|
this.state = state;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -564,6 +568,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
public AttackTreeDriftState getDriftState(){
|
public AttackTreeDriftState getDriftState(){
|
||||||
return driftState;
|
return driftState;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -574,6 +579,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
public void setDriftState(AttackTreeDriftState driftState){
|
public void setDriftState(AttackTreeDriftState driftState){
|
||||||
this.driftState = driftState;
|
this.driftState = driftState;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> (initially) Automatically generated </p>
|
* <p> (initially) Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -592,6 +598,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_CLIENTATTACKTREE_ID);
|
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_CLIENTATTACKTREE_ID);
|
||||||
return rVal;
|
return rVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -603,6 +610,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
public static void detachTree(Entity entity, BehaviorTree tree){
|
public static void detachTree(Entity entity, BehaviorTree tree){
|
||||||
Globals.entityValueTrackingService.detatchTreeFromEntity(entity, BehaviorTreeIdEnums.BTREE_CLIENTATTACKTREE_ID);
|
Globals.entityValueTrackingService.detatchTreeFromEntity(entity, BehaviorTreeIdEnums.BTREE_CLIENTATTACKTREE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Gets the ClientAttackTree of the entity
|
* Gets the ClientAttackTree of the entity
|
||||||
@ -613,6 +621,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
public static ClientAttackTree getClientAttackTree(Entity entity){
|
public static ClientAttackTree getClientAttackTree(Entity entity){
|
||||||
return (ClientAttackTree)entity.getData(EntityDataStrings.TREE_CLIENTATTACKTREE);
|
return (ClientAttackTree)entity.getData(EntityDataStrings.TREE_CLIENTATTACKTREE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -639,6 +648,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -665,6 +675,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
return AttackTreeState.WINDUP;
|
return AttackTreeState.WINDUP;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -683,6 +694,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -701,6 +713,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
return AttackTreeDriftState.DRIFT;
|
return AttackTreeDriftState.DRIFT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -710,6 +723,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
public String getCurrentMoveId(){
|
public String getCurrentMoveId(){
|
||||||
return currentMoveId;
|
return currentMoveId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -720,6 +734,7 @@ public class ClientAttackTree implements BehaviorTree {
|
|||||||
public void setCurrentMoveId(String currentMoveId){
|
public void setCurrentMoveId(String currentMoveId){
|
||||||
this.currentMoveId = currentMoveId;
|
this.currentMoveId = currentMoveId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> (Initially) Automatically Generated </p>
|
* <p> (Initially) Automatically Generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@ -494,6 +494,9 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(rVal == null && this.getMoveset(EntityDataStrings.ATTACK_MOVE_UNARMED) != null){
|
||||||
|
return EntityDataStrings.ATTACK_MOVE_UNARMED;
|
||||||
|
}
|
||||||
return rVal;
|
return rVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -632,6 +635,7 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructServerNotifyBTreeTransitionMessage(parent.getId(), BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID, FieldIdEnums.TREE_SERVERATTACKTREE_SYNCEDFIELD_STATE_ID, value));
|
DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructServerNotifyBTreeTransitionMessage(parent.getId(), BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID, FieldIdEnums.TREE_SERVERATTACKTREE_SYNCEDFIELD_STATE_ID, value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -641,6 +645,7 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
public AttackTreeDriftState getDriftState(){
|
public AttackTreeDriftState getDriftState(){
|
||||||
return driftState;
|
return driftState;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -655,6 +660,7 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientStateMessage(parent.getId(), BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID, FieldIdEnums.TREE_SERVERATTACKTREE_SYNCEDFIELD_DRIFTSTATE_ID, value));
|
DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientStateMessage(parent.getId(), BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID, FieldIdEnums.TREE_SERVERATTACKTREE_SYNCEDFIELD_DRIFTSTATE_ID, value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> (initially) Automatically generated </p>
|
* <p> (initially) Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -673,6 +679,7 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID);
|
Globals.entityValueTrackingService.attachTreeToEntity(parent, BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID);
|
||||||
return rVal;
|
return rVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -684,6 +691,7 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
public static void detachTree(Entity entity, BehaviorTree tree){
|
public static void detachTree(Entity entity, BehaviorTree tree){
|
||||||
Globals.entityValueTrackingService.detatchTreeFromEntity(entity, BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID);
|
Globals.entityValueTrackingService.detatchTreeFromEntity(entity, BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Gets the ServerAttackTree of the entity
|
* Gets the ServerAttackTree of the entity
|
||||||
@ -694,6 +702,7 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
public static ServerAttackTree getServerAttackTree(Entity entity){
|
public static ServerAttackTree getServerAttackTree(Entity entity){
|
||||||
return (ServerAttackTree)entity.getData(EntityDataStrings.TREE_SERVERATTACKTREE);
|
return (ServerAttackTree)entity.getData(EntityDataStrings.TREE_SERVERATTACKTREE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -703,6 +712,7 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
public String getCurrentMoveId(){
|
public String getCurrentMoveId(){
|
||||||
return currentMoveId;
|
return currentMoveId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p> Automatically generated </p>
|
* <p> Automatically generated </p>
|
||||||
* <p>
|
* <p>
|
||||||
@ -716,4 +726,5 @@ public class ServerAttackTree implements BehaviorTree {
|
|||||||
DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientStringStateMessage(parent.getId(), BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID, FieldIdEnums.TREE_SERVERATTACKTREE_SYNCEDFIELD_CURRENTMOVEID_ID, currentMoveId));
|
DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientStringStateMessage(parent.getId(), BehaviorTreeIdEnums.BTREE_SERVERATTACKTREE_ID, FieldIdEnums.TREE_SERVERATTACKTREE_SYNCEDFIELD_CURRENTMOVEID_ID, currentMoveId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -153,9 +153,6 @@ public class CommonEntityUtils {
|
|||||||
//idle tree & generic stuff all creatures have
|
//idle tree & generic stuff all creatures have
|
||||||
if(graphicsTemplate.getModel() != null && graphicsTemplate.getModel().getIdleData() != null){
|
if(graphicsTemplate.getModel() != null && graphicsTemplate.getModel().getIdleData() != null){
|
||||||
ClientIdleTree.attachTree(entity, graphicsTemplate.getModel().getIdleData());
|
ClientIdleTree.attachTree(entity, graphicsTemplate.getModel().getIdleData());
|
||||||
// ClientIdleTree idleTree = new ClientIdleTree(entity);
|
|
||||||
// entity.putData(EntityDataStrings.TREE_IDLE, idleTree);
|
|
||||||
// Globals.clientScene.registerBehaviorTree(idleTree);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Actor creatureActor = EntityUtils.getActor(entity);
|
Actor creatureActor = EntityUtils.getActor(entity);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user