Core/Achievements: Update CriteriaType enum

Port From (https://github.com/TrinityCore/TrinityCore/commit/0a83f748766c49775d76412d2b98bb9b9dc8c4df)
This commit is contained in:
hondacrx
2021-09-09 14:49:19 -04:00
parent 7a5671ce22
commit c9b8f09fbc
51 changed files with 848 additions and 846 deletions
@@ -45,7 +45,7 @@ namespace Game.Achievements
public void CheckAllAchievementCriteria(Player referencePlayer)
{
// suppress sending packets
for (CriteriaTypes i = 0; i < CriteriaTypes.TotalTypes; ++i)
for (CriteriaType i = 0; i < CriteriaType.Count; ++i)
UpdateCriteria(i, 0, 0, 0, null, referencePlayer);
}
@@ -533,8 +533,8 @@ namespace Game.Achievements
if (!achievement.Flags.HasAnyFlag(AchievementFlags.TrackingFlag))
_achievementPoints += achievement.Points;
UpdateCriteria(CriteriaTypes.CompleteAchievement, achievement.Id, 0, 0, null, referencePlayer);
UpdateCriteria(CriteriaTypes.EarnAchievementPoints, achievement.Points, 0, 0, null, referencePlayer);
UpdateCriteria(CriteriaType.EarnAchievement, achievement.Id, 0, 0, null, referencePlayer);
UpdateCriteria(CriteriaType.EarnAchievementPoints, achievement.Points, 0, 0, null, referencePlayer);
// reward items and titles if any
AchievementReward reward = Global.AchievementMgr.GetAchievementReward(achievement);
@@ -705,7 +705,7 @@ namespace Game.Achievements
_owner.SendPacket(data);
}
public override List<Criteria> GetCriteriaByType(CriteriaTypes type, uint asset)
public override List<Criteria> GetCriteriaByType(CriteriaType type, uint asset)
{
return Global.CriteriaMgr.GetPlayerCriteriaByType(type, asset);
}
@@ -1014,8 +1014,8 @@ namespace Game.Achievements
if (!achievement.Flags.HasAnyFlag(AchievementFlags.TrackingFlag))
_achievementPoints += achievement.Points;
UpdateCriteria(CriteriaTypes.CompleteAchievement, achievement.Id, 0, 0, null, referencePlayer);
UpdateCriteria(CriteriaTypes.EarnAchievementPoints, achievement.Points, 0, 0, null, referencePlayer);
UpdateCriteria(CriteriaType.EarnAchievement, achievement.Id, 0, 0, null, referencePlayer);
UpdateCriteria(CriteriaType.EarnAchievementPoints, achievement.Points, 0, 0, null, referencePlayer);
}
public override void SendCriteriaUpdate(Criteria entry, CriteriaProgress progress, TimeSpan timeElapsed, bool timedCompleted)
@@ -1069,7 +1069,7 @@ namespace Game.Achievements
_owner.BroadcastPacket(data);
}
public override List<Criteria> GetCriteriaByType(CriteriaTypes type, uint asset)
public override List<Criteria> GetCriteriaByType(CriteriaType type, uint asset)
{
return Global.CriteriaMgr.GetGuildCriteriaByType(type);
}
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -253,8 +253,8 @@ namespace Game.Arenas
{
// update achievement BEFORE personal rating update
uint rating = player.GetArenaPersonalRating(winnerArenaTeam.GetSlot());
player.UpdateCriteria(CriteriaTypes.WinRatedArena, rating != 0 ? rating : 1);
player.UpdateCriteria(CriteriaTypes.WinRatedArena, GetMapId());
player.UpdateCriteria(CriteriaType.WinAnyRankedArena, rating != 0 ? rating : 1);
player.UpdateCriteria(CriteriaType.WinArena, GetMapId());
// Last standing - Rated 5v5 arena & be solely alive player
if (GetArenaType() == ArenaTypes.Team5v5 && aliveWinners == 1 && player.IsAlive())
@@ -268,7 +268,7 @@ namespace Game.Arenas
{
Guild guild = Global.GuildMgr.GetGuildById(guildId);
if (guild)
guild.UpdateCriteria(CriteriaTypes.WinRatedArena, Math.Max(winnerArenaTeam.GetRating(), 1), 0, 0, null, player);
guild.UpdateCriteria(CriteriaType.WinAnyRankedArena, Math.Max(winnerArenaTeam.GetRating(), 1), 0, 0, null, player);
}
}
+2 -2
View File
@@ -559,7 +559,7 @@ namespace Game.Arenas
{
Player player = Global.ObjAccessor.FindPlayer(member.Guid);
if (player)
player.UpdateCriteria(CriteriaTypes.HighestTeamRating, stats.Rating, type);
player.UpdateCriteria(CriteriaType.EarnTeamArenaRating, stats.Rating, type);
}
}
@@ -834,7 +834,7 @@ namespace Game.Arenas
if (player)
{
player.SetArenaTeamInfoField(ArenaTeam.GetSlotByType(type), ArenaTeamInfoType.PersonalRating, PersonalRating);
player.UpdateCriteria(CriteriaTypes.HighestPersonalRating, PersonalRating, type);
player.UpdateCriteria(CriteriaType.EarnPersonalArenaRating, PersonalRating, type);
}
}
+5 -5
View File
@@ -1318,8 +1318,8 @@ namespace Game
Player owner = Global.ObjAccessor.FindConnectedPlayer(auction.Owner);
if (owner != null)
{
owner.UpdateCriteria(CriteriaTypes.GoldEarnedByAuctions, profit);
owner.UpdateCriteria(CriteriaTypes.HighestAuctionSold, profit);
owner.UpdateCriteria(CriteriaType.MoneyEarnedFromAuctions, profit);
owner.UpdateCriteria(CriteriaType.HighestAuctionSale, profit);
owner.GetSession().SendAuctionClosedNotification(auction, (float)WorldConfig.GetIntValue(WorldCfg.MailDeliveryDelay), true);
}
@@ -1460,7 +1460,7 @@ namespace Game
bidder.SendPacket(packet);
// FIXME: for offline player need also
bidder.UpdateCriteria(CriteriaTypes.WonAuctions, 1);
bidder.UpdateCriteria(CriteriaType.AuctionsWon, 1);
}
mail.SendMailTo(trans, new MailReceiver(bidder, auction.Bidder), new MailSender(this), MailCheckMask.Copied);
@@ -1488,8 +1488,8 @@ namespace Game
//FIXME: what do if owner offline
if (owner)
{
owner.UpdateCriteria(CriteriaTypes.GoldEarnedByAuctions, profit);
owner.UpdateCriteria(CriteriaTypes.HighestAuctionSold, auction.BidAmount);
owner.UpdateCriteria(CriteriaType.MoneyEarnedFromAuctions, profit);
owner.UpdateCriteria(CriteriaType.HighestAuctionSale, auction.BidAmount);
//send auction owner notification, bidder must be current!
owner.GetSession().SendAuctionClosedNotification(auction, (float)WorldConfig.GetIntValue(WorldCfg.MailDeliveryDelay), true);
}
+3 -3
View File
@@ -776,7 +776,7 @@ namespace Game.BattleGrounds
// TODO: lose honor xp
}
player.UpdateCriteria(CriteriaTypes.WinBg, player.GetMapId());
player.UpdateCriteria(CriteriaType.WinBattleground, player.GetMapId());
if (!guildAwarded)
{
guildAwarded = true;
@@ -785,7 +785,7 @@ namespace Game.BattleGrounds
{
Guild guild = Global.GuildMgr.GetGuildById(guildId);
if (guild)
guild.UpdateCriteria(CriteriaTypes.WinBg, player.GetMapId(), 0, 0, null, player);
guild.UpdateCriteria(CriteriaType.WinBattleground, player.GetMapId(), 0, 0, null, player);
}
}
}
@@ -802,7 +802,7 @@ namespace Game.BattleGrounds
player.SendPacket(pvpMatchComplete);
player.UpdateCriteria(CriteriaTypes.CompleteBattleground, player.GetMapId());
player.UpdateCriteria(CriteriaType.ParticipateInBattleground, player.GetMapId());
}
}
@@ -683,10 +683,10 @@ namespace Game.BattleGrounds.Zones
switch (type)
{
case ScoreType.BasesAssaulted:
player.UpdateCriteria(CriteriaTypes.BgObjectiveCapture, (uint)ABObjectives.AssaultBase);
player.UpdateCriteria(CriteriaType.TrackedWorldStateUIModified, (uint)ABObjectives.AssaultBase);
break;
case ScoreType.BasesDefended:
player.UpdateCriteria(CriteriaTypes.BgObjectiveCapture, (uint)ABObjectives.DefendBase);
player.UpdateCriteria(CriteriaType.TrackedWorldStateUIModified, (uint)ABObjectives.DefendBase);
break;
default:
break;
@@ -839,7 +839,7 @@ namespace Game.BattleGrounds.Zones
switch (type)
{
case ScoreType.FlagCaptures:
player.UpdateCriteria(CriteriaTypes.BgObjectiveCapture, EotSMisc.ObjectiveCaptureFlag);
player.UpdateCriteria(CriteriaType.TrackedWorldStateUIModified, EotSMisc.ObjectiveCaptureFlag);
break;
default:
break;
@@ -927,7 +927,7 @@ namespace Game.BattleGrounds.Zones
Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (player)
if (player.GetTeamId() == Attackers)
player.UpdateCriteria(CriteriaTypes.BeSpellTarget, 65246);
player.UpdateCriteria(CriteriaType.BeSpellTarget, 65246);
}
Attackers = (Attackers == TeamId.Alliance) ? TeamId.Horde : TeamId.Alliance;
@@ -959,7 +959,7 @@ namespace Game.BattleGrounds.Zones
Player player = Global.ObjAccessor.FindPlayer(pair.Key);
if (player)
if (player.GetTeamId() == Attackers && RoundScores[1].winner == Attackers)
player.UpdateCriteria(CriteriaTypes.BeSpellTarget, 65246);
player.UpdateCriteria(CriteriaType.BeSpellTarget, 65246);
}
if (RoundScores[0].time == RoundScores[1].time)
@@ -1096,10 +1096,10 @@ namespace Game.BattleGrounds.Zones
switch (type)
{
case ScoreType.DestroyedDemolisher:
player.UpdateCriteria(CriteriaTypes.BgObjectiveCapture, (uint)SAObjectives.DemolishersDestroyed);
player.UpdateCriteria(CriteriaType.TrackedWorldStateUIModified, (uint)SAObjectives.DemolishersDestroyed);
break;
case ScoreType.DestroyedWall:
player.UpdateCriteria(CriteriaTypes.BgObjectiveCapture, (uint)SAObjectives.GatesDestroyed);
player.UpdateCriteria(CriteriaType.TrackedWorldStateUIModified, (uint)SAObjectives.GatesDestroyed);
break;
default:
break;
@@ -762,10 +762,10 @@ namespace Game.BattleGrounds.Zones
switch (type)
{
case ScoreType.FlagCaptures: // flags captured
player.UpdateCriteria(CriteriaTypes.BgObjectiveCapture, WSObjectives.CaptureFlag);
player.UpdateCriteria(CriteriaType.TrackedWorldStateUIModified, WSObjectives.CaptureFlag);
break;
case ScoreType.FlagReturns: // flags returned
player.UpdateCriteria(CriteriaTypes.BgObjectiveCapture, WSObjectives.ReturnFlag);
player.UpdateCriteria(CriteriaType.TrackedWorldStateUIModified, WSObjectives.ReturnFlag);
break;
default:
break;
+1 -1
View File
@@ -297,7 +297,7 @@ namespace Game.BattlePets
updates.Add(pet);
SendUpdates(updates, true);
_owner.GetPlayer().UpdateCriteria(CriteriaTypes.OwnBattlePet, species);
_owner.GetPlayer().UpdateCriteria(CriteriaType.LearnedNewPet, species);
}
public void RemovePet(ObjectGuid guid)
+1 -1
View File
@@ -52,7 +52,7 @@ namespace Game.Chat
return false;
target.ResetHonorStats();
target.UpdateCriteria(CriteriaTypes.EarnHonorableKill);
target.UpdateCriteria(CriteriaType.HonorableKills);
return true;
}
+1 -1
View File
@@ -480,7 +480,7 @@ namespace Game.DataStorage
public sealed class CriteriaRecord
{
public uint Id;
public CriteriaTypes Type;
public CriteriaType Type;
public uint Asset;
public uint ModifierTreeId;
public byte StartEvent;
+1 -1
View File
@@ -1342,7 +1342,7 @@ namespace Game.DungeonFinding
// Update achievements
if (dungeon.difficulty == Difficulty.Heroic)
player.UpdateCriteria(CriteriaTypes.UseLfdToGroupWithPlayers, 1);
player.UpdateCriteria(CriteriaType.CompletedLFGDungeonWithStrangers, 1);
LfgReward reward = GetRandomDungeonReward(rDungeonId, player.GetLevel());
if (reward == null)
@@ -1921,7 +1921,7 @@ namespace Game.Entities
Player player = user.ToPlayer();
player.SendLoot(GetGUID(), LootType.Fishinghole);
player.UpdateCriteria(CriteriaTypes.FishInGameobject, GetGoInfo().entry);
player.UpdateCriteria(CriteriaType.CatchFishInFishingHole, GetGoInfo().entry);
return;
}
+2 -2
View File
@@ -274,7 +274,7 @@ namespace Game.Entities
SetUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.Xp), currentXP);
owner.UpdateCriteria(CriteriaTypes.HeartOfAzerothArtifactPowerEarned, xp);
owner.UpdateCriteria(CriteriaType.EarnArtifactXPForAzeriteItem, xp);
// changing azerite level changes item level, need to update stats
if (m_azeriteItemData.Level != level)
@@ -284,7 +284,7 @@ namespace Game.Entities
SetUpdateFieldValue(m_values.ModifyValue(m_azeriteItemData).ModifyValue(m_azeriteItemData.Level), level);
UnlockDefaultMilestones();
owner.UpdateCriteria(CriteriaTypes.HeartOfAzerothLevelReached, level);
owner.UpdateCriteria(CriteriaType.AzeriteLevelReached, level);
if (IsEquipped())
owner._ApplyItemBonuses(this, GetSlot(), true);
@@ -728,13 +728,13 @@ namespace Game.Entities
{
int transmogSlot = Item.ItemTransmogrificationSlots[(int)item.inventoryType];
if (transmogSlot >= 0)
_owner.GetPlayer().UpdateCriteria(CriteriaTypes.AppearanceUnlockedBySlot, (ulong)transmogSlot, itemModifiedAppearance.Id);
_owner.GetPlayer().UpdateCriteria(CriteriaType.LearnAnyTransmogInSlot, (ulong)transmogSlot, itemModifiedAppearance.Id);
}
var sets = Global.DB2Mgr.GetTransmogSetsForItemModifiedAppearance(itemModifiedAppearance.Id);
foreach (TransmogSetRecord set in sets)
if (IsSetCompleted(set.Id))
_owner.GetPlayer().UpdateCriteria(CriteriaTypes.TransmogSetUnlocked, set.TransmogSetGroupID);
_owner.GetPlayer().UpdateCriteria(CriteriaType.CollectTransmogSetFromGroup, set.TransmogSetGroupID);
}
void AddTemporaryAppearance(ObjectGuid itemGuid, ItemModifiedAppearanceRecord itemModifiedAppearance)
+4 -4
View File
@@ -99,11 +99,11 @@ namespace Game.Entities
uint guildId = victim.GetMap().GetOwnerGuildId();
var guild = Global.GuildMgr.GetGuildById(guildId);
if (guild != null)
guild.UpdateCriteria(CriteriaTypes.KillCreature, victim.GetEntry(), 1, 0, victim, _killer);
guild.UpdateCriteria(CriteriaType.KillCreature, victim.GetEntry(), 1, 0, victim, _killer);
Scenario scenario = victim.GetScenario();
if (scenario != null)
scenario.UpdateCriteria(CriteriaTypes.KillCreature, victim.GetEntry(), 1, 0, victim, _killer);
scenario.UpdateCriteria(CriteriaType.KillCreature, victim.GetEntry(), 1, 0, victim, _killer);
}
}
@@ -208,7 +208,7 @@ namespace Game.Entities
if (target != null)
{
player.KilledMonster(target.GetCreatureTemplate(), target.GetGUID());
player.UpdateCriteria(CriteriaTypes.KillCreatureType, (ulong)target.GetCreatureType(), 1, 0, target);
player.UpdateCriteria(CriteriaType.KillAnyCreature, (ulong)target.GetCreatureType(), 1, 0, target);
}
}
}
@@ -271,7 +271,7 @@ namespace Game.Entities
if (_killer == member || member.IsAtGroupRewardDistance(_victim))
{
_RewardPlayer(member, isDungeon);
member.UpdateCriteria(CriteriaTypes.SpecialPvpKill, 1, 0, 0, _victim);
member.UpdateCriteria(CriteriaType.KillPlayer, 1, 0, 0, _victim);
}
}
}
@@ -66,7 +66,7 @@ namespace Game.Entities
m_questObjectiveCriteriaMgr.ResetCriteria(failEvent, failAsset, evenIfCriteriaComplete);
}
public void UpdateCriteria(CriteriaTypes type, ulong miscValue1 = 0, ulong miscValue2 = 0, ulong miscValue3 = 0, WorldObject refe = null)
public void UpdateCriteria(CriteriaType type, ulong miscValue1 = 0, ulong miscValue2 = 0, ulong miscValue3 = 0, WorldObject refe = null)
{
m_achievementSys.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, refe, this);
m_questObjectiveCriteriaMgr.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, refe, this);
+2 -2
View File
@@ -491,8 +491,8 @@ namespace Game.Entities
}
break;
case DuelCompleteType.Won:
UpdateCriteria(CriteriaTypes.LoseDuel, 1);
duel.opponent.UpdateCriteria(CriteriaTypes.WinDuel, 1);
UpdateCriteria(CriteriaType.LoseDuel, 1);
duel.opponent.UpdateCriteria(CriteriaType.WinDuel, 1);
// Credit for quest Death's Challenge
if (GetClass() == Class.Deathknight && duel.opponent.GetQuestStatus(12733) == QuestStatus.Incomplete)
+12 -12
View File
@@ -1268,8 +1268,8 @@ namespace Game.Entities
if (item != null)
{
ItemAddedQuestCheck(itemId, count);
UpdateCriteria(CriteriaTypes.ObtainAnyItem, itemId, count);
UpdateCriteria(CriteriaTypes.OwnItem, itemId, 1);
UpdateCriteria(CriteriaType.ObtainAnyItem, itemId, count);
UpdateCriteria(CriteriaType.AcquireItem, itemId, 1);
item.AddItemFlag(ItemFieldFlags.NewItem);
@@ -1539,7 +1539,7 @@ namespace Game.Entities
if (pItem != null)
{
ItemAddedQuestCheck(item, 1);
UpdateCriteria(CriteriaTypes.ObtainAnyItem, item, 1);
UpdateCriteria(CriteriaType.ObtainAnyItem, item, 1);
return EquipItem(pos, pItem, update);
}
@@ -1647,8 +1647,8 @@ namespace Game.Entities
CheckTitanGripPenalty();
// only for full equip instead adding to stack
UpdateCriteria(CriteriaTypes.EquipItem, pItem.GetEntry());
UpdateCriteria(CriteriaTypes.EquipItemInSlot, slot, pItem.GetEntry());
UpdateCriteria(CriteriaType.EquipItem, pItem.GetEntry());
UpdateCriteria(CriteriaType.EquipItemInSlot, slot, pItem.GetEntry());
UpdateAverageItemLevelEquipped();
@@ -1775,8 +1775,8 @@ namespace Game.Entities
if (slot == EquipmentSlot.MainHand || slot == EquipmentSlot.OffHand)
CheckTitanGripPenalty();
UpdateCriteria(CriteriaTypes.EquipItem, pItem.GetEntry());
UpdateCriteria(CriteriaTypes.EquipItemInSlot, slot, pItem.GetEntry());
UpdateCriteria(CriteriaType.EquipItem, pItem.GetEntry());
UpdateCriteria(CriteriaType.EquipItemInSlot, slot, pItem.GetEntry());
}
}
public void SendEquipError(InventoryResult msg, Item item1 = null, Item item2 = null, uint itemId = 0)
@@ -3423,7 +3423,7 @@ namespace Game.Entities
guild.AddGuildNews(GuildNews.ItemPurchased, GetGUID(), 0, item);
}
UpdateCriteria(CriteriaTypes.BoughtItemFromVendor, 1);
UpdateCriteria(CriteriaType.BuyItemsFromVendors, 1);
return true;
}
@@ -4238,7 +4238,7 @@ namespace Game.Entities
{
// update quest counters
ItemAddedQuestCheck(pItem.GetEntry(), pItem.GetCount());
UpdateCriteria(CriteriaTypes.ObtainAnyItem, pItem.GetEntry(), pItem.GetCount());
UpdateCriteria(CriteriaType.ObtainAnyItem, pItem.GetEntry(), pItem.GetCount());
// store item
Item pLastItem = StoreItem(dest, pItem, update);
@@ -5941,9 +5941,9 @@ namespace Game.Entities
if (aeResult == null)
{
SendNewItem(newitem, item.count, false, false, true);
UpdateCriteria(CriteriaTypes.LootItem, item.itemid, item.count);
UpdateCriteria(CriteriaTypes.LootType, item.itemid, item.count, (ulong)loot.loot_type);
UpdateCriteria(CriteriaTypes.LootAnyItem, item.itemid, item.count);
UpdateCriteria(CriteriaType.LootItem, item.itemid, item.count);
UpdateCriteria(CriteriaType.GetLootByType, item.itemid, item.count, (ulong)loot.loot_type);
UpdateCriteria(CriteriaType.LootAnyItem, item.itemid, item.count);
}
else
aeResult.Add(newitem, item.count, loot.loot_type);
+1 -1
View File
@@ -147,7 +147,7 @@ namespace Game.Entities
PushQuests();
UpdateCriteria(CriteriaTypes.TravelledToArea, newArea);
UpdateCriteria(CriteriaType.EnterTopLevelArea, newArea);
}
public void UpdateZone(uint newZone, uint newArea)
+6 -6
View File
@@ -139,11 +139,11 @@ namespace Game.Entities
ApplyModUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.TodayHonorableKills), (ushort)1, true);
// and those in a lifetime
ApplyModUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.LifetimeHonorableKills), 1u, true);
UpdateCriteria(CriteriaTypes.EarnHonorableKill);
UpdateCriteria(CriteriaTypes.HkClass, (uint)victim.GetClass());
UpdateCriteria(CriteriaTypes.HkRace, (uint)victim.GetRace());
UpdateCriteria(CriteriaTypes.HonorableKillAtArea, GetAreaId());
UpdateCriteria(CriteriaTypes.HonorableKill, 1, 0, 0, victim);
UpdateCriteria(CriteriaType.HonorableKills);
UpdateCriteria(CriteriaType.DeliverKillingBlowToClass, (uint)victim.GetClass());
UpdateCriteria(CriteriaType.DeliverKillingBlowToRace, (uint)victim.GetRace());
UpdateCriteria(CriteriaType.PVPKillInArea, GetAreaId());
UpdateCriteria(CriteriaType.EarnHonorableKill, 1, 0, 0, victim);
}
else
{
@@ -290,7 +290,7 @@ namespace Game.Entities
SetUpdateFieldValue(m_values.ModifyValue(m_playerData).ModifyValue(m_playerData.HonorLevel), level);
UpdateHonorNextLevel();
UpdateCriteria(CriteriaTypes.HonorLevelReached);
UpdateCriteria(CriteriaType.HonorLevelIncrease);
}
void UpdateHonorNextLevel()
+8 -8
View File
@@ -1056,7 +1056,7 @@ namespace Game.Entities
ModifyMoney(moneyRew);
if (moneyRew > 0)
UpdateCriteria(CriteriaTypes.MoneyFromQuestReward, (uint)(moneyRew));
UpdateCriteria(CriteriaType.MoneyEarnedFromQuesting, (uint)moneyRew);
}
// honor reward
@@ -1091,8 +1091,8 @@ namespace Game.Entities
SetDailyQuestStatus(questId);
if (quest.IsDaily())
{
UpdateCriteria(CriteriaTypes.CompleteDailyQuest, questId);
UpdateCriteria(CriteriaTypes.CompleteDailyQuestDaily, questId);
UpdateCriteria(CriteriaType.CompleteDailyQuest, questId);
UpdateCriteria(CriteriaType.CompleteAnyDailyQuestPerDay, questId);
}
}
else if (quest.IsWeekly())
@@ -1147,11 +1147,11 @@ namespace Game.Entities
}
if (quest.QuestSortID > 0)
UpdateCriteria(CriteriaTypes.CompleteQuestsInZone, quest.Id);
UpdateCriteria(CriteriaType.CompleteQuestsInZone, quest.Id);
UpdateCriteria(CriteriaTypes.CompleteQuestCount);
UpdateCriteria(CriteriaTypes.CompleteQuest, quest.Id);
UpdateCriteria(CriteriaTypes.CompleteQuestAccumulate, 1);
UpdateCriteria(CriteriaType.CompleteQuestsCount);
UpdateCriteria(CriteriaType.CompleteQuest, quest.Id);
UpdateCriteria(CriteriaType.CompleteAnyReplayQuest, 1);
// make full db save
SaveToDB(false);
@@ -2232,7 +2232,7 @@ namespace Game.Entities
}
StartCriteriaTimer(CriteriaStartEvent.KillNPC, real_entry); // MUST BE CALLED FIRST
UpdateCriteria(CriteriaTypes.KillCreature, real_entry, addKillCount, 0, killed);
UpdateCriteria(CriteriaType.KillCreature, real_entry, addKillCount, 0, killed);
UpdateQuestObjectiveProgress(QuestObjectiveType.Monster, (int)entry, 1, guid);
}
+9 -9
View File
@@ -436,7 +436,7 @@ namespace Game.Entities
}
UpdateSkillEnchantments(skillId, value, new_value);
UpdateCriteria(CriteriaTypes.ReachSkillLevel, skillId);
UpdateCriteria(CriteriaType.SkillRaised, skillId);
Log.outDebug(LogFilter.Player, "Player:UpdateSkillPro Chance={0:F3}% taken", chance / 10.0f);
return true;
}
@@ -1071,8 +1071,8 @@ namespace Game.Entities
if (newVal > currVal)
UpdateSkillEnchantments(id, currVal, (ushort)newVal);
UpdateCriteria(CriteriaTypes.ReachSkillLevel, id);
UpdateCriteria(CriteriaTypes.LearnSkillLevel, id);
UpdateCriteria(CriteriaType.SkillRaised, id);
UpdateCriteria(CriteriaType.AchieveSkillStep, id);
// update skill state
if (skillStatusData.State == SkillState.Unchanged)
@@ -1202,8 +1202,8 @@ namespace Game.Entities
if (newVal != 0)
{
UpdateCriteria(CriteriaTypes.ReachSkillLevel, id);
UpdateCriteria(CriteriaTypes.LearnSkillLevel, id);
UpdateCriteria(CriteriaType.SkillRaised, id);
UpdateCriteria(CriteriaType.AchieveSkillStep, id);
// temporary bonuses
foreach (var auraEffect in GetAuraEffectsByType(AuraType.ModSkill))
@@ -2636,11 +2636,11 @@ namespace Game.Entities
// not ranked skills
foreach (var _spell_idx in skill_bounds)
{
UpdateCriteria(CriteriaTypes.LearnSkillLine, _spell_idx.SkillLine);
UpdateCriteria(CriteriaTypes.LearnSkilllineSpells, _spell_idx.SkillLine);
UpdateCriteria(CriteriaType.LearnTradeskillSkillLine, _spell_idx.SkillLine);
UpdateCriteria(CriteriaType.LearnSpellFromSkillLine, _spell_idx.SkillLine);
}
UpdateCriteria(CriteriaTypes.LearnSpell, spellId);
UpdateCriteria(CriteriaType.LearnOrKnowSpell, spellId);
}
// needs to be when spell is already learned, to prevent infinite recursion crashes
@@ -2653,7 +2653,7 @@ namespace Game.Entities
if (entry.SummonSpellID == spellId && GetSession().GetBattlePetMgr().GetPetCount(entry.Id) == 0)
{
GetSession().GetBattlePetMgr().AddPet(entry.Id, entry.CreatureID, BattlePetMgr.RollPetBreed(entry.Id), BattlePetMgr.GetDefaultPetQuality(entry.Id));
UpdateCriteria(CriteriaTypes.OwnBattlePetCount);
UpdateCriteria(CriteriaType.UniquePetsOwned);
break;
}
}
@@ -535,8 +535,8 @@ namespace Game.Entities
if (!noCost)
{
ModifyMoney(-cost);
UpdateCriteria(CriteriaTypes.GoldSpentForTalents, cost);
UpdateCriteria(CriteriaTypes.NumberOfTalentResets, 1);
UpdateCriteria(CriteriaType.MoneySpentOnRespecs, cost);
UpdateCriteria(CriteriaType.TotalRespecs, 1);
SetTalentResetCost(cost);
SetTalentResetTime(GameTime.GetGameTime());
+14 -14
View File
@@ -653,9 +653,9 @@ namespace Game.Entities
InitializeSelfResurrectionSpells();
UpdateCriteria(CriteriaTypes.DeathAtMap, 1);
UpdateCriteria(CriteriaTypes.Death, 1);
UpdateCriteria(CriteriaTypes.DeathInDungeon, 1);
UpdateCriteria(CriteriaType.DieOnMap, 1);
UpdateCriteria(CriteriaType.DieAnywhere, 1);
UpdateCriteria(CriteriaType.DieInInstance, 1);
// reset all death criterias
ResetCriteria(CriteriaFailEvent.Death, 0);
@@ -1213,7 +1213,7 @@ namespace Game.Entities
playerCurrency.TrackedQuantity = (uint)newTrackedCount;
if (count > 0)
UpdateCriteria(CriteriaTypes.Currency, (uint)id, (uint)count);
UpdateCriteria(CriteriaType.CurrencyGained, (uint)id, (uint)count);
_currencyStorage[(uint)id] = playerCurrency;
@@ -2036,7 +2036,7 @@ namespace Game.Entities
// recheck alive, might have died of EnvironmentalDamage, avoid cases when player die in fact like Spirit of Redemption case
if (IsAlive() && final_damage < original_health)
UpdateCriteria(CriteriaTypes.FallWithoutDying, (uint)z_diff * 100);
UpdateCriteria(CriteriaType.MaxDistFallenWithoutDying, (uint)z_diff * 100);
}
//Z given by moveinfo, LastZ, FallTime, WaterZ, MapZ, Damage, Safefall reduction
@@ -2134,7 +2134,7 @@ namespace Game.Entities
m_summon_expire = 0;
UpdateCriteria(CriteriaTypes.AcceptedSummonings, 1);
UpdateCriteria(CriteriaType.AcceptSummon, 1);
RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags.Summon);
m_summon_location.SetOrientation(GetOrientation());
@@ -3980,7 +3980,7 @@ namespace Game.Entities
SendDurabilityLoss(this, 10);
}
UpdateCriteria(CriteriaTypes.DeathsFrom, 1, (ulong)type);
UpdateCriteria(CriteriaType.DieFromEnviromentalDamage, 1, (ulong)type);
}
return final_damage;
@@ -5106,7 +5106,7 @@ namespace Game.Entities
{
MoneyChanged((uint)value);
SetUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.Coinage), value);
UpdateCriteria(CriteriaTypes.HighestGoldValueOwned);
UpdateCriteria(CriteriaType.MostMoneyOwned);
}
//Target
@@ -5258,8 +5258,8 @@ namespace Game.Entities
DB.Characters.CommitTransaction(trans);
}
UpdateCriteria(CriteriaTypes.ReachLevel);
UpdateCriteria(CriteriaTypes.ActivelyReachLevel, level);
UpdateCriteria(CriteriaType.ReachLevel);
UpdateCriteria(CriteriaType.ActivelyReachLevel, level);
PushQuests();
@@ -6173,7 +6173,7 @@ namespace Game.Entities
{
SetUpdateFieldFlagValue(ref m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.ExploredZones, (int)offset), val);
UpdateCriteria(CriteriaTypes.ExploreArea, GetAreaId());
UpdateCriteria(CriteriaType.RevealWorldMapOverlay, GetAreaId());
var areaLevels = Global.DB2Mgr.GetContentTuningData(areaEntry.ContentTuningID, m_playerData.CtrOptions.GetValue().ContentTuningConditionMask);
if (areaLevels.HasValue)
@@ -6845,21 +6845,21 @@ namespace Game.Entities
}
//Checks and preparations done, DO FLIGHT
UpdateCriteria(CriteriaTypes.FlightPathsTaken, 1);
UpdateCriteria(CriteriaType.BuyTaxi, 1);
if (WorldConfig.GetBoolValue(WorldCfg.InstantTaxi))
{
var lastPathNode = CliDB.TaxiNodesStorage.LookupByKey(nodes[^1]);
m_taxi.ClearTaxiDestinations();
ModifyMoney(-totalcost);
UpdateCriteria(CriteriaTypes.GoldSpentForTravelling, totalcost);
UpdateCriteria(CriteriaType.MoneySpentOnTaxis, totalcost);
TeleportTo(lastPathNode.ContinentID, lastPathNode.Pos.X, lastPathNode.Pos.Y, lastPathNode.Pos.Z, GetOrientation());
return false;
}
else
{
ModifyMoney(-firstcost);
UpdateCriteria(CriteriaTypes.GoldSpentForTravelling, firstcost);
UpdateCriteria(CriteriaType.MoneySpentOnTaxis, firstcost);
GetSession().SendActivateTaxiReply();
GetSession().SendDoFlight(mount_display_id, sourcepath);
}
+3 -3
View File
@@ -843,7 +843,7 @@ namespace Game.Entities
{
Player killerPlayer = attacker.GetCharmerOrOwnerPlayerOrPlayerItself();
if (killerPlayer != null)
killerPlayer.UpdateCriteria(CriteriaTypes.GetKillingBlows, 1, 0, 0, victim);
killerPlayer.UpdateCriteria(CriteriaType.DeliveredKillingBlow, 1, 0, 0, victim);
}
if (!skipSettingDeathState)
@@ -983,9 +983,9 @@ namespace Game.Entities
if (attacker != null && victim.IsPlayer())
{
if (attacker.IsCreature())
victim.ToPlayer().UpdateCriteria(CriteriaTypes.KilledByCreature, attacker.GetEntry());
victim.ToPlayer().UpdateCriteria(CriteriaType.KilledByCreature, attacker.GetEntry());
else if (attacker.IsPlayer() && victim != attacker)
victim.ToPlayer().UpdateCriteria(CriteriaTypes.KilledByPlayer, 1, (ulong)attacker.ToPlayer().GetTeam());
victim.ToPlayer().UpdateCriteria(CriteriaType.KilledByPlayer, 1, (ulong)attacker.ToPlayer().GetTeam());
}
// Hook for OnPVPKill Event
+4 -4
View File
@@ -1813,17 +1813,17 @@ namespace Game.Entities
// use the actual gain, as the overheal shall not be counted, skip gain 0 (it ignored anyway in to criteria)
if (gain != 0)
bgPlayer.UpdateCriteria(CriteriaTypes.HealingDone, (uint)gain, 0, 0, victim);
bgPlayer.UpdateCriteria(CriteriaType.HealingDone, (uint)gain, 0, 0, victim);
bgPlayer.UpdateCriteria(CriteriaTypes.HighestHealCasted, addhealth);
bgPlayer.UpdateCriteria(CriteriaType.HighestHealCast, addhealth);
}
}
Player player = victim.ToPlayer();
if (player != null)
{
player.UpdateCriteria(CriteriaTypes.TotalHealingReceived, (uint)gain);
player.UpdateCriteria(CriteriaTypes.HighestHealingReceived, addhealth);
player.UpdateCriteria(CriteriaType.TotalHealReceived, (uint)gain);
player.UpdateCriteria(CriteriaType.HighestHealReceived, addhealth);
}
if (gain != 0)
+5 -5
View File
@@ -2402,13 +2402,13 @@ namespace Game.Entities
bg.UpdatePlayerScore(killer, ScoreType.DamageDone, damage);
}
killer.UpdateCriteria(CriteriaTypes.DamageDone, health > damage ? damage : health, 0, 0, victim);
killer.UpdateCriteria(CriteriaTypes.HighestHitDealt, damage);
killer.UpdateCriteria(CriteriaType.DamageDealt, health > damage ? damage : health, 0, 0, victim);
killer.UpdateCriteria(CriteriaType.HighestDamageDone, damage);
}
}
if (victim.IsPlayer())
victim.ToPlayer().UpdateCriteria(CriteriaTypes.HighestHitReceived, damage);
victim.ToPlayer().UpdateCriteria(CriteriaType.HighestDamageTaken, damage);
if (attacker != null)
damage = (uint)(damage / victim.GetHealthMultiplierForTarget(attacker));
@@ -2430,7 +2430,7 @@ namespace Game.Entities
killed = true;
if (victim.IsPlayer() && victim != attacker)
victim.ToPlayer().UpdateCriteria(CriteriaTypes.TotalDamageReceived, health);
victim.ToPlayer().UpdateCriteria(CriteriaType.TotalDamageTaken, health);
if (damagetype != DamageEffectType.NoDamage && damagetype != DamageEffectType.Self && victim.HasAuraType(AuraType.SchoolAbsorbOverkill))
{
@@ -2499,7 +2499,7 @@ namespace Game.Entities
else
{
if (victim.IsTypeId(TypeId.Player))
victim.ToPlayer().UpdateCriteria(CriteriaTypes.TotalDamageReceived, damage);
victim.ToPlayer().UpdateCriteria(CriteriaType.TotalDamageTaken, damage);
victim.ModifyHealth(-(int)damage);
+3 -3
View File
@@ -397,7 +397,7 @@ namespace Game.Garrisons
_owner.SendPacket(buildingRemoved);
}
_owner.UpdateCriteria(CriteriaTypes.PlaceGarrisonBuilding, garrBuildingId);
_owner.UpdateCriteria(CriteriaType.PlaceGarrisonBuilding, garrBuildingId);
}
_owner.SendPacket(placeBuildingResult);
@@ -477,7 +477,7 @@ namespace Game.Garrisons
buildingActivated.GarrPlotInstanceID = garrPlotInstanceId;
_owner.SendPacket(buildingActivated);
_owner.UpdateCriteria(CriteriaTypes.UpgradeGarrisonBuilding, plot.BuildingInfo.PacketInfo.Value.GarrBuildingID);
_owner.UpdateCriteria(CriteriaType.ActivateAnyGarrisonBuilding, plot.BuildingInfo.PacketInfo.Value.GarrBuildingID);
}
}
}
@@ -514,7 +514,7 @@ namespace Game.Garrisons
addFollowerResult.Follower = follower.PacketInfo;
_owner.SendPacket(addFollowerResult);
_owner.UpdateCriteria(CriteriaTypes.RecruitGarrisonFollower, follower.PacketInfo.DbID);
_owner.UpdateCriteria(CriteriaType.RecruitGarrisonFollower, follower.PacketInfo.DbID);
}
public Follower GetFollower(ulong dbId)
+3 -3
View File
@@ -1174,7 +1174,7 @@ namespace Game.Groups
if (player && player.GetSession())
{
player.UpdateCriteria(CriteriaTypes.RollNeedOnLoot, roll.itemid, maxresul);
player.UpdateCriteria(CriteriaType.RollNeed, roll.itemid, maxresul);
List<ItemPosCount> dest = new();
LootItem item = (roll.itemSlot >= roll.GetLoot().items.Count ? roll.GetLoot().quest_items[roll.itemSlot - roll.GetLoot().items.Count] : roll.GetLoot().items[roll.itemSlot]);
@@ -1237,7 +1237,7 @@ namespace Game.Groups
if (player && player.GetSession() != null)
{
player.UpdateCriteria(CriteriaTypes.RollGreedOnLoot, roll.itemid, maxresul);
player.UpdateCriteria(CriteriaType.RollGreed, roll.itemid, maxresul);
LootItem item = roll.itemSlot >= roll.GetLoot().items.Count ? roll.GetLoot().quest_items[roll.itemSlot - roll.GetLoot().items.Count] : roll.GetLoot().items[roll.itemSlot];
@@ -1264,7 +1264,7 @@ namespace Game.Groups
item.is_looted = true;
roll.GetLoot().NotifyItemRemoved(roll.itemSlot);
roll.GetLoot().unlootedCount--;
player.UpdateCriteria(CriteriaTypes.CastSpell, 13262); // Disenchant
player.UpdateCriteria(CriteriaType.CastSpell, 13262); // Disenchant
ItemDisenchantLootRecord disenchant = roll.GetItemDisenchantLoot(player);
+1 -1
View File
@@ -2331,7 +2331,7 @@ namespace Game.Guilds
return m_achievementSys.HasAchieved(achievementId);
}
public void UpdateCriteria(CriteriaTypes type, ulong miscValue1, ulong miscValue2, ulong miscValue3, WorldObject refe, Player player)
public void UpdateCriteria(CriteriaType type, ulong miscValue1, ulong miscValue2, ulong miscValue3, WorldObject refe, Player player)
{
m_achievementSys.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, refe, player);
}
+4 -4
View File
@@ -137,7 +137,7 @@ namespace Game
{
if (success)
{
GetPlayer().UpdateCriteria(CriteriaTypes.WonAuctions, 1);
GetPlayer().UpdateCriteria(CriteriaType.AuctionsWon, 1);
SendAuctionCommandResult(0, AuctionCommand.PlaceBid, AuctionResult.Ok, throttle.DelayUntilNext);
}
else
@@ -435,7 +435,7 @@ namespace Game
{
if (success)
{
GetPlayer().UpdateCriteria(CriteriaTypes.HighestAuctionBid, placeBid.BidAmount);
GetPlayer().UpdateCriteria(CriteriaType.HighestAuctionBid, placeBid.BidAmount);
SendAuctionCommandResult(placeBid.AuctionID, AuctionCommand.PlaceBid, AuctionResult.Ok, throttle.DelayUntilNext);
}
else
@@ -740,7 +740,7 @@ namespace Game
{
if (success)
{
GetPlayer().UpdateCriteria(CriteriaTypes.CreateAuction, 1);
GetPlayer().UpdateCriteria(CriteriaType.ItemsPostedAtAuction, 1);
SendAuctionCommandResult(auctionId, AuctionCommand.SellItem, AuctionResult.Ok, throttle.DelayUntilNext);
}
else
@@ -886,7 +886,7 @@ namespace Game
{
if (success)
{
GetPlayer().UpdateCriteria(CriteriaTypes.CreateAuction, 1);
GetPlayer().UpdateCriteria(CriteriaType.ItemsPostedAtAuction, 1);
SendAuctionCommandResult(auctionId, AuctionCommand.SellItem, AuctionResult.Ok, throttle.DelayUntilNext);
}
else
+1 -1
View File
@@ -140,7 +140,7 @@ namespace Game
GetPlayer().SetBankBagSlotCount((byte)slot);
GetPlayer().ModifyMoney(-price);
GetPlayer().UpdateCriteria(CriteriaTypes.BuyBankSlot);
GetPlayer().UpdateCriteria(CriteriaType.BankSlotsPurchased);
}
public void SendShowBank(ObjectGuid guid)
+5 -2
View File
@@ -1033,6 +1033,9 @@ namespace Game
m_playerLoading.Clear();
// Handle Login-Achievements (should be handled after loading)
_player.UpdateCriteria(CriteriaType.Login, 1);
Global.ScriptMgr.OnPlayerLogin(pCurrChar);
}
@@ -1357,7 +1360,7 @@ namespace Game
SendPacket(new BarberShopResult(BarberShopResult.ResultEnum.Success));
_player.ModifyMoney(-cost);
_player.UpdateCriteria(CriteriaTypes.GoldSpentAtBarber, (ulong)cost);
_player.UpdateCriteria(CriteriaType.MoneySpentAtBarberShop, (ulong)cost);
if (_player.GetNativeSex() != (Gender)packet.NewSex)
{
@@ -1368,7 +1371,7 @@ namespace Game
_player.SetCustomizations(packet.Customizations);
_player.UpdateCriteria(CriteriaTypes.VisitBarberShop, 1);
_player.UpdateCriteria(CriteriaType.GotHaircut, 1);
_player.SetStandState(UnitStandStateType.Stand);
+1 -1
View File
@@ -593,7 +593,7 @@ namespace Game
Unit unit = Global.ObjAccessor.GetUnit(GetPlayer(), packet.Target);
GetPlayer().UpdateCriteria(CriteriaTypes.DoEmote, (uint)packet.EmoteID, 0, 0, unit);
GetPlayer().UpdateCriteria(CriteriaType.DoEmote, (uint)packet.EmoteID, 0, 0, unit);
// Send scripted event call
if (unit)
+2 -2
View File
@@ -394,10 +394,10 @@ namespace Game
switch (packet.RollType)
{
case RollType.Need:
GetPlayer().UpdateCriteria(CriteriaTypes.RollNeed, 1);
GetPlayer().UpdateCriteria(CriteriaType.RollAnyNeed, 1);
break;
case RollType.Greed:
GetPlayer().UpdateCriteria(CriteriaTypes.RollGreed, 1);
GetPlayer().UpdateCriteria(CriteriaType.RollAnyGreed, 1);
break;
}
}
+3 -3
View File
@@ -450,8 +450,8 @@ namespace Game
return;
}
_player.UpdateCriteria(CriteriaTypes.MoneyFromVendors, money);
_player.UpdateCriteria(CriteriaTypes.SoldItemToVendor, 1);
_player.UpdateCriteria(CriteriaType.MoneyEarnedFromSales, money);
_player.UpdateCriteria(CriteriaType.SellItemsToVendors, 1);
if (packet.Amount < pItem.GetCount()) // need split items
{
@@ -1062,7 +1062,7 @@ namespace Game
if (entry != null)
{
GetBattlePetMgr().AddPet(entry.Id, entry.CreatureID, BattlePetMgr.RollPetBreed(entry.Id), BattlePetMgr.GetDefaultPetQuality(entry.Id));
_player.UpdateCriteria(CriteriaTypes.OwnBattlePetCount);
_player.UpdateCriteria(CriteriaType.UniquePetsOwned);
}
GetPlayer().DestroyItem(item.GetBagSlot(), item.GetSlot(), true);
+8 -8
View File
@@ -104,9 +104,9 @@ namespace Game
foreach (var resultValue in aeResult.GetByOrder())
{
player.SendNewItem(resultValue.item, resultValue.count, false, false, true);
player.UpdateCriteria(CriteriaTypes.LootItem, resultValue.item.GetEntry(), resultValue.count);
player.UpdateCriteria(CriteriaTypes.LootType, resultValue.item.GetEntry(), resultValue.count, (ulong)resultValue.lootType);
player.UpdateCriteria(CriteriaTypes.LootAnyItem, resultValue.item.GetEntry(), resultValue.count);
player.UpdateCriteria(CriteriaType.LootItem, resultValue.item.GetEntry(), resultValue.count);
player.UpdateCriteria(CriteriaType.GetLootByType, resultValue.item.GetEntry(), resultValue.count, (ulong)resultValue.lootType);
player.UpdateCriteria(CriteriaType.LootAnyItem, resultValue.item.GetEntry(), resultValue.count);
}
}
}
@@ -202,7 +202,7 @@ namespace Game
ulong goldMod = MathFunctions.CalculatePct(goldPerPlayer, pl.GetTotalAuraModifierByMiscValue(AuraType.ModMoneyGain, 1));
pl.ModifyMoney((long)(goldPerPlayer + goldMod));
pl.UpdateCriteria(CriteriaTypes.LootMoney, goldPerPlayer);
pl.UpdateCriteria(CriteriaType.MoneyLootedFromCreatures, goldPerPlayer);
LootMoneyNotify packet = new();
packet.Money = goldPerPlayer;
@@ -216,7 +216,7 @@ namespace Game
ulong goldMod = MathFunctions.CalculatePct(loot.gold, player.GetTotalAuraModifierByMiscValue(AuraType.ModMoneyGain, 1));
player.ModifyMoney((long)(loot.gold + goldMod));
player.UpdateCriteria(CriteriaTypes.LootMoney, loot.gold);
player.UpdateCriteria(CriteriaType.MoneyLootedFromCreatures, loot.gold);
LootMoneyNotify packet = new();
packet.Money = loot.gold;
@@ -551,9 +551,9 @@ namespace Game
foreach (var resultValue in aeResult.GetByOrder())
{
target.SendNewItem(resultValue.item, resultValue.count, false, false, true);
target.UpdateCriteria(CriteriaTypes.LootItem, resultValue.item.GetEntry(), resultValue.count);
target.UpdateCriteria(CriteriaTypes.LootType, resultValue.item.GetEntry(), resultValue.count, (ulong)resultValue.lootType);
target.UpdateCriteria(CriteriaTypes.LootAnyItem, resultValue.item.GetEntry(), resultValue.count);
target.UpdateCriteria(CriteriaType.LootItem, resultValue.item.GetEntry(), resultValue.count);
target.UpdateCriteria(CriteriaType.GetLootByType, resultValue.item.GetEntry(), resultValue.count, (ulong)resultValue.lootType);
target.UpdateCriteria(CriteriaType.LootAnyItem, resultValue.item.GetEntry(), resultValue.count);
}
}
+1 -1
View File
@@ -266,7 +266,7 @@ namespace Game
player.SendMailResult(0, MailResponseType.Send, MailResponseResult.Ok);
player.ModifyMoney(-reqmoney);
player.UpdateCriteria(CriteriaTypes.GoldSpentForMail, cost);
player.UpdateCriteria(CriteriaType.MoneySpentOnPostage, cost);
bool needItemDelay = false;
+1 -1
View File
@@ -472,7 +472,7 @@ namespace Game
GetPlayer().SetQuestSlot(packet.Entry, 0);
GetPlayer().UpdateCriteria(CriteriaTypes.QuestAbandoned, 1);
GetPlayer().UpdateCriteria(CriteriaType.AbandonAnyQuest, 1);
}
}
+1 -1
View File
@@ -264,7 +264,7 @@ namespace Game
if (go.GetAI().GossipHello(GetPlayer()))
return;
GetPlayer().UpdateCriteria(CriteriaTypes.UseGameobject, go.GetEntry());
GetPlayer().UpdateCriteria(CriteriaType.UseGameobject, go.GetEntry());
}
}
+1 -1
View File
@@ -605,7 +605,7 @@ namespace Game.Maps
}
// Update Achievement Criteria for all players in instance
public void DoUpdateCriteria(CriteriaTypes type, uint miscValue1 = 0, uint miscValue2 = 0, Unit unit = null)
public void DoUpdateCriteria(CriteriaType type, uint miscValue1 = 0, uint miscValue2 = 0, Unit unit = null)
{
var PlayerList = instance.GetPlayers();
@@ -157,7 +157,7 @@ namespace Game.Movement
player.m_taxi.NextTaxiDestination();
if (!_pointsForPathSwitch.Empty())
{
player.UpdateCriteria(CriteriaTypes.GoldSpentForTravelling, (uint)_pointsForPathSwitch[0].Cost);
player.UpdateCriteria(CriteriaType.MoneySpentOnTaxis, (uint)_pointsForPathSwitch[0].Cost);
player.ModifyMoney(-_pointsForPathSwitch[0].Cost);
}
}
@@ -36,7 +36,7 @@ namespace Game
public void CheckAllQuestObjectiveCriteria(Player referencePlayer)
{
// suppress sending packets
for (CriteriaTypes i = 0; i < CriteriaTypes.TotalTypes; ++i)
for (CriteriaType i = 0; i < CriteriaType.Count; ++i)
UpdateCriteria(i, 0, 0, 0, null, referencePlayer);
}
@@ -329,7 +329,7 @@ namespace Game
return $"{_owner.GetGUID()} {_owner.GetName()}";
}
public override List<Criteria> GetCriteriaByType(CriteriaTypes type, uint asset)
public override List<Criteria> GetCriteriaByType(CriteriaType type, uint asset)
{
return Global.CriteriaMgr.GetQuestObjectiveCriteriaByType(type);
}
+5 -5
View File
@@ -473,11 +473,11 @@ namespace Game
if (factionEntry.FriendshipRepID == 0 && paragonReputation == null)
UpdateRankCounters(old_rank, new_rank);
_player.UpdateCriteria(CriteriaTypes.KnownFactions, factionEntry.Id);
_player.UpdateCriteria(CriteriaTypes.GainReputation, factionEntry.Id);
_player.UpdateCriteria(CriteriaTypes.GainExaltedReputation, factionEntry.Id);
_player.UpdateCriteria(CriteriaTypes.GainReveredReputation, factionEntry.Id);
_player.UpdateCriteria(CriteriaTypes.GainHonoredReputation, factionEntry.Id);
_player.UpdateCriteria(CriteriaType.TotalFactionsEncountered, factionEntry.Id);
_player.UpdateCriteria(CriteriaType.ReputationGained, factionEntry.Id);
_player.UpdateCriteria(CriteriaType.TotalExaltedFactions, factionEntry.Id);
_player.UpdateCriteria(CriteriaType.TotalReveredFactions, factionEntry.Id);
_player.UpdateCriteria(CriteriaType.TotalHonoredFactions, factionEntry.Id);
return true;
}
+2 -2
View File
@@ -66,7 +66,7 @@ namespace Game.Scenarios
switch (criteria.Entry.Type)
{
// Blizzard only appears to store creature kills
case CriteriaTypes.KillCreature:
case CriteriaType.KillCreature:
break;
default:
continue;
@@ -130,7 +130,7 @@ namespace Game.Scenarios
switch (criteria.Entry.Type)
{
// Blizzard appears to only stores creatures killed progress for unknown reasons. Either technical shortcoming or intentional
case CriteriaTypes.KillCreature:
case CriteriaType.KillCreature:
break;
default:
continue;
+1 -1
View File
@@ -341,7 +341,7 @@ namespace Game.Scenarios
return criteriasProgress;
}
public override List<Criteria> GetCriteriaByType(CriteriaTypes type, uint asset)
public override List<Criteria> GetCriteriaByType(CriteriaType type, uint asset)
{
return Global.CriteriaMgr.GetScenarioCriteriaByType(type);
}
+5 -5
View File
@@ -1897,15 +1897,15 @@ namespace Game.Spells
if (player != null)
{
player.StartCriteriaTimer(CriteriaStartEvent.BeSpellTarget, m_spellInfo.Id);
player.UpdateCriteria(CriteriaTypes.BeSpellTarget, m_spellInfo.Id, 0, 0, m_caster);
player.UpdateCriteria(CriteriaTypes.BeSpellTarget2, m_spellInfo.Id);
player.UpdateCriteria(CriteriaType.BeSpellTarget, m_spellInfo.Id, 0, 0, m_caster);
player.UpdateCriteria(CriteriaType.GainAura, m_spellInfo.Id);
}
Player casterPlayer = m_caster.ToPlayer();
if (casterPlayer)
{
casterPlayer.StartCriteriaTimer(CriteriaStartEvent.CastSpell, m_spellInfo.Id);
casterPlayer.UpdateCriteria(CriteriaTypes.CastSpell2, m_spellInfo.Id, 0, 0, unit);
casterPlayer.UpdateCriteria(CriteriaType.LandTargetedSpellOnTarget, m_spellInfo.Id, 0, 0, unit);
}
if (m_caster != unit)
@@ -2648,10 +2648,10 @@ namespace Game.Spells
if (!Convert.ToBoolean(_triggeredCastFlags & TriggerCastFlags.IgnoreCastItem) && m_CastItem != null)
{
player.StartCriteriaTimer(CriteriaStartEvent.UseItem, m_CastItem.GetEntry());
player.UpdateCriteria(CriteriaTypes.UseItem, m_CastItem.GetEntry());
player.UpdateCriteria(CriteriaType.UseItem, m_CastItem.GetEntry());
}
player.UpdateCriteria(CriteriaTypes.CastSpell, m_spellInfo.Id);
player.UpdateCriteria(CriteriaType.CastSpell, m_spellInfo.Id);
}
Item targetItem = m_targets.GetItemTarget();