mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-01-18 11:15:43 +00:00
Merge branch 'liyunfan1223:master' into locale_fix
This commit is contained in:
@@ -849,6 +849,21 @@ void MovementAction::UpdateMovementState()
|
||||
|
||||
if (bot->IsFlying())
|
||||
bot->UpdateSpeed(MOVE_FLIGHT, true);
|
||||
|
||||
Transport* newTransport = bot->GetMap()->GetTransportForPos(bot->GetPhaseMask(), bot->GetPositionX(), bot->GetPositionY(), bot->GetPositionZ(), bot);
|
||||
if (newTransport != bot->GetTransport())
|
||||
{
|
||||
LOG_DEBUG("playerbots", "Bot {} is on a transport", bot->GetName());
|
||||
|
||||
if (bot->GetTransport())
|
||||
bot->GetTransport()->RemovePassenger(bot, true);
|
||||
|
||||
if (newTransport)
|
||||
newTransport->AddPassenger(bot, true);
|
||||
|
||||
bot->StopMovingOnCurrentPos();
|
||||
}
|
||||
|
||||
// Temporary speed increase in group
|
||||
//if (botAI->HasRealPlayerMaster())
|
||||
//bot->SetSpeedRate(MOVE_RUN, 1.1f);
|
||||
|
||||
@@ -206,7 +206,7 @@ bool SummonAction::Teleport(Player* summoner, Player* player)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool revive = sPlayerbotAIConfig->reviveBotWhenSummoned == 2 || (sPlayerbotAIConfig->reviveBotWhenSummoned == 1 && !master->IsInCombat());
|
||||
bool revive = sPlayerbotAIConfig->reviveBotWhenSummoned == 2 || (sPlayerbotAIConfig->reviveBotWhenSummoned == 1 && !master->IsInCombat() && master->IsAlive());
|
||||
if (bot->isDead() && revive)
|
||||
{
|
||||
bot->ResurrectPlayer(1.0f, false);
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
#ifndef _PLAYERBOT_SHAMANACTIONS_H
|
||||
#define _PLAYERBOT_SHAMANACTIONS_H
|
||||
|
||||
#include "Define.h"
|
||||
#include "GenericSpellActions.h"
|
||||
#include "Playerbots.h"
|
||||
#include "SharedDefines.h"
|
||||
|
||||
class PlayerbotAI;
|
||||
@@ -362,31 +360,11 @@ class CastWindShearOnEnemyHealerAction : public CastSpellOnEnemyHealerAction
|
||||
CastWindShearOnEnemyHealerAction(PlayerbotAI* botAI) : CastSpellOnEnemyHealerAction(botAI, "wind shear") { }
|
||||
};
|
||||
|
||||
// class CastCurePoisonAction : public CastCureSpellAction
|
||||
// {
|
||||
// public:
|
||||
// CastCurePoisonAction(PlayerbotAI* botAI) : CastCureSpellAction(botAI, "cure poison") { }
|
||||
// };
|
||||
CURE_ACTION(CastCurePoisonActionSham, "cure disease");
|
||||
CURE_PARTY_ACTION(CastCurePoisonOnPartyActionSham, "cure poison", DISPEL_POISON);
|
||||
|
||||
// class CastCurePoisonOnPartyAction : public CurePartyMemberAction
|
||||
// {
|
||||
// public:
|
||||
// CastCurePoisonOnPartyAction(PlayerbotAI* botAI) : CurePartyMemberAction(botAI, "cure poison", DISPEL_POISON) { }
|
||||
// };
|
||||
|
||||
// class CastCureDiseaseAction : public CastCureSpellAction
|
||||
// {
|
||||
// public:
|
||||
// CastCureDiseaseAction(PlayerbotAI* botAI) : CastCureSpellAction(botAI, "cure disease") { }
|
||||
// };
|
||||
|
||||
// class CastCureDiseaseOnPartyAction : public CurePartyMemberAction
|
||||
// {
|
||||
// public:
|
||||
// CastCureDiseaseOnPartyAction(PlayerbotAI* botAI) : CurePartyMemberAction(botAI, "cure disease", DISPEL_DISEASE) { }
|
||||
|
||||
// std::string const getName() override { return "cure disease on party"; }
|
||||
// };
|
||||
CURE_ACTION(CastCureDiseaseActionSham, "cure disease");
|
||||
CURE_PARTY_ACTION(CastCureDiseaseOnPartyActionSham, "cure disease", DISPEL_DISEASE);
|
||||
|
||||
class CastLavaBurstAction : public CastSpellAction
|
||||
{
|
||||
|
||||
@@ -213,10 +213,10 @@ class ShamanAiObjectContextInternal : public NamedObjectContext<Action>
|
||||
creators["heroism"] = &ShamanAiObjectContextInternal::heroism;
|
||||
creators["bloodlust"] = &ShamanAiObjectContextInternal::bloodlust;
|
||||
creators["elemental mastery"] = &ShamanAiObjectContextInternal::elemental_mastery;
|
||||
// creators["cure disease"] = &ShamanAiObjectContextInternal::cure_disease;
|
||||
// creators["cure disease on party"] = &ShamanAiObjectContextInternal::cure_disease_on_party;
|
||||
// creators["cure poison"] = &ShamanAiObjectContextInternal::cure_poison;
|
||||
// creators["cure poison on party"] = &ShamanAiObjectContextInternal::cure_poison_on_party;
|
||||
creators["cure disease"] = &ShamanAiObjectContextInternal::cure_disease;
|
||||
creators["cure disease on party"] = &ShamanAiObjectContextInternal::cure_disease_on_party;
|
||||
creators["cure poison"] = &ShamanAiObjectContextInternal::cure_poison;
|
||||
creators["cure poison on party"] = &ShamanAiObjectContextInternal::cure_poison_on_party;
|
||||
creators["lava burst"] = &ShamanAiObjectContextInternal::lava_burst;
|
||||
creators["earth shield on main tank"] = &ShamanAiObjectContextInternal::earth_shield_on_main_tank;
|
||||
creators["fire elemental totem"] = &ShamanAiObjectContextInternal::fire_elemental_totem;
|
||||
@@ -277,10 +277,10 @@ class ShamanAiObjectContextInternal : public NamedObjectContext<Action>
|
||||
static Action* lava_lash(PlayerbotAI* botAI) { return new CastLavaLashAction(botAI); }
|
||||
static Action* ancestral_spirit(PlayerbotAI* botAI) { return new CastAncestralSpiritAction(botAI); }
|
||||
static Action* wind_shear_on_enemy_healer(PlayerbotAI* botAI) { return new CastWindShearOnEnemyHealerAction(botAI); }
|
||||
// static Action* cure_poison(PlayerbotAI* botAI) { return new CastCurePoisonAction(botAI); }
|
||||
// static Action* cure_poison_on_party(PlayerbotAI* botAI) { return new CastCurePoisonOnPartyAction(botAI); }
|
||||
// static Action* cure_disease(PlayerbotAI* botAI) { return new CastCureDiseaseAction(botAI); }
|
||||
// static Action* cure_disease_on_party(PlayerbotAI* botAI) { return new CastCureDiseaseOnPartyAction(botAI); }
|
||||
static Action* cure_poison(PlayerbotAI* botAI) { return new CastCurePoisonActionSham(botAI); }
|
||||
static Action* cure_poison_on_party(PlayerbotAI* botAI) { return new CastCurePoisonOnPartyActionSham(botAI); }
|
||||
static Action* cure_disease(PlayerbotAI* botAI) { return new CastCureDiseaseActionSham(botAI); }
|
||||
static Action* cure_disease_on_party(PlayerbotAI* botAI) { return new CastCureDiseaseOnPartyActionSham(botAI); }
|
||||
static Action* lava_burst(PlayerbotAI* ai) { return new CastLavaBurstAction(ai); }
|
||||
static Action* earth_shield_on_main_tank(PlayerbotAI* ai) { return new CastEarthShieldOnMainTankAction(ai); }
|
||||
static Action* totem_of_wrath(PlayerbotAI* ai) { return new CastTotemOfWrathAction(ai); }
|
||||
|
||||
@@ -160,7 +160,7 @@ bool GrindTargetValue::needForQuest(Unit* target)
|
||||
{
|
||||
QuestStatusData* questStatus = sTravelMgr->getQuestStatus(bot, questId);
|
||||
|
||||
if (questTemplate->GetQuestLevel() > bot->GetLevel())
|
||||
if (questTemplate->GetQuestLevel() > bot->GetLevel()+5)
|
||||
continue;
|
||||
|
||||
for (int j = 0; j < QUEST_OBJECTIVES_COUNT; j++)
|
||||
|
||||
Reference in New Issue
Block a user