mirror of
https://github.com/EQEmu/Server.git
synced 2026-02-28 20:42:25 +00:00
Renaming of some timers
This commit is contained in:
parent
2a69ae42ee
commit
ce0011ab18
@ -1189,21 +1189,21 @@ int32 Mob::CheckHealAggroAmount(uint16 spell_id, Mob *target, uint32 heal_possib
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Mob::AddFeignMemory(Client* attacker) {
|
void Mob::AddFeignMemory(Client* attacker) {
|
||||||
if(feign_memory_list.empty() && AIfeignremember_timer != nullptr)
|
if(feign_memory_list.empty() && AI_feign_remember_timer != nullptr)
|
||||||
AIfeignremember_timer->Start(AIfeignremember_delay);
|
AI_feign_remember_timer->Start(AIfeignremember_delay);
|
||||||
feign_memory_list.insert(attacker->CharacterID());
|
feign_memory_list.insert(attacker->CharacterID());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mob::RemoveFromFeignMemory(Client* attacker) {
|
void Mob::RemoveFromFeignMemory(Client* attacker) {
|
||||||
feign_memory_list.erase(attacker->CharacterID());
|
feign_memory_list.erase(attacker->CharacterID());
|
||||||
if(feign_memory_list.empty() && AIfeignremember_timer != nullptr)
|
if(feign_memory_list.empty() && AI_feign_remember_timer != nullptr)
|
||||||
AIfeignremember_timer->Disable();
|
AI_feign_remember_timer->Disable();
|
||||||
if(feign_memory_list.empty())
|
if(feign_memory_list.empty())
|
||||||
{
|
{
|
||||||
minLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMin);
|
minLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMin);
|
||||||
maxLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMax);
|
maxLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMax);
|
||||||
if(AIfeignremember_timer != nullptr)
|
if(AI_feign_remember_timer != nullptr)
|
||||||
AIfeignremember_timer->Disable();
|
AI_feign_remember_timer->Disable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1220,8 +1220,8 @@ void Mob::ClearFeignMemory() {
|
|||||||
feign_memory_list.clear();
|
feign_memory_list.clear();
|
||||||
minLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMin);
|
minLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMin);
|
||||||
maxLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMax);
|
maxLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMax);
|
||||||
if(AIfeignremember_timer != nullptr)
|
if(AI_feign_remember_timer != nullptr)
|
||||||
AIfeignremember_timer->Disable();
|
AI_feign_remember_timer->Disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Mob::PassCharismaCheck(Mob* caster, uint16 spell_id) {
|
bool Mob::PassCharismaCheck(Mob* caster, uint16 spell_id) {
|
||||||
|
|||||||
10
zone/bot.cpp
10
zone/bot.cpp
@ -2685,7 +2685,7 @@ void Bot::AI_Process() {
|
|||||||
|
|
||||||
if(GetHasBeenSummoned()) {
|
if(GetHasBeenSummoned()) {
|
||||||
if(IsBotCaster() || IsBotArcher()) {
|
if(IsBotCaster() || IsBotArcher()) {
|
||||||
if (AImovement_timer->Check()) {
|
if (AI_movement_timer->Check()) {
|
||||||
if(!GetTarget() || (IsBotCaster() && !IsBotCasterCombatRange(GetTarget())) || (IsBotArcher() && IsArcheryRange(GetTarget())) || (DistanceSquaredNoZ(static_cast<glm::vec3>(m_Position), m_PreSummonLocation) < 10)) {
|
if(!GetTarget() || (IsBotCaster() && !IsBotCasterCombatRange(GetTarget())) || (IsBotArcher() && IsArcheryRange(GetTarget())) || (DistanceSquaredNoZ(static_cast<glm::vec3>(m_Position), m_PreSummonLocation) < 10)) {
|
||||||
if(GetTarget())
|
if(GetTarget())
|
||||||
FaceTarget(GetTarget());
|
FaceTarget(GetTarget());
|
||||||
@ -2831,7 +2831,7 @@ void Bot::AI_Process() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(AImovement_timer->Check()) {
|
if(AI_movement_timer->Check()) {
|
||||||
if(!IsMoving() && GetClass() == ROGUE && !BehindMob(GetTarget(), GetX(), GetY())) {
|
if(!IsMoving() && GetClass() == ROGUE && !BehindMob(GetTarget(), GetX(), GetY())) {
|
||||||
// Move the rogue to behind the mob
|
// Move the rogue to behind the mob
|
||||||
float newX = 0;
|
float newX = 0;
|
||||||
@ -2967,7 +2967,7 @@ void Bot::AI_Process() {
|
|||||||
AI_PursueCastCheck();
|
AI_PursueCastCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AImovement_timer->Check()) {
|
if (AI_movement_timer->Check()) {
|
||||||
if(!IsRooted()) {
|
if(!IsRooted()) {
|
||||||
Log.Out(Logs::Detail, Logs::AI, "Pursuing %s while engaged.", GetTarget()->GetCleanName());
|
Log.Out(Logs::Detail, Logs::AI, "Pursuing %s while engaged.", GetTarget()->GetCleanName());
|
||||||
CalculateNewPosition2(GetTarget()->GetX(), GetTarget()->GetY(), GetTarget()->GetZ(), GetRunspeed());
|
CalculateNewPosition2(GetTarget()->GetX(), GetTarget()->GetY(), GetTarget()->GetZ(), GetRunspeed());
|
||||||
@ -2995,7 +2995,7 @@ void Bot::AI_Process() {
|
|||||||
if (m_PlayerState & static_cast<uint32>(PlayerState::Aggressive))
|
if (m_PlayerState & static_cast<uint32>(PlayerState::Aggressive))
|
||||||
SendRemovePlayerState(PlayerState::Aggressive);
|
SendRemovePlayerState(PlayerState::Aggressive);
|
||||||
|
|
||||||
if(!IsMoving() && AIthink_timer->Check() && !spellend_timer.Enabled()) {
|
if(!IsMoving() && AI_think_timer->Check() && !spellend_timer.Enabled()) {
|
||||||
if(GetBotStance() != BotStancePassive) {
|
if(GetBotStance() != BotStancePassive) {
|
||||||
if(!AI_IdleCastCheck() && !IsCasting())
|
if(!AI_IdleCastCheck() && !IsCasting())
|
||||||
BotMeditate(true);
|
BotMeditate(true);
|
||||||
@ -3004,7 +3004,7 @@ void Bot::AI_Process() {
|
|||||||
BotMeditate(true);
|
BotMeditate(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(AImovement_timer->Check()) {
|
if(AI_movement_timer->Check()) {
|
||||||
if(GetFollowID()) {
|
if(GetFollowID()) {
|
||||||
Mob* follow = entity_list.GetMob(GetFollowID());
|
Mob* follow = entity_list.GetMob(GetFollowID());
|
||||||
if(follow) {
|
if(follow) {
|
||||||
|
|||||||
@ -1500,7 +1500,7 @@ void Merc::AI_Process() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(AImovement_timer->Check())
|
if(AI_movement_timer->Check())
|
||||||
{
|
{
|
||||||
if(!IsMoving() && GetClass() == ROGUE && !BehindMob(GetTarget(), GetX(), GetY()))
|
if(!IsMoving() && GetClass() == ROGUE && !BehindMob(GetTarget(), GetX(), GetY()))
|
||||||
{
|
{
|
||||||
@ -1645,7 +1645,7 @@ void Merc::AI_Process() {
|
|||||||
AI_PursueCastCheck();
|
AI_PursueCastCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AImovement_timer->Check())
|
if (AI_movement_timer->Check())
|
||||||
{
|
{
|
||||||
if(!IsRooted()) {
|
if(!IsRooted()) {
|
||||||
Log.Out(Logs::Detail, Logs::AI, "Pursuing %s while engaged.", GetTarget()->GetCleanName());
|
Log.Out(Logs::Detail, Logs::AI, "Pursuing %s while engaged.", GetTarget()->GetCleanName());
|
||||||
@ -1687,7 +1687,7 @@ void Merc::AI_Process() {
|
|||||||
if(!check_target_timer.Enabled())
|
if(!check_target_timer.Enabled())
|
||||||
check_target_timer.Start(2000, false);
|
check_target_timer.Start(2000, false);
|
||||||
|
|
||||||
if(!IsMoving() && AIthink_timer->Check() && !spellend_timer.Enabled())
|
if(!IsMoving() && AI_think_timer->Check() && !spellend_timer.Enabled())
|
||||||
{
|
{
|
||||||
//TODO: Implement passive stances.
|
//TODO: Implement passive stances.
|
||||||
//if(GetStance() != MercStancePassive) {
|
//if(GetStance() != MercStancePassive) {
|
||||||
@ -1698,7 +1698,7 @@ void Merc::AI_Process() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(AImovement_timer->Check())
|
if(AI_movement_timer->Check())
|
||||||
{
|
{
|
||||||
if(GetFollowID())
|
if(GetFollowID())
|
||||||
{
|
{
|
||||||
|
|||||||
16
zone/mob.h
16
zone/mob.h
@ -925,8 +925,8 @@ public:
|
|||||||
virtual FACTION_VALUE GetReverseFactionCon(Mob* iOther) { return FACTION_INDIFFERENT; }
|
virtual FACTION_VALUE GetReverseFactionCon(Mob* iOther) { return FACTION_INDIFFERENT; }
|
||||||
|
|
||||||
inline bool IsTrackable() const { return(trackable); }
|
inline bool IsTrackable() const { return(trackable); }
|
||||||
Timer* GetAIThinkTimer() { return AIthink_timer.get(); }
|
Timer* GetAIThinkTimer() { return AI_think_timer.get(); }
|
||||||
Timer* GetAIMovementTimer() { return AImovement_timer.get(); }
|
Timer* GetAIMovementTimer() { return AI_movement_timer.get(); }
|
||||||
Timer GetAttackTimer() { return attack_timer; }
|
Timer GetAttackTimer() { return attack_timer; }
|
||||||
Timer GetAttackDWTimer() { return attack_dw_timer; }
|
Timer GetAttackDWTimer() { return attack_dw_timer; }
|
||||||
inline bool IsFindable() { return findable; }
|
inline bool IsFindable() { return findable; }
|
||||||
@ -1254,14 +1254,14 @@ protected:
|
|||||||
uint32 maxLastFightingDelayMoving;
|
uint32 maxLastFightingDelayMoving;
|
||||||
float pAggroRange;
|
float pAggroRange;
|
||||||
float pAssistRange;
|
float pAssistRange;
|
||||||
std::unique_ptr<Timer> AIthink_timer;
|
std::unique_ptr<Timer> AI_think_timer;
|
||||||
std::unique_ptr<Timer> AImovement_timer;
|
std::unique_ptr<Timer> AI_movement_timer;
|
||||||
std::unique_ptr<Timer> AItarget_check_timer;
|
std::unique_ptr<Timer> AI_target_check_timer;
|
||||||
bool movetimercompleted;
|
bool movetimercompleted;
|
||||||
bool permarooted;
|
bool permarooted;
|
||||||
std::unique_ptr<Timer> AIscanarea_timer;
|
std::unique_ptr<Timer> AI_scan_area_timer;
|
||||||
std::unique_ptr<Timer> AIwalking_timer;
|
std::unique_ptr<Timer> AI_walking_timer;
|
||||||
std::unique_ptr<Timer> AIfeignremember_timer;
|
std::unique_ptr<Timer> AI_feign_remember_timer;
|
||||||
std::unique_ptr<Timer> AI_check_signal_timer;
|
std::unique_ptr<Timer> AI_check_signal_timer;
|
||||||
uint32 pLastFightingDelayMoving;
|
uint32 pLastFightingDelayMoving;
|
||||||
HateList hate_list;
|
HateList hate_list;
|
||||||
|
|||||||
@ -423,12 +423,12 @@ bool EntityList::AICheckCloseBeneficialSpells(NPC* caster, uint8 iChance, float
|
|||||||
void Mob::AI_Init()
|
void Mob::AI_Init()
|
||||||
{
|
{
|
||||||
pAIControlled = false;
|
pAIControlled = false;
|
||||||
AIthink_timer.reset(nullptr);
|
AI_think_timer.reset(nullptr);
|
||||||
AIwalking_timer.reset(nullptr);
|
AI_walking_timer.reset(nullptr);
|
||||||
AImovement_timer.reset(nullptr);
|
AI_movement_timer.reset(nullptr);
|
||||||
AItarget_check_timer.reset(nullptr);
|
AI_target_check_timer.reset(nullptr);
|
||||||
AIfeignremember_timer.reset(nullptr);
|
AI_feign_remember_timer.reset(nullptr);
|
||||||
AIscanarea_timer.reset(nullptr);
|
AI_scan_area_timer.reset(nullptr);
|
||||||
AI_check_signal_timer.reset(nullptr);
|
AI_check_signal_timer.reset(nullptr);
|
||||||
|
|
||||||
minLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMin);
|
minLastFightingDelayMoving = RuleI(NPC, LastFightingDelayMovingMin);
|
||||||
@ -474,18 +474,18 @@ void Mob::AI_Start(uint32 iMoveDelay) {
|
|||||||
pLastFightingDelayMoving = 0;
|
pLastFightingDelayMoving = 0;
|
||||||
|
|
||||||
pAIControlled = true;
|
pAIControlled = true;
|
||||||
AIthink_timer = std::unique_ptr<Timer>(new Timer(AIthink_duration));
|
AI_think_timer = std::unique_ptr<Timer>(new Timer(AIthink_duration));
|
||||||
AIthink_timer->Trigger();
|
AI_think_timer->Trigger();
|
||||||
AIwalking_timer = std::unique_ptr<Timer>(new Timer(0));
|
AI_walking_timer = std::unique_ptr<Timer>(new Timer(0));
|
||||||
AImovement_timer = std::unique_ptr<Timer>(new Timer(AImovement_duration));
|
AI_movement_timer = std::unique_ptr<Timer>(new Timer(AImovement_duration));
|
||||||
AItarget_check_timer = std::unique_ptr<Timer>(new Timer(AItarget_check_duration));
|
AI_target_check_timer = std::unique_ptr<Timer>(new Timer(AItarget_check_duration));
|
||||||
AIfeignremember_timer = std::unique_ptr<Timer>(new Timer(AIfeignremember_delay));
|
AI_feign_remember_timer = std::unique_ptr<Timer>(new Timer(AIfeignremember_delay));
|
||||||
AIscanarea_timer = std::unique_ptr<Timer>(new Timer(AIscanarea_delay));
|
AI_scan_area_timer = std::unique_ptr<Timer>(new Timer(AIscanarea_delay));
|
||||||
AI_check_signal_timer = std::unique_ptr<Timer>(new Timer(AI_check_signal_timer_delay));
|
AI_check_signal_timer = std::unique_ptr<Timer>(new Timer(AI_check_signal_timer_delay));
|
||||||
|
|
||||||
#ifdef REVERSE_AGGRO
|
#ifdef REVERSE_AGGRO
|
||||||
if(IsNPC() && !CastToNPC()->WillAggroNPCs())
|
if(IsNPC() && !CastToNPC()->WillAggroNPCs())
|
||||||
AIscanarea_timer->Disable();
|
AI_scan_area_timer->Disable();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (GetAggroRange() == 0)
|
if (GetAggroRange() == 0)
|
||||||
@ -542,12 +542,12 @@ void Mob::AI_Stop() {
|
|||||||
|
|
||||||
pAIControlled = false;
|
pAIControlled = false;
|
||||||
|
|
||||||
AIthink_timer.reset(nullptr);
|
AI_think_timer.reset(nullptr);
|
||||||
AIwalking_timer.reset(nullptr);
|
AI_walking_timer.reset(nullptr);
|
||||||
AImovement_timer.reset(nullptr);
|
AI_movement_timer.reset(nullptr);
|
||||||
AItarget_check_timer.reset(nullptr);
|
AI_target_check_timer.reset(nullptr);
|
||||||
AIscanarea_timer.reset(nullptr);
|
AI_scan_area_timer.reset(nullptr);
|
||||||
AIfeignremember_timer.reset(nullptr);
|
AI_feign_remember_timer.reset(nullptr);
|
||||||
AI_check_signal_timer.reset(nullptr);
|
AI_check_signal_timer.reset(nullptr);
|
||||||
|
|
||||||
hate_list.WipeHateList();
|
hate_list.WipeHateList();
|
||||||
@ -730,7 +730,7 @@ void Client::AI_Process()
|
|||||||
if (!IsAIControlled())
|
if (!IsAIControlled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!(AIthink_timer->Check() || attack_timer.Check(false)))
|
if (!(AI_think_timer->Check() || attack_timer.Check(false)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (IsCasting())
|
if (IsCasting())
|
||||||
@ -776,7 +776,7 @@ void Client::AI_Process()
|
|||||||
//continue on to attack code, ensuring that we execute the engaged code
|
//continue on to attack code, ensuring that we execute the engaged code
|
||||||
engaged = true;
|
engaged = true;
|
||||||
} else {
|
} else {
|
||||||
if(AImovement_timer->Check()) {
|
if(AI_movement_timer->Check()) {
|
||||||
int speed = GetFearSpeed();
|
int speed = GetFearSpeed();
|
||||||
animation = speed;
|
animation = speed;
|
||||||
speed *= 2;
|
speed *= 2;
|
||||||
@ -813,7 +813,7 @@ void Client::AI_Process()
|
|||||||
SetTarget(hate_list.GetClosestEntOnHateList(this));
|
SetTarget(hate_list.GetClosestEntOnHateList(this));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(AItarget_check_timer->Check())
|
if(AI_target_check_timer->Check())
|
||||||
{
|
{
|
||||||
SetTarget(hate_list.GetEntWithMostHateOnList(this));
|
SetTarget(hate_list.GetEntWithMostHateOnList(this));
|
||||||
}
|
}
|
||||||
@ -837,7 +837,7 @@ void Client::AI_Process()
|
|||||||
DoClassAttacks(GetTarget());
|
DoClassAttacks(GetTarget());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AImovement_timer->Check()) {
|
if (AI_movement_timer->Check()) {
|
||||||
if (CalculateHeadingToTarget(GetTarget()->GetX(), GetTarget()->GetY()) !=
|
if (CalculateHeadingToTarget(GetTarget()->GetX(), GetTarget()->GetY()) !=
|
||||||
m_Position.w) {
|
m_Position.w) {
|
||||||
SetHeading(CalculateHeadingToTarget(GetTarget()->GetX(), GetTarget()->GetY()));
|
SetHeading(CalculateHeadingToTarget(GetTarget()->GetX(), GetTarget()->GetY()));
|
||||||
@ -863,7 +863,7 @@ void Client::AI_Process()
|
|||||||
} else {
|
} else {
|
||||||
if(!IsRooted())
|
if(!IsRooted())
|
||||||
{
|
{
|
||||||
if(AImovement_timer->Check())
|
if(AI_movement_timer->Check())
|
||||||
{
|
{
|
||||||
int newspeed = GetRunspeed();
|
int newspeed = GetRunspeed();
|
||||||
animation = newspeed;
|
animation = newspeed;
|
||||||
@ -894,7 +894,7 @@ void Client::AI_Process()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(AIfeignremember_timer->Check()) {
|
if(AI_feign_remember_timer->Check()) {
|
||||||
std::set<uint32>::iterator RememberedCharID;
|
std::set<uint32>::iterator RememberedCharID;
|
||||||
RememberedCharID = feign_memory_list.begin();
|
RememberedCharID = feign_memory_list.begin();
|
||||||
while (RememberedCharID != feign_memory_list.end()) {
|
while (RememberedCharID != feign_memory_list.end()) {
|
||||||
@ -922,7 +922,7 @@ void Client::AI_Process()
|
|||||||
float dist = DistanceSquared(m_Position, owner->GetPosition());
|
float dist = DistanceSquared(m_Position, owner->GetPosition());
|
||||||
if (dist >= 400)
|
if (dist >= 400)
|
||||||
{
|
{
|
||||||
if(AImovement_timer->Check())
|
if(AI_movement_timer->Check())
|
||||||
{
|
{
|
||||||
int nspeed = (dist >= 5625 ? GetRunspeed() : GetWalkspeed());
|
int nspeed = (dist >= 5625 ? GetRunspeed() : GetWalkspeed());
|
||||||
animation = nspeed;
|
animation = nspeed;
|
||||||
@ -948,7 +948,7 @@ void Mob::AI_Process() {
|
|||||||
if (!IsAIControlled())
|
if (!IsAIControlled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!(AIthink_timer->Check() || attack_timer.Check(false)))
|
if (!(AI_think_timer->Check() || attack_timer.Check(false)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (IsCasting())
|
if (IsCasting())
|
||||||
@ -973,7 +973,7 @@ void Mob::AI_Process() {
|
|||||||
//continue on to attack code, ensuring that we execute the engaged code
|
//continue on to attack code, ensuring that we execute the engaged code
|
||||||
engaged = true;
|
engaged = true;
|
||||||
} else {
|
} else {
|
||||||
if(AImovement_timer->Check()) {
|
if(AI_movement_timer->Check()) {
|
||||||
// Check if we have reached the last fear point
|
// Check if we have reached the last fear point
|
||||||
if ((std::abs(GetX() - m_FearWalkTarget.x) < 0.1) &&
|
if ((std::abs(GetX() - m_FearWalkTarget.x) < 0.1) &&
|
||||||
(std::abs(GetY() - m_FearWalkTarget.y) < 0.1)) {
|
(std::abs(GetY() - m_FearWalkTarget.y) < 0.1)) {
|
||||||
@ -1017,7 +1017,7 @@ void Mob::AI_Process() {
|
|||||||
SetTarget(hate_list.GetClosestEntOnHateList(this));
|
SetTarget(hate_list.GetClosestEntOnHateList(this));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(AItarget_check_timer->Check())
|
if(AI_target_check_timer->Check())
|
||||||
{
|
{
|
||||||
if (IsFocused()) {
|
if (IsFocused()) {
|
||||||
if (!target) {
|
if (!target) {
|
||||||
@ -1079,7 +1079,7 @@ void Mob::AI_Process() {
|
|||||||
|
|
||||||
if (is_combat_range)
|
if (is_combat_range)
|
||||||
{
|
{
|
||||||
if (AImovement_timer->Check())
|
if (AI_movement_timer->Check())
|
||||||
{
|
{
|
||||||
if(CalculateHeadingToTarget(GetTarget()->GetX(), GetTarget()->GetY()) != m_Position.w)
|
if(CalculateHeadingToTarget(GetTarget()->GetX(), GetTarget()->GetY()) != m_Position.w)
|
||||||
{
|
{
|
||||||
@ -1273,7 +1273,7 @@ void Mob::AI_Process() {
|
|||||||
WipeHateList();
|
WipeHateList();
|
||||||
Heal();
|
Heal();
|
||||||
BuffFadeAll();
|
BuffFadeAll();
|
||||||
AIwalking_timer->Start(100);
|
AI_walking_timer->Start(100);
|
||||||
pLastFightingDelayMoving = Timer::GetCurrentTime();
|
pLastFightingDelayMoving = Timer::GetCurrentTime();
|
||||||
return;
|
return;
|
||||||
} else if(tar != nullptr) {
|
} else if(tar != nullptr) {
|
||||||
@ -1295,7 +1295,7 @@ void Mob::AI_Process() {
|
|||||||
if(AI_PursueCastCheck()){
|
if(AI_PursueCastCheck()){
|
||||||
//we did something, so do not process movement.
|
//we did something, so do not process movement.
|
||||||
}
|
}
|
||||||
else if (AImovement_timer->Check())
|
else if (AI_movement_timer->Check())
|
||||||
{
|
{
|
||||||
if(!IsRooted()) {
|
if(!IsRooted()) {
|
||||||
Log.Out(Logs::Detail, Logs::AI, "Pursuing %s while engaged.", target->GetName());
|
Log.Out(Logs::Detail, Logs::AI, "Pursuing %s while engaged.", target->GetName());
|
||||||
@ -1328,7 +1328,7 @@ void Mob::AI_Process() {
|
|||||||
{
|
{
|
||||||
if (m_PlayerState & static_cast<uint32>(PlayerState::Aggressive))
|
if (m_PlayerState & static_cast<uint32>(PlayerState::Aggressive))
|
||||||
SendRemovePlayerState(PlayerState::Aggressive);
|
SendRemovePlayerState(PlayerState::Aggressive);
|
||||||
if(AIfeignremember_timer->Check()) {
|
if(AI_feign_remember_timer->Check()) {
|
||||||
// 6/14/06
|
// 6/14/06
|
||||||
// Improved Feign Death Memory
|
// Improved Feign Death Memory
|
||||||
// check to see if any of our previous feigned targets have gotten up.
|
// check to see if any of our previous feigned targets have gotten up.
|
||||||
@ -1353,7 +1353,7 @@ void Mob::AI_Process() {
|
|||||||
{
|
{
|
||||||
//we processed a spell action, so do nothing else.
|
//we processed a spell action, so do nothing else.
|
||||||
}
|
}
|
||||||
else if (AIscanarea_timer->Check())
|
else if (AI_scan_area_timer->Check())
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* This is where NPCs look around to see if they want to attack anybody.
|
* This is where NPCs look around to see if they want to attack anybody.
|
||||||
@ -1368,7 +1368,7 @@ void Mob::AI_Process() {
|
|||||||
if (tmptar)
|
if (tmptar)
|
||||||
AddToHateList(tmptar);
|
AddToHateList(tmptar);
|
||||||
}
|
}
|
||||||
else if (AImovement_timer->Check() && !IsRooted())
|
else if (AI_movement_timer->Check() && !IsRooted())
|
||||||
{
|
{
|
||||||
if (IsPet())
|
if (IsPet())
|
||||||
{
|
{
|
||||||
@ -1539,10 +1539,10 @@ void NPC::AI_DoMovement() {
|
|||||||
}
|
}
|
||||||
else if (roamer)
|
else if (roamer)
|
||||||
{
|
{
|
||||||
if (AIwalking_timer->Check())
|
if (AI_walking_timer->Check())
|
||||||
{
|
{
|
||||||
movetimercompleted=true;
|
movetimercompleted=true;
|
||||||
AIwalking_timer->Disable();
|
AI_walking_timer->Disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1552,7 +1552,7 @@ void NPC::AI_DoMovement() {
|
|||||||
if (movetimercompleted==true) { // time to pause at wp is over
|
if (movetimercompleted==true) { // time to pause at wp is over
|
||||||
AI_SetupNextWaypoint();
|
AI_SetupNextWaypoint();
|
||||||
} // endif (movetimercompleted==true)
|
} // endif (movetimercompleted==true)
|
||||||
else if (!(AIwalking_timer->Enabled()))
|
else if (!(AI_walking_timer->Enabled()))
|
||||||
{ // currently moving
|
{ // currently moving
|
||||||
bool doMove = true;
|
bool doMove = true;
|
||||||
if (m_CurrentWayPoint.x == GetX() && m_CurrentWayPoint.y == GetY())
|
if (m_CurrentWayPoint.x == GetX() && m_CurrentWayPoint.y == GetY())
|
||||||
@ -1573,7 +1573,7 @@ void NPC::AI_DoMovement() {
|
|||||||
sprintf(temp, "%d", cur_wp);
|
sprintf(temp, "%d", cur_wp);
|
||||||
parse->EventNPC(EVENT_WAYPOINT_ARRIVE, CastToNPC(), nullptr, temp, 0);
|
parse->EventNPC(EVENT_WAYPOINT_ARRIVE, CastToNPC(), nullptr, temp, 0);
|
||||||
// start moving directly to next waypoint if we're at a 0 pause waypoint and we didn't get quest halted.
|
// start moving directly to next waypoint if we're at a 0 pause waypoint and we didn't get quest halted.
|
||||||
if (!AIwalking_timer->Enabled())
|
if (!AI_walking_timer->Enabled())
|
||||||
AI_SetupNextWaypoint();
|
AI_SetupNextWaypoint();
|
||||||
else
|
else
|
||||||
doMove = false;
|
doMove = false;
|
||||||
@ -1764,7 +1764,7 @@ void Mob::AI_Event_Engaged(Mob* attacker, bool iYellForHelp) {
|
|||||||
void Mob::AI_Event_NoLongerEngaged() {
|
void Mob::AI_Event_NoLongerEngaged() {
|
||||||
if (!IsAIControlled())
|
if (!IsAIControlled())
|
||||||
return;
|
return;
|
||||||
this->AIwalking_timer->Start(RandomTimer(3000,20000));
|
this->AI_walking_timer->Start(RandomTimer(3000,20000));
|
||||||
pLastFightingDelayMoving = Timer::GetCurrentTime();
|
pLastFightingDelayMoving = Timer::GetCurrentTime();
|
||||||
if (minLastFightingDelayMoving == maxLastFightingDelayMoving)
|
if (minLastFightingDelayMoving == maxLastFightingDelayMoving)
|
||||||
pLastFightingDelayMoving += minLastFightingDelayMoving;
|
pLastFightingDelayMoving += minLastFightingDelayMoving;
|
||||||
|
|||||||
@ -94,7 +94,7 @@ void NPC::ResumeWandering()
|
|||||||
{
|
{
|
||||||
if (GetGrid() < 0)
|
if (GetGrid() < 0)
|
||||||
{ // we were paused by a quest
|
{ // we were paused by a quest
|
||||||
AIwalking_timer->Disable();
|
AI_walking_timer->Disable();
|
||||||
SetGrid( 0 - GetGrid());
|
SetGrid( 0 - GetGrid());
|
||||||
if (cur_wp==-1)
|
if (cur_wp==-1)
|
||||||
{ // got here by a MoveTo()
|
{ // got here by a MoveTo()
|
||||||
@ -103,10 +103,10 @@ void NPC::ResumeWandering()
|
|||||||
}
|
}
|
||||||
Log.Out(Logs::Detail, Logs::Pathing, "Resume Wandering requested. Grid %d, wp %d", GetGrid(), cur_wp);
|
Log.Out(Logs::Detail, Logs::Pathing, "Resume Wandering requested. Grid %d, wp %d", GetGrid(), cur_wp);
|
||||||
}
|
}
|
||||||
else if (AIwalking_timer->Enabled())
|
else if (AI_walking_timer->Enabled())
|
||||||
{ // we are at a waypoint paused normally
|
{ // we are at a waypoint paused normally
|
||||||
Log.Out(Logs::Detail, Logs::Pathing, "Resume Wandering on timed pause. Grid %d, wp %d", GetGrid(), cur_wp);
|
Log.Out(Logs::Detail, Logs::Pathing, "Resume Wandering on timed pause. Grid %d, wp %d", GetGrid(), cur_wp);
|
||||||
AIwalking_timer->Trigger(); // disable timer to end pause now
|
AI_walking_timer->Trigger(); // disable timer to end pause now
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -145,7 +145,7 @@ void NPC::PauseWandering(int pausetime)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // specified waiting time, he'll resume after that
|
{ // specified waiting time, he'll resume after that
|
||||||
AIwalking_timer->Start(pausetime*1000); // set the timer
|
AI_walking_timer->Start(pausetime*1000); // set the timer
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Log.Out(Logs::General, Logs::Error, "NPC not on grid - can't pause wandering: %lu", (unsigned long)GetNPCTypeID());
|
Log.Out(Logs::General, Logs::Error, "NPC not on grid - can't pause wandering: %lu", (unsigned long)GetNPCTypeID());
|
||||||
@ -162,7 +162,7 @@ void NPC::MoveTo(const glm::vec4& position, bool saveguardspot)
|
|||||||
SetGrid( 0 - GetGrid()); // get him moving again
|
SetGrid( 0 - GetGrid()); // get him moving again
|
||||||
Log.Out(Logs::Detail, Logs::AI, "MoveTo during quest wandering. Canceling quest wandering and going back to grid %d when MoveTo is done.", GetGrid());
|
Log.Out(Logs::Detail, Logs::AI, "MoveTo during quest wandering. Canceling quest wandering and going back to grid %d when MoveTo is done.", GetGrid());
|
||||||
}
|
}
|
||||||
AIwalking_timer->Disable(); // disable timer in case he is paused at a wp
|
AI_walking_timer->Disable(); // disable timer in case he is paused at a wp
|
||||||
if (cur_wp>=0)
|
if (cur_wp>=0)
|
||||||
{ // we've not already done a MoveTo()
|
{ // we've not already done a MoveTo()
|
||||||
save_wp=cur_wp; // save the current waypoint
|
save_wp=cur_wp; // save the current waypoint
|
||||||
@ -193,8 +193,8 @@ void NPC::MoveTo(const glm::vec4& position, bool saveguardspot)
|
|||||||
m_CurrentWayPoint = position;
|
m_CurrentWayPoint = position;
|
||||||
cur_wp_pause = 0;
|
cur_wp_pause = 0;
|
||||||
pLastFightingDelayMoving = 0;
|
pLastFightingDelayMoving = 0;
|
||||||
if(AIwalking_timer->Enabled())
|
if(AI_walking_timer->Enabled())
|
||||||
AIwalking_timer->Start(100);
|
AI_walking_timer->Start(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NPC::UpdateWaypoint(int wp_index)
|
void NPC::UpdateWaypoint(int wp_index)
|
||||||
@ -393,8 +393,8 @@ void NPC::SetWaypointPause()
|
|||||||
//Declare time to wait on current WP
|
//Declare time to wait on current WP
|
||||||
|
|
||||||
if (cur_wp_pause == 0) {
|
if (cur_wp_pause == 0) {
|
||||||
AIwalking_timer->Start(100);
|
AI_walking_timer->Start(100);
|
||||||
AIwalking_timer->Trigger();
|
AI_walking_timer->Trigger();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -402,13 +402,13 @@ void NPC::SetWaypointPause()
|
|||||||
switch (pausetype)
|
switch (pausetype)
|
||||||
{
|
{
|
||||||
case 0: //Random Half
|
case 0: //Random Half
|
||||||
AIwalking_timer->Start((cur_wp_pause - zone->random.Int(0, cur_wp_pause-1)/2)*1000);
|
AI_walking_timer->Start((cur_wp_pause - zone->random.Int(0, cur_wp_pause-1)/2)*1000);
|
||||||
break;
|
break;
|
||||||
case 1: //Full
|
case 1: //Full
|
||||||
AIwalking_timer->Start(cur_wp_pause*1000);
|
AI_walking_timer->Start(cur_wp_pause*1000);
|
||||||
break;
|
break;
|
||||||
case 2: //Random Full
|
case 2: //Random Full
|
||||||
AIwalking_timer->Start(zone->random.Int(0, cur_wp_pause-1)*1000);
|
AI_walking_timer->Start(zone->random.Int(0, cur_wp_pause-1)*1000);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user