[7391] Prevent achievement counter overflow, implement ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE generic support.

Before overflow has been possible at 4294967295 lols for example.

    ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE in many cases require check special conditions and targets.
    For this allow call it from scripts:
    * Add Player::UpdateAchievementCriteria functiona ccessable from scripts
    * In emote case it allowed call in form player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE, text_emote_id, achievement_id, target_unit_ptr);

Author: VladimirMangos

--HG--
branch : trunk
This commit is contained in:
megamage
2009-03-06 18:14:05 -06:00
parent 7915fd768a
commit c2261e3502
7 changed files with 78 additions and 41 deletions
+2 -1
View File
@@ -359,7 +359,8 @@ struct AchievementCriteriaEntry
// TODO: where is the information about the target stored?
struct
{
uint32 emoteID; // 3
uint32 emoteID; // 3 enum TextEmotes
uint32 count; // 4 count of emotes, always required special target or requirements
} do_emote;
// ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE = 13
// ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE = 55
+1 -1
View File
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "7389"
#define REVISION_NR "7391"
#endif // __REVISION_NR_H__