mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-22 11:38:29 +00:00
seems to be working
This commit is contained in:
+4
-3
@@ -387,6 +387,7 @@ public:
|
|||||||
static void ProcessRaidInvite(Bot* invitee, Client* invitor); //Mitch
|
static void ProcessRaidInvite(Bot* invitee, Client* invitor); //Mitch
|
||||||
static void ProcessRaidInvite(Client* invitee, Client* invitor); //Mitch
|
static void ProcessRaidInvite(Client* invitee, Client* invitor); //Mitch
|
||||||
uint8 GetNumberNeedingHealedInRaidGroup(uint8 hpr, bool includePets); //Mitch
|
uint8 GetNumberNeedingHealedInRaidGroup(uint8 hpr, bool includePets); //Mitch
|
||||||
|
bool m_dirtyautohaters;
|
||||||
inline void SetDirtyAutoHaters() { m_dirtyautohaters = true; }
|
inline void SetDirtyAutoHaters() { m_dirtyautohaters = true; }
|
||||||
|
|
||||||
static std::list<BotSpell> GetBotSpellsForSpellEffect(Bot* botCaster, int spellEffect);
|
static std::list<BotSpell> GetBotSpellsForSpellEffect(Bot* botCaster, int spellEffect);
|
||||||
@@ -609,6 +610,9 @@ public:
|
|||||||
int32 GetBaseDR() { return _baseDR; }
|
int32 GetBaseDR() { return _baseDR; }
|
||||||
int32 GetBaseCorrup() { return _baseCorrup; }
|
int32 GetBaseCorrup() { return _baseCorrup; }
|
||||||
|
|
||||||
|
//Raid additions
|
||||||
|
Raid* p_raid_instance;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void PetAIProcess();
|
virtual void PetAIProcess();
|
||||||
virtual void BotMeditate(bool isSitting);
|
virtual void BotMeditate(bool isSitting);
|
||||||
@@ -737,9 +741,6 @@ private:
|
|||||||
bool SavePet(); // Save and depop bot pet if there is one
|
bool SavePet(); // Save and depop bot pet if there is one
|
||||||
bool DeletePet();
|
bool DeletePet();
|
||||||
|
|
||||||
//Raid Additions
|
|
||||||
bool m_dirtyautohaters;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static uint8 spell_casting_chances[SPELL_TYPE_COUNT][PLAYER_CLASS_COUNT][EQ::constants::STANCE_TYPE_COUNT][cntHSND];
|
static uint8 spell_casting_chances[SPELL_TYPE_COUNT][PLAYER_CLASS_COUNT][EQ::constants::STANCE_TYPE_COUNT][cntHSND];
|
||||||
};
|
};
|
||||||
|
|||||||
+10
-8
@@ -1531,7 +1531,7 @@ std::vector<RaidMember> Raid::GetRaidGroupMembers(uint32 gid)
|
|||||||
{
|
{
|
||||||
if (members[i].member && members[i].GroupNumber == gid)
|
if (members[i].member && members[i].GroupNumber == gid)
|
||||||
{
|
{
|
||||||
raid_group_members.emplace_back(members[i]);
|
raid_group_members.push_back(members[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return raid_group_members;
|
return raid_group_members;
|
||||||
@@ -1780,9 +1780,10 @@ bool Bot::AICastSpell_Raid(Mob* tar, uint8 iChance, uint32 iSpellTypes) {
|
|||||||
BotGroupSay(this, "Casting %s.", spells[botSpell.SpellId].name);
|
BotGroupSay(this, "Casting %s.", spells[botSpell.SpellId].name);
|
||||||
//raid->RaidBotGroupSay(this, 0, 100, "Casting %s.", spells[botSpell.SpellId].name);
|
//raid->RaidBotGroupSay(this, 0, 100, "Casting %s.", spells[botSpell.SpellId].name);
|
||||||
std::vector<RaidMember> raid_group_members = raid->GetRaidGroupMembers(r_group);
|
std::vector<RaidMember> raid_group_members = raid->GetRaidGroupMembers(r_group);
|
||||||
for (std::vector<RaidMember>::iterator iter = raid_group_members.begin(); iter != raid_group_members.end(); ++iter) {
|
//for (std::vector<RaidMember>::iterator iter = raid_group_members.begin(); iter != raid_group_members.end(); ++iter) {
|
||||||
if (iter->member && !iter->member->qglobal) {
|
for (int i = 0; i < raid_group_members.size(); ++i){
|
||||||
iter->member->SetDontHealMeBefore(Timer::GetCurrentTime() + 1000);
|
if (raid_group_members.at(i).member && !raid_group_members.at(i).member->qglobal) {
|
||||||
|
raid_group_members.at(i).member->SetDontHealMeBefore(Timer::GetCurrentTime() + 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2603,13 +2604,14 @@ uint8 Bot::GetNumberNeedingHealedInRaidGroup(uint8 hpr, bool includePets) {
|
|||||||
raid = entity_list.GetRaidByBotName(this->GetName());
|
raid = entity_list.GetRaidByBotName(this->GetName());
|
||||||
uint32 r_group = raid->GetGroup(this->GetName());
|
uint32 r_group = raid->GetGroup(this->GetName());
|
||||||
std::vector<RaidMember> raid_group_members = raid->GetRaidGroupMembers(r_group);
|
std::vector<RaidMember> raid_group_members = raid->GetRaidGroupMembers(r_group);
|
||||||
for (std::vector<RaidMember>::iterator iter = raid_group_members.begin(); iter != raid_group_members.end(); ++iter) {
|
//for (std::vector<RaidMember>::iterator iter = raid_group_members.begin(); iter != raid_group_members.end(); ++iter) {
|
||||||
if (iter->member && !iter->member->qglobal) {
|
for (int i = 0; i< raid_group_members.size(); ++i) {
|
||||||
if (iter->member->GetHPRatio() <= hpr)
|
if (raid_group_members.at(i).member && !raid_group_members.at(i).member->qglobal) {
|
||||||
|
if (raid_group_members.at(i).member->GetHPRatio() <= hpr)
|
||||||
needHealed++;
|
needHealed++;
|
||||||
|
|
||||||
if (includePets) {
|
if (includePets) {
|
||||||
if (iter->member->GetPet() && iter->member->GetPet()->GetHPRatio() <= hpr)
|
if (raid_group_members.at(i).member->GetPet() && raid_group_members.at(i).member->GetPet()->GetHPRatio() <= hpr)
|
||||||
needHealed++;
|
needHealed++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2070,6 +2070,26 @@ Raid* EntityList::GetRaidByBotName(const char* name)
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Raid* EntityList::GetRaidByBot(Bot* bot)
|
||||||
|
{
|
||||||
|
|
||||||
|
std::list<Raid*>::iterator iterator;
|
||||||
|
iterator = raid_list.begin();
|
||||||
|
|
||||||
|
while (iterator != raid_list.end()) {
|
||||||
|
for (auto& member : (*iterator)->members) {
|
||||||
|
if (member.member && member.member->CastToBot() == bot) {
|
||||||
|
bot->p_raid_instance = *iterator;
|
||||||
|
return *iterator;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
++iterator;
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Raid *EntityList::GetRaidByMob(Mob *mob)
|
Raid *EntityList::GetRaidByMob(Mob *mob)
|
||||||
{
|
{
|
||||||
std::list<Raid *>::iterator iterator;
|
std::list<Raid *>::iterator iterator;
|
||||||
|
|||||||
@@ -199,6 +199,7 @@ public:
|
|||||||
Raid *GetRaidByLeaderName(const char *leader);
|
Raid *GetRaidByLeaderName(const char *leader);
|
||||||
#ifdef BOTS
|
#ifdef BOTS
|
||||||
Raid* GetRaidByBotName(const char* name);
|
Raid* GetRaidByBotName(const char* name);
|
||||||
|
Raid* GetRaidByBot(Bot* bot);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Corpse *GetCorpseByOwner(Client* client);
|
Corpse *GetCorpseByOwner(Client* client);
|
||||||
|
|||||||
Reference in New Issue
Block a user