mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-02-04 11:23:48 +00:00
Oculus implementation
This commit is contained in:
77
src/strategy/dungeons/wotlk/oculus/OculusActions.h
Normal file
77
src/strategy/dungeons/wotlk/oculus/OculusActions.h
Normal file
@@ -0,0 +1,77 @@
|
||||
#ifndef _PLAYERBOT_WOTLKDUNGEONOCCACTIONS_H
|
||||
#define _PLAYERBOT_WOTLKDUNGEONOCCACTIONS_H
|
||||
|
||||
#include "Action.h"
|
||||
#include "AttackAction.h"
|
||||
#include "PlayerbotAI.h"
|
||||
#include "Playerbots.h"
|
||||
#include "OculusTriggers.h"
|
||||
#include "UseItemAction.h"
|
||||
#include "GenericSpellActions.h"
|
||||
|
||||
const Position uromSafePositions[3] =
|
||||
{
|
||||
Position(1138.88f, 1052.22f, 508.36f),
|
||||
Position(1084.62f, 1079.71f, 508.36f),
|
||||
Position(1087.42f, 1020.132f, 508.36f)
|
||||
};
|
||||
|
||||
class AvoidUnstableSphereAction : public MovementAction
|
||||
{
|
||||
public:
|
||||
AvoidUnstableSphereAction(PlayerbotAI* ai) : MovementAction(ai, "avoid unstable sphere") {}
|
||||
bool Execute(Event event) override;
|
||||
};
|
||||
|
||||
class MountDrakeAction : public UseItemAction
|
||||
{
|
||||
public:
|
||||
MountDrakeAction(PlayerbotAI* ai) : UseItemAction(ai, "mount drake") {}
|
||||
bool Execute(Event event) override;
|
||||
bool isPossible() override;
|
||||
};
|
||||
|
||||
class DismountDrakeAction : public Action
|
||||
{
|
||||
public:
|
||||
DismountDrakeAction(PlayerbotAI* ai) : Action(ai, "dismount drake") {}
|
||||
bool Execute(Event event) override;
|
||||
};
|
||||
|
||||
class FlyDrakeAction : public MovementAction
|
||||
{
|
||||
public:
|
||||
FlyDrakeAction(PlayerbotAI* ai) : MovementAction(ai, "fly drake") {}
|
||||
bool Execute(Event event) override;
|
||||
};
|
||||
|
||||
class DrakeAttackAction : public Action
|
||||
{
|
||||
public:
|
||||
DrakeAttackAction(PlayerbotAI* botAI) : Action(botAI, "drake attack") {}
|
||||
bool Execute(Event event) override;
|
||||
|
||||
protected:
|
||||
Unit* vehicleBase;
|
||||
bool CastDrakeSpellAction(Unit* target, uint32 spellId, uint32 cooldown);
|
||||
bool AmberDrakeAction(Unit* target);
|
||||
bool EmeraldDrakeAction(Unit* target);
|
||||
bool RubyDrakeAction(Unit* target);
|
||||
|
||||
};
|
||||
|
||||
class AvoidArcaneExplosionAction : public MovementAction
|
||||
{
|
||||
public:
|
||||
AvoidArcaneExplosionAction(PlayerbotAI* ai) : MovementAction(ai, "avoid arcane explosion") {}
|
||||
bool Execute(Event event) override;
|
||||
};
|
||||
|
||||
class TimeBombSpreadAction : public MovementAction
|
||||
{
|
||||
public:
|
||||
TimeBombSpreadAction(PlayerbotAI* ai) : MovementAction(ai, "time bomb spread") {}
|
||||
bool Execute(Event event) override;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user