//---------------------------------------------------------------------------------------- //ATACA-GAJO----------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- public float ataca(GajoCitizen prey) { float reward = 0; if (_owner.getId() == Global.whoIsBeingTracked) { Global.whatAmIDoing = TypeOfActionBeingPerformed.ATACA; } _owner.whatAmIDoing = TypeOfActionBeingPerformed.ATACA; _owner.walker.target = prey.transform.position; if (prey.iEstado == GajoCitizen.GajoState.VIVO && _owner.iEstado == GajoCitizen.GajoState.VIVO) { if (prey.walker.Animacao != null) { _owner.behavior.Interacao.isInteracting = true; prey.behavior.Interacao.isInteracting = true; prey.whatAmIDoing = TypeOfActionBeingPerformed.ATACA_COOPERA; //**// reward = negoceia(prey, true); //**// if (reward > 0) { myanimations.interactionState = InteractionAnimations.MyState.ATACK_YESinitiative_WIN; prey.behavior.actions.myanimations.interactionState = InteractionAnimations.MyState.ATACK_NOinitiative_WIN; _owner.whatAmIDoing = TypeOfActionBeingPerformed.ATACA_COOPERA; _owner.walker.Animacao.enabled = true; _owner.walker.target = _owner.transform.position; _owner.behavior.Interacao.Memoria.isCooperativeInteractionC = true; prey.behavior.Interacao.Memoria.isCooperativeInteractionC = true; } else { myanimations.interactionState = InteractionAnimations.MyState.ATACK_YESinitiative_LOSE; prey.behavior.actions.myanimations.interactionState = InteractionAnimations.MyState.ATACK_NOinitiative_LOSE; _owner.whatAmIDoing = TypeOfActionBeingPerformed.ATACA_NAOCOOPERA; _owner.behavior.Interacao.Memoria.isCooperativeInteractionC = false; prey.behavior.Interacao.Memoria.isCooperativeInteractionC = false; } float durationInteraction = 10f - (_owner.behavior.relaxation * 10f * 0.25f); _owner.startInteraction(prey, durationInteraction); } myanimations.anima(); prey.behavior.actions.myanimations.anima(); } else { reward = 0; } _owner.metabolism.energy -= _owner.priceAttack; return(reward); }