mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2025-11-29 17:38:24 +08:00
Some faction fixes
This commit is contained in:
@@ -60,7 +60,7 @@ class npc_pet_gen_mojo : public CreatureScript
|
||||
me->HandleEmoteCommand(emote);
|
||||
Unit* owner = me->GetOwner();
|
||||
if (emote != TEXT_EMOTE_KISS || !owner || owner->GetTypeId() != TYPEID_PLAYER ||
|
||||
owner->ToPlayer()->GetTeamId() != player->GetTeamId())
|
||||
owner->ToPlayer()->GetTeamId(true) != player->GetTeamId(true))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -255,13 +255,13 @@ public:
|
||||
{
|
||||
_state = ARGENT_PONY_STATE_ENCH;
|
||||
|
||||
aura = (player->GetTeamId() == TEAM_ALLIANCE ? SPELL_AURA_TIRED_S : SPELL_AURA_TIRED_G);
|
||||
aura = (player->GetTeamId(true) == TEAM_ALLIANCE ? SPELL_AURA_TIRED_S : SPELL_AURA_TIRED_G);
|
||||
duration = player->GetSpellCooldownDelay(aura);
|
||||
me->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||
|
||||
for (uint8 i = 0; i < 3; ++i)
|
||||
{
|
||||
if (player->GetTeamId() == TEAM_ALLIANCE)
|
||||
if (player->GetTeamId(true) == TEAM_ALLIANCE)
|
||||
{
|
||||
if (uint32 cooldown = player->GetSpellCooldownDelay(SPELL_AURA_POSTMAN_S+i))
|
||||
{
|
||||
@@ -286,7 +286,7 @@ public:
|
||||
}
|
||||
|
||||
// Generate Banners
|
||||
uint32 mask = player->GetTeamId() ? RACEMASK_HORDE : RACEMASK_ALLIANCE;
|
||||
uint32 mask = player->GetTeamId(true) ? RACEMASK_HORDE : RACEMASK_ALLIANCE;
|
||||
for (uint8 i = 1; i < MAX_RACES; ++i)
|
||||
if (mask & (1 << (i-1)) && player->HasAchieved(argentBanners[i].achievement))
|
||||
_banners[i] = true;
|
||||
@@ -351,7 +351,7 @@ public:
|
||||
if (player->GetGUID() != creature->GetOwnerGUID())
|
||||
return true;
|
||||
|
||||
if (!creature->HasAura(player->GetTeamId() ? SPELL_AURA_TIRED_G : SPELL_AURA_TIRED_S))
|
||||
if (!creature->HasAura(player->GetTeamId(true) ? SPELL_AURA_TIRED_G : SPELL_AURA_TIRED_S))
|
||||
{
|
||||
uint8 _state = creature->AI()->GetData(0 /*GET_DATA_STATE*/);
|
||||
if (_state == ARGENT_PONY_STATE_ENCH || _state == ARGENT_PONY_STATE_VENDOR)
|
||||
@@ -379,20 +379,20 @@ public:
|
||||
case GOSSIP_ACTION_TRADE:
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_VENDOR);
|
||||
player->GetSession()->SendListInventory(creature->GetGUID());
|
||||
spellId = player->GetTeamId() ? SPELL_AURA_SHOP_G : SPELL_AURA_SHOP_S;
|
||||
spellId = player->GetTeamId(true) ? SPELL_AURA_SHOP_G : SPELL_AURA_SHOP_S;
|
||||
creature->AI()->DoAction(ARGENT_PONY_STATE_VENDOR);
|
||||
break;
|
||||
case GOSSIP_ACTION_BANK:
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_BANKER);
|
||||
player->GetSession()->SendShowBank(player->GetGUID());
|
||||
spellId = player->GetTeamId() ? SPELL_AURA_BANK_G : SPELL_AURA_BANK_S;
|
||||
spellId = player->GetTeamId(true) ? SPELL_AURA_BANK_G : SPELL_AURA_BANK_S;
|
||||
creature->AI()->DoAction(ARGENT_PONY_STATE_BANK);
|
||||
break;
|
||||
case GOSSIP_ACTION_MAILBOX:
|
||||
{
|
||||
creature->SetUInt32Value(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP|UNIT_NPC_FLAG_MAILBOX);
|
||||
player->GetSession()->SendShowMailBox(creature->GetGUID());
|
||||
spellId = player->GetTeamId() ? SPELL_AURA_POSTMAN_G : SPELL_AURA_POSTMAN_S;
|
||||
spellId = player->GetTeamId(true) ? SPELL_AURA_POSTMAN_G : SPELL_AURA_POSTMAN_S;
|
||||
creature->AI()->DoAction(ARGENT_PONY_STATE_MAILBOX);
|
||||
break;
|
||||
}
|
||||
@@ -409,7 +409,7 @@ public:
|
||||
{
|
||||
creature->CastSpell(creature, spellId, true);
|
||||
player->AddSpellCooldown(spellId, 0, 3*MINUTE*IN_MILLISECONDS);
|
||||
player->AddSpellCooldown(player->GetTeamId() ? SPELL_AURA_TIRED_G : SPELL_AURA_TIRED_S, 0, 3*MINUTE*IN_MILLISECONDS + 4*HOUR*IN_MILLISECONDS);
|
||||
player->AddSpellCooldown(player->GetTeamId(true) ? SPELL_AURA_TIRED_G : SPELL_AURA_TIRED_S, 0, 3*MINUTE*IN_MILLISECONDS + 4*HOUR*IN_MILLISECONDS);
|
||||
creature->DespawnOrUnsummon(3*MINUTE*IN_MILLISECONDS);
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user