Reformatting

This commit is contained in:
Walter Julius Hennecke 2014-03-09 02:20:24 +01:00
parent 28213f6679
commit 2a43622cc9

View file

@ -1,198 +1,191 @@
//-----------------------------------------------------------------------------
//
// $Logfile:: /Code/DLLs/game/generalCombatWithMeleeWeapon.hpp $
// $Revision:: 169 $
// $Author:: Bschofield $
// $Date:: 4/26/02 2:22p $
//
// Copyright (C) 2002 by Ritual Entertainment, Inc.
// All rights reserved.
//
// This source may not be distributed and/or modified without
// expressly written permission by Ritual Entertainment, Inc.
//
//
// DESCRIPTION:
// GeneralCombatWithMeleeWeapon Behavior Definition
//
//--------------------------------------------------------------------------------
//==============================
// Forward Declarations
//==============================
class GeneralCombatWithMeleeWeapon;
#ifndef __GENERALCOMBAT_WITH_MELEEWEAPON_HPP__
#define __GENERALCOMBAT_WITH_MELEEWEAPON_HPP__
#include "behavior.h"
#include "behaviors_general.h"
//------------------------- CLASS ------------------------------
//
// Name: GeneralCombatWithMeleeWeapon
// Base Class: Behavior
//
// Description: Allows the Actor to do general combat
// with a melee weapon ( best used on open areas )
//
// Method of Use: Statemachine or another behavior
//--------------------------------------------------------------
class GeneralCombatWithMeleeWeapon : public Behavior
{
//------------------------------------
// States
//------------------------------------
public:
typedef enum
{
GENERAL_COMBAT_MELEE_SELECT_STATE,
GENERAL_COMBAT_MELEE_RUSH_ENEMY,
GENERAL_COMBAT_MELEE_STRAFE,
GENERAL_COMBAT_MELEE_ATTACK,
GENERAL_COMBAT_MELEE_BLOCK,
GENERAL_COMBAT_MELEE_CHANGE_POSTURE,
GENERAL_COMBAT_MELEE_HOLD,
GENERAL_COMBAT_MELEE_FAILED
} generalMeleeCombatStates_t;
//------------------------------------
// Parameters
//------------------------------------
private:
str _primaryTorsoAnim;
str _attackAnim;
str _rotationAnim;
str _rushAnim;
float _maxDistanceToEngage;
float _meleeDistance;
float _strafeChance;
float _blockChance;
float _attackChance;
float _postureChangeChance;
bool _allowRushFailure;
//-------------------------------------
// Internal Functionality
//-------------------------------------
protected:
void init ( Actor &self );
void selectState ( Actor &self );
void setUpRotate ( Actor &self );
void setTorsoAnim ( Actor &self );
void setHeadWatchTarget ( Actor &self );
bool setupStrafe ( Actor &self );
void strafeFailed ( Actor &self );
void strafe ( Actor &self );
bool setupRushEnemy ( Actor &self );
void setupRushEnemyFailed ( Actor &self );
void rushEnemy ( Actor &self );
bool setupHold ( Actor &self );
void setupHoldFailed ( Actor &self );
void hold ( Actor &self );
bool setupAttack ( Actor &self );
void setupAttackFailed ( Actor &self );
void attack ( Actor &self );
bool setupBlock ( Actor &self );
void setupBlockFailed ( Actor &self );
void block ( Actor &self );
bool setupChangePosture ( Actor &self );
void setupChangePostureFailed ( Actor &self );
void changePosture ( Actor &self );
void faceEnemy ( Actor &self );
//-------------------------------------
// Public Interface
//-------------------------------------
public:
CLASS_PROTOTYPE( GeneralCombatWithMeleeWeapon );
GeneralCombatWithMeleeWeapon();
~GeneralCombatWithMeleeWeapon();
void SetArgs( Event *ev );
void AnimDone ( Event *ev );
void Begin ( Actor &self );
BehaviorReturnCode_t Evaluate( Actor &self );
void End ( Actor &self );
virtual void Archive ( Archiver &arc );
//-------------------------------------
// Member Variables
//-------------------------------------
private:
str _blockAttack;
str _postureTransitionAnim;
unsigned int _state;
unsigned int _nextPostureState;
float _nextRotateTime;
float _nextStrafeAttemptTime;
float _nextRushAttemptTime;
float _nextPostureChangeTime;
float _exitHoldTime;
float _exitBlockTime;
Actor* _self;
// Components
RotateToEntity _rotate;
GotoEntity _rush;
Strafe _strafeComponent;
};
inline void GeneralCombatWithMeleeWeapon::Archive( Archiver &arc )
{
Behavior::Archive ( arc );
// Archive Parameters
arc.ArchiveString ( &_primaryTorsoAnim );
arc.ArchiveString ( &_attackAnim );
arc.ArchiveString ( &_rotationAnim );
arc.ArchiveString ( &_rushAnim );
arc.ArchiveFloat ( &_maxDistanceToEngage );
arc.ArchiveFloat ( &_meleeDistance );
arc.ArchiveFloat ( &_strafeChance );
arc.ArchiveFloat ( &_blockChance );
arc.ArchiveFloat ( &_attackChance );
arc.ArchiveFloat ( &_postureChangeChance );
arc.ArchiveBool ( &_allowRushFailure );
arc.ArchiveString ( &_blockAttack );
arc.ArchiveString ( &_postureTransitionAnim );
arc.ArchiveUnsigned ( &_state );
arc.ArchiveUnsigned ( &_nextPostureState );
arc.ArchiveFloat ( &_nextRotateTime );
arc.ArchiveFloat ( &_nextStrafeAttemptTime );
arc.ArchiveFloat ( &_nextRushAttemptTime );
arc.ArchiveFloat ( &_nextPostureChangeTime );
arc.ArchiveFloat ( &_exitHoldTime );
arc.ArchiveFloat ( &_exitBlockTime );
arc.ArchiveObjectPointer ( ( Class ** )&_self );
// Archive Components
arc.ArchiveObject ( &_rotate );
arc.ArchiveObject ( &_rush );
arc.ArchiveObject ( &_strafeComponent );
}
#endif /* __GENERALCOMBAT_WITH_MELEEWEAPON_HPP__ */
//-----------------------------------------------------------------------------
//
// $Logfile:: /Code/DLLs/game/generalCombatWithMeleeWeapon.hpp $
// $Revision:: 169 $
// $Author:: Bschofield $
// $Date:: 4/26/02 2:22p $
//
// Copyright (C) 2002 by Ritual Entertainment, Inc.
// All rights reserved.
//
// This source may not be distributed and/or modified without
// expressly written permission by Ritual Entertainment, Inc.
//
//
// DESCRIPTION:
// GeneralCombatWithMeleeWeapon Behavior Definition
//
//--------------------------------------------------------------------------------
//==============================
// Forward Declarations
//==============================
class GeneralCombatWithMeleeWeapon;
#ifndef __GENERALCOMBAT_WITH_MELEEWEAPON_HPP__
#define __GENERALCOMBAT_WITH_MELEEWEAPON_HPP__
#include "behavior.h"
#include "behaviors_general.h"
//------------------------- CLASS ------------------------------
//
// Name: GeneralCombatWithMeleeWeapon
// Base Class: Behavior
//
// Description: Allows the Actor to do general combat
// with a melee weapon ( best used on open areas )
//
// Method of Use: Statemachine or another behavior
//--------------------------------------------------------------
class GeneralCombatWithMeleeWeapon : public Behavior {
public:
//------------------------------------
// States
//------------------------------------
typedef enum {
GENERAL_COMBAT_MELEE_SELECT_STATE,
GENERAL_COMBAT_MELEE_RUSH_ENEMY,
GENERAL_COMBAT_MELEE_STRAFE,
GENERAL_COMBAT_MELEE_ATTACK,
GENERAL_COMBAT_MELEE_BLOCK,
GENERAL_COMBAT_MELEE_CHANGE_POSTURE,
GENERAL_COMBAT_MELEE_HOLD,
GENERAL_COMBAT_MELEE_FAILED
} generalMeleeCombatStates_t;
//-------------------------------------
// Public Interface
//-------------------------------------
CLASS_PROTOTYPE(GeneralCombatWithMeleeWeapon);
GeneralCombatWithMeleeWeapon();
~GeneralCombatWithMeleeWeapon();
void SetArgs(Event* ev);
void AnimDone(Event* ev);
void Begin(Actor& self);
BehaviorReturnCode_t Evaluate(Actor& self);
void End(Actor& self);
virtual void Archive(Archiver& arc);
protected:
//-------------------------------------
// Internal Functionality
//-------------------------------------
void init(Actor& self);
void selectState(Actor& self);
void setUpRotate(Actor& self);
void setTorsoAnim(Actor& self);
void setHeadWatchTarget(Actor& self);
bool setupStrafe(Actor& self);
void strafeFailed(Actor& self);
void strafe(Actor& self);
bool setupRushEnemy(Actor& self);
void setupRushEnemyFailed(Actor& self);
void rushEnemy(Actor& self);
bool setupHold(Actor& self);
void setupHoldFailed(Actor& self);
void hold(Actor& self);
bool setupAttack(Actor& self);
void setupAttackFailed(Actor& self);
void attack(Actor& self);
bool setupBlock(Actor& self);
void setupBlockFailed(Actor& self);
void block(Actor& self);
bool setupChangePosture(Actor& self);
void setupChangePostureFailed(Actor& self);
void changePosture(Actor& self);
void faceEnemy(Actor& self);
private:
//------------------------------------
// Parameters
//------------------------------------
str _primaryTorsoAnim;
str _attackAnim;
str _rotationAnim;
str _rushAnim;
float _maxDistanceToEngage;
float _meleeDistance;
float _strafeChance;
float _blockChance;
float _attackChance;
float _postureChangeChance;
bool _allowRushFailure;
//-------------------------------------
// Member Variables
//-------------------------------------
private:
str _blockAttack;
str _postureTransitionAnim;
unsigned int _state;
unsigned int _nextPostureState;
float _nextRotateTime;
float _nextStrafeAttemptTime;
float _nextRushAttemptTime;
float _nextPostureChangeTime;
float _exitHoldTime;
float _exitBlockTime;
Actor* _self;
// Components
RotateToEntity _rotate;
GotoEntity _rush;
Strafe _strafeComponent;
};
inline void GeneralCombatWithMeleeWeapon::Archive(Archiver& arc) {
Behavior::Archive(arc);
// Archive Parameters
arc.ArchiveString(&_primaryTorsoAnim);
arc.ArchiveString(&_attackAnim);
arc.ArchiveString(&_rotationAnim);
arc.ArchiveString(&_rushAnim);
arc.ArchiveFloat(&_maxDistanceToEngage);
arc.ArchiveFloat(&_meleeDistance);
arc.ArchiveFloat(&_strafeChance);
arc.ArchiveFloat(&_blockChance);
arc.ArchiveFloat(&_attackChance);
arc.ArchiveFloat(&_postureChangeChance);
arc.ArchiveBool(&_allowRushFailure);
arc.ArchiveString(&_blockAttack);
arc.ArchiveString(&_postureTransitionAnim);
arc.ArchiveUnsigned(&_state);
arc.ArchiveUnsigned(&_nextPostureState);
arc.ArchiveFloat(&_nextRotateTime);
arc.ArchiveFloat(&_nextStrafeAttemptTime);
arc.ArchiveFloat(&_nextRushAttemptTime);
arc.ArchiveFloat(&_nextPostureChangeTime);
arc.ArchiveFloat(&_exitHoldTime);
arc.ArchiveFloat(&_exitBlockTime);
arc.ArchiveObjectPointer((Class **)&_self);
// Archive Components
arc.ArchiveObject(&_rotate);
arc.ArchiveObject(&_rush);
arc.ArchiveObject(&_strafeComponent);
}
#endif /* __GENERALCOMBAT_WITH_MELEEWEAPON_HPP__ */