CombatActionEvaluator

public class CombatActionEvaluator extends Evaluator

Class CombatActionEvaluator. Provides combatactionevaluator functionality for the Hytale server.

java.lang.Object > Evaluator > CombatActionEvaluator

Field Summary

runOption

protected RunOption runOption

Field runOption.

minRunUtility

protected double minRunUtility

Field minRunUtility.

lastRunNanos

protected long lastRunNanos

Field lastRunNanos.

runInState

protected int runInState

Field runInState.

predictability

protected float predictability

Field predictability.

minActionUtility

protected double minActionUtility

Field minActionUtility.

currentBasicAttackSubState

protected int currentBasicAttackSubState

Field currentBasicAttackSubState.

currentBasicAttackSet

protected CombatActionEvaluatorConfig.BasicAttacks currentBasicAttackSet

Field currentBasicAttackSet.

currentBasicAttack

protected String currentBasicAttack

Field currentBasicAttack.

currentBasicAttackDamageFriendlies

protected boolean currentBasicAttackDamageFriendlies

Field currentBasicAttackDamageFriendlies.

nextBasicAttackIndex

protected int nextBasicAttackIndex

Field nextBasicAttackIndex.

basicAttackCooldown

protected double basicAttackCooldown

Field basicAttackCooldown.

basicAttackTarget

protected Ref basicAttackTarget

Field basicAttackTarget.

basicAttackTimeout

protected double basicAttackTimeout

Field basicAttackTimeout.

primaryTarget

protected Ref primaryTarget

Field primaryTarget.

previousTarget

protected Ref previousTarget

Field previousTarget.

currentAction

protected CombatOptionHolder currentAction

Field currentAction.

postExecutionDistanceRange

protected double[] postExecutionDistanceRange

Field postExecutionDistanceRange.

markedTargetSlot

protected int markedTargetSlot

Field markedTargetSlot.

minRangeSlot

protected int minRangeSlot

Field minRangeSlot.

maxRangeSlot

protected int maxRangeSlot

Field maxRangeSlot.

positioningAngleSlot

protected int positioningAngleSlot

Field positioningAngleSlot.

currentInteraction

protected String currentInteraction

Field currentInteraction.

currentInteractionType

protected InteractionType currentInteractionType

Field currentInteractionType.

chargeFor

protected float chargeFor

Field chargeFor.

currentDamageFriendlies

protected boolean currentDamageFriendlies

Field currentDamageFriendlies.

requireAiming

protected boolean requireAiming

Field requireAiming.

positionFirst

protected boolean positionFirst

Field positionFirst.

chargeDistance

protected double chargeDistance

Field chargeDistance.

timeout

protected float timeout

Field timeout.

stateHelper

final StateMappingHelper stateHelper

Field stateHelper.

activeState

final String activeState

Field activeState.

option

final CombatActionOption option

Field option.

holder

final CombatOptionHolder holder

Field holder.

subStateIndex

final int subStateIndex

Field subStateIndex.

actionSet

final CombatActionEvaluatorConfig.ActionSet actionSet

Field actionSet.

optionList

final List optionList

Field optionList.

combatActions2

final String[] combatActions2

Field combatActions2.

combatActions

final String[] combatActions

Field combatActions.

wrappedAction

final OptionHolder wrappedAction

Field wrappedAction.

distance

final double[] distance

Field distance.

target

final Ref target

Field target.

opt

final CombatActionOption opt

Field opt.

evaluator

final CombatActionEvaluator evaluator

Field evaluator.

lastUsedNanos

protected long lastUsedNanos

Field lastUsedNanos.

targets

protected List> targets

Field targets.

pickedTarget

protected Ref pickedTarget

Field pickedTarget.

targetMemory

final TargetMemory targetMemory

Field targetMemory.

targetUtility

final double targetUtility

Field targetUtility.

Method Detail

getComponentType

public CombatActionEvaluator> getComponentType ()

Method getComponentType.

CombatActionEvaluator

public public CombatActionEvaluator (@Nonnull final Role role, @Nonnull final CombatActionEvaluatorConfig config, @Nonnull final CombatActionEvaluatorSystems.CombatConstructionData data)

Method CombatActionEvaluator.

Parameters:
@Nonnull final Role role
@Nonnull final CombatActionEvaluatorConfig config
@Nonnull final CombatActionEvaluatorSystems.CombatConstructionData data

RunOption

public new RunOption (config.getRunConditions()

Method RunOption.

Parameters:
config.getRunConditions( config.getRunConditions(

IllegalStateException

public new IllegalStateException (String.format("Option %s does not exist!", action.getValue()

Method IllegalStateException.

Parameters:
String.format("Option %s does not exist!"
action.getValue( action.getValue(

ObjectArrayList

public new ObjectArrayList ()

Method ObjectArrayList.

getRunOption

public RunOption getRunOption ()

Method getRunOption.

getMinRunUtility

public double getMinRunUtility ()

Method getMinRunUtility.

getEvaluationContext

public EvaluationContext getEvaluationContext ()

Method getEvaluationContext.

getLastRunNanos

public long getLastRunNanos ()

Method getLastRunNanos.

setLastRunNanos

public void setLastRunNanos (final long lastRunNanos)

Method setLastRunNanos.

Parameters:
final long lastRunNanos

getRunInState

public int getRunInState ()

Method getRunInState.

getOptionsBySubState

public Int2ObjectMap> getOptionsBySubState ()

Method getOptionsBySubState.

getBasicAttacks

public CombatActionEvaluatorConfig.BasicAttacks getBasicAttacks (final int subState)

Method getBasicAttacks.

Parameters:
final int subState

setCurrentBasicAttackSet

public void setCurrentBasicAttackSet (final int subState, final CombatActionEvaluatorConfig.BasicAttacks attacks)

Method setCurrentBasicAttackSet.

Parameters:
final int subState
final CombatActionEvaluatorConfig.BasicAttacks attacks

getCurrentBasicAttack

public String getCurrentBasicAttack ()

Method getCurrentBasicAttack.

getCurrentBasicAttackSet

public CombatActionEvaluatorConfig.BasicAttacks getCurrentBasicAttackSet ()

Method getCurrentBasicAttackSet.

setCurrentBasicAttack

public void setCurrentBasicAttack (final String attack, final boolean damageFriendlies, final Function> interactionVarsGetter)

Method setCurrentBasicAttack.

Parameters:
final String attack
final boolean damageFriendlies
final Function> interactionVarsGetter

getNextBasicAttackIndex

public int getNextBasicAttackIndex ()

Method getNextBasicAttackIndex.

setNextBasicAttackIndex

public void setNextBasicAttackIndex (final int next)

Method setNextBasicAttackIndex.

Parameters:
final int next

canUseBasicAttack

public boolean canUseBasicAttack (final int selfIndex, final ArchetypeChunk archetypeChunk, final CommandBuffer commandBuffer)

Method canUseBasicAttack.

Parameters:
final int selfIndex
final ArchetypeChunk archetypeChunk
final CommandBuffer commandBuffer

tickBasicAttackCoolDown

public void tickBasicAttackCoolDown (final float dt)

Method tickBasicAttackCoolDown.

Parameters:
final float dt

getBasicAttackTarget

public Ref getBasicAttackTarget ()

Method getBasicAttackTarget.

setBasicAttackTarget

public void setBasicAttackTarget (final Ref target)

Method setBasicAttackTarget.

Parameters:
final Ref target

tickBasicAttackTimeout

public boolean tickBasicAttackTimeout (final float dt)

Method tickBasicAttackTimeout.

Parameters:
final float dt

setBasicAttackTimeout

public void setBasicAttackTimeout (final double timeout)

Method setBasicAttackTimeout.

Parameters:
final double timeout

getPrimaryTarget

public Ref getPrimaryTarget ()

Method getPrimaryTarget.

clearPrimaryTarget

public void clearPrimaryTarget ()

Method clearPrimaryTarget.

setActiveOptions

public void setActiveOptions (final List options)

Method setActiveOptions.

Parameters:
final List options

getMarkedTargetSlot

public int getMarkedTargetSlot ()

Method getMarkedTargetSlot.

getMaxRangeSlot

public int getMaxRangeSlot ()

Method getMaxRangeSlot.

getMinRangeSlot

public int getMinRangeSlot ()

Method getMinRangeSlot.

getPositioningAngleSlot

public int getPositioningAngleSlot ()

Method getPositioningAngleSlot.

getCurrentAttack

public String getCurrentAttack ()

Method getCurrentAttack.

getChargeFor

public float getChargeFor ()

Method getChargeFor.

getCurrentInteractionType

public InteractionType getCurrentInteractionType ()

Method getCurrentInteractionType.

getCurrentInteractionVarsGetter

public > getCurrentInteractionVarsGetter ()

Method getCurrentInteractionVarsGetter.

shouldDamageFriendlies

public boolean shouldDamageFriendlies ()

Method shouldDamageFriendlies.

requiresAiming

public boolean requiresAiming ()

Method requiresAiming.

shouldPositionFirst

public boolean shouldPositionFirst ()

Method shouldPositionFirst.

getChargeDistance

public double getChargeDistance ()

Method getChargeDistance.

setCurrentInteraction

public void setCurrentInteraction (final String currentInteraction, final InteractionType interactionType, final float chargeFor, final boolean damageFriendlies, final boolean requireAiming, final boolean positionFirst, final double chargeDistance, final Function> interactionVarsGetter)

Method setCurrentInteraction.

Parameters:
final String currentInteraction
final InteractionType interactionType
final float chargeFor
final boolean damageFriendlies
final boolean requireAiming
final boolean positionFirst
final double chargeDistance
final Function> interactionVarsGetter

getCurrentAction

public CombatOptionHolder getCurrentAction ()

Method getCurrentAction.

consumePostExecutionDistanceRange

public double[] consumePostExecutionDistanceRange ()

Method consumePostExecutionDistanceRange.

setTimeout

public void setTimeout (final float timeout)

Method setTimeout.

Parameters:
final float timeout

clearTimeout

public void clearTimeout ()

Method clearTimeout.

hasTimedOut

public boolean hasTimedOut (final float dt)

Method hasTimedOut.

Parameters:
final float dt

selectNextCombatAction

public void selectNextCombatAction (final int index, @Nonnull final ArchetypeChunk archetypeChunk, final CommandBuffer commandBuffer, @Nonnull final Role role, final ValueStore valueStore)

Method selectNextCombatAction.

Parameters:
final int index
@Nonnull final ArchetypeChunk archetypeChunk
final CommandBuffer commandBuffer
@Nonnull final Role role
final ValueStore valueStore

completeCurrentAction

public void completeCurrentAction (final boolean forceClearAbility, final boolean clearBasicAttack)

Method completeCurrentAction.

Parameters:
final boolean forceClearAbility
final boolean clearBasicAttack

terminateCurrentAction

public void terminateCurrentAction ()

Method terminateCurrentAction.

clearCurrentBasicAttack

public void clearCurrentBasicAttack ()

Method clearCurrentBasicAttack.

setupNPC

public void setupNPC (final Role role)

Method setupNPC.

Parameters:
final Role role

clone

public Component clone ()

Method clone.

CombatOptionHolder

public protected CombatOptionHolder (final CombatActionEvaluator this$0, final CombatActionOption option)

Method CombatOptionHolder.

Parameters:
final CombatActionEvaluator this$0
final CombatActionOption option

setLastUsedNanos

public void setLastUsedNanos (final long lastUsedNanos)

Method setLastUsedNanos.

Parameters:
final long lastUsedNanos

getOptionTarget

public Ref getOptionTarget ()

Method getOptionTarget.

calculateUtility

public double calculateUtility (final int index, @Nonnull final ArchetypeChunk archetypeChunk, final CommandBuffer commandBuffer, @Nonnull final EvaluationContext context)

Method calculateUtility.

Parameters:
final int index
@Nonnull final ArchetypeChunk archetypeChunk
final CommandBuffer commandBuffer
@Nonnull final EvaluationContext context

getTotalUtility

public double getTotalUtility (final double threshold)

Method getTotalUtility.

Parameters:
final double threshold

tryPick

public double tryPick (double currentWeight, final double threshold)

Method tryPick.

Parameters:
double currentWeight
final double threshold