Hello,
i’m trying to figure out how to get character raid progression (bosses killed, raids visited). I know that i previously was able to do it via the character_achievement table (search for specific achievements which correspond to the “Boss kills on mode”, but now i’m not able to find those there.
Is there a way to get this data from the database?
You could just go to access_requirement and set requiredachievement as the achievement ID for finishing the instance.
In both branches its still in character_achievement_progress
@Shauren thank you, i guess i just messed something when tried to work with the data in that table. Will try to create new character =D Again, thank you for response
@Shauren hey, just one more question about the DB2 structure and criteria walkthrough. In the Criteria.db2 we have all the fields mentioned in the DB2Structure.h, however i cant understand where is this union comes from
struct CriteriaEntry
{
uint32 ID;
union AssetNameAlias
{
uint32 ID;
// CRITERIA_TYPE_KILL_CREATURE = 0
// CRITERIA_TYPE_KILLED_BY_CREATURE = 20
uint32 CreatureID;
// CRITERIA_TYPE_WIN_BG = 1
// CRITERIA_TYPE_COMPLETE_BATTLEGROUND = 15
// CRITERIA_TYPE_DEATH_AT_MAP = 16
// CRITERIA_TYPE_WIN_ARENA = 32
// CRITERIA_TYPE_PLAY_ARENA = 33
uint32 MapID;
// CRITERIA_TYPE_REACH_SKILL_LEVEL = 7
// CRITERIA_TYPE_LEARN_SKILL_LEVEL = 40
// CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS = 75
// CRITERIA_TYPE_LEARN_SKILL_LINE = 112
uint32 SkillID;
// CRITERIA_TYPE_COMPLETE_ACHIEVEMENT = 8
uint32 AchievementID;
// CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE = 11
uint32 ZoneID;
// CRITERIA_TYPE_CURRENCY = 12
uint32 CurrencyID;
// CRITERIA_TYPE_DEATH_IN_DUNGEON = 18
// CRITERIA_TYPE_COMPLETE_RAID = 19
uint32 GroupSize;
// CRITERIA_TYPE_DEATHS_FROM = 26
uint32 DamageType;
// CRITERIA_TYPE_COMPLETE_QUEST = 27
uint32 QuestID;
// CRITERIA_TYPE_BE_SPELL_TARGET = 28
// CRITERIA_TYPE_BE_SPELL_TARGET2 = 69
// CRITERIA_TYPE_CAST_SPELL = 29
// CRITERIA_TYPE_CAST_SPELL2 = 110
// CRITERIA_TYPE_LEARN_SPELL = 34
uint32 SpellID;
// CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE
uint32 ObjectiveId;
// CRITERIA_TYPE_HONORABLE_KILL_AT_AREA = 31
// CRITERIA_TYPE_ENTER_AREA = 163
// CRITERIA_TYPE_LEAVE_AREA = 164
uint32 AreaID;
// CRITERIA_TYPE_OWN_ITEM = 36
// CRITERIA_TYPE_USE_ITEM = 41
// CRITERIA_TYPE_LOOT_ITEM = 42
// CRITERIA_TYPE_EQUIP_ITEM = 57
// CRITERIA_TYPE_OWN_TOY = 185
uint32 ItemID;
// CRITERIA_TYPE_HIGHEST_TEAM_RATING = 38
// CRITERIA_TYPE_REACH_TEAM_RATING = 39
// CRITERIA_TYPE_HIGHEST_PERSONAL_RATING = 39
uint32 TeamType;
// CRITERIA_TYPE_EXPLORE_AREA = 43
uint32 WorldMapOverlayID;
// CRITERIA_TYPE_GAIN_REPUTATION = 46
uint32 FactionID;
// CRITERIA_TYPE_EQUIP_EPIC_ITEM = 49
uint32 ItemSlot;
// CRITERIA_TYPE_ROLL_NEED_ON_LOOT = 50
// CRITERIA_TYPE_ROLL_GREED_ON_LOOT = 51
uint32 RollValue;
// CRITERIA_TYPE_HK_CLASS = 52
uint32 ClassID;
// CRITERIA_TYPE_HK_RACE = 53
uint32 RaceID;
// CRITERIA_TYPE_DO_EMOTE = 54
uint32 EmoteID;
// CRITERIA_TYPE_USE_GAMEOBJECT = 68
// CRITERIA_TYPE_FISH_IN_GAMEOBJECT = 72
uint32 GameObjectID;
// CRITERIA_TYPE_HIGHEST_POWER = 96
uint32 PowerType;
// CRITERIA_TYPE_HIGHEST_STAT = 97
uint32 StatType;
// CRITERIA_TYPE_HIGHEST_SPELLPOWER = 98
uint32 SpellSchool;
// CRITERIA_TYPE_LOOT_TYPE = 109
uint32 LootType;
// CRITERIA_TYPE_COMPLETE_DUNGEON_ENCOUNTER = 165
uint32 DungeonEncounterID;
// CRITERIA_TYPE_CONSTRUCT_GARRISON_BUILDING = 169
uint32 GarrBuildingID;
// CRITERIA_TYPE_UPGRADE_GARRISON = 170
uint32 GarrisonLevel;
// CRITERIA_TYPE_COMPLETE_GARRISON_MISSION = 174
uint32 GarrMissionID;
// CRITERIA_TYPE_COMPLETE_GARRISON_SHIPMENT = 182
uint32 CharShipmentContainerID;
} Asset;
uint32 StartAsset;
uint32 FailAsset;
uint16 StartTimer;
uint16 ModifierTreeId;
uint16 EligibilityWorldStateID;
uint8 Type;
uint8 StartEvent;
uint8 FailEvent;
uint8 Flags;
uint8 EligibilityWorldStateValue;
};
I kinda got the idea on how to retrieve the criteria from criteria tree, however, asset in the DB2 points to the NPC, what is the Asset (AssetNameAlias) and how it is formed?
That union is just name aliases for the same value - its made this way to make code using it clearer