Commit graph

84 commits

Author SHA1 Message Date
VladimirMangos
35970244e5 [7692] Implement ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE and reimplement ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS.
Also correctly set this criteria at login.
2009-04-20 23:16:07 +04:00
Trazom
6c62fe750c [7683] Fixed update ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST for daily quests.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-04-18 00:10:59 +04:00
Trazom
718185cf8e [7682] Implement support ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-04-17 23:41:48 +04:00
Trazom
5c660c844f [7653] Implement ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE
Correct complete if ACHIEVEMENT_FLAG_SUMM set

Signed-off-by: DiSlord <dislord@nomail.com>
2009-04-12 02:49:17 +04:00
Triply
4ec75c7c9e [7639] Correctly fixed error spam, revert [7637]. Thx to vladimir
Signed-off-by: Triply <triply@getmangos.com>
2009-04-08 19:10:47 +02:00
rastikzzz
3f0bef7a32 [7637] Prevent console spam - FATAL: Unknown arena team type %u for some arena team.
Signed-off-by: Triply <triply@getmangos.com>
2009-04-08 18:18:03 +02:00
VladimirMangos
863a747251 [7633] Implement support multiply basic requirements for crireria in achievement_criteria_data.
Also implement additional basic requirements for proper implementing checks for ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE
Req. DB support.
2009-04-08 04:20:26 +04:00
VladimirMangos
5c7b3e1f50 [7628] Implement .reload for static achievement tables. 2009-04-07 03:11:11 +04:00
VladimirMangos
7d06858866 [7627] Replace built-in in code table by new DB table achievement_criteria_data for store additional data for achievement criteria.
Required DB support.
2009-04-06 23:02:20 +04:00
DiSlord
0f23722eb8 [7619] Work under Achievement and AchievementCriteriaCompletion Flags
Remove wrong (not fully correct) check in IsCompletedAchievement

Signed-off-by: DiSlord <dislord@nomail.com>
2009-04-05 19:43:14 +04:00
freghar
0fc68c5e1e [7609] Trailing whitespace cleaning
Here we are again! "git diff --check" !!

Signed-off-by: freghar <compmancz@gmail.com>
2009-04-03 16:46:39 +02:00
VladimirMangos
99fe98169a [7608] Implement ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT. 2009-04-03 07:01:17 +04:00
VladimirMangos
0c2f74bb02 [7607] Improvements in support some generic achievement classes
* Implement support achievements with refAchievement field != 0, that have criterias stored in achievement refAchievement.
* Implement support achievement complete req. with specific count of completed critirias.
* Avoid full achievement list scan at search achievement associated with criteria.
2009-04-03 04:56:45 +04:00
VladimirMangos
7118b937f2 [7590] Prevent send achievement packets at login.
For speed (player not in world and grid broadcast not work anyway)
and correctness (guild members don't must be spammed)
2009-03-30 13:07:33 +04:00
VladimirMangos
e65dc5747f [7575] Avoid unrelated skill search at ACHIEVEMENT_CRITERIA_TYPE_*_SKILL_LEVEL update 2009-03-28 23:45:23 +03:00
Trazom
f0ebade751 [7573] Implement ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-03-28 22:40:38 +03:00
VladimirMangos
b768401438 [7553] Fixed character save/creating. 2009-03-27 06:02:07 +03:00
VladimirMangos
c4d4bb5620 [7552] Move client version dependend DBC code to src/game. 2009-03-27 01:59:26 +03:00
VladimirMangos
18ec7c8011 [7547] Improvments in reputation achievements implememtaion.
* Speedup achievement checks at reputation updates.
* Implement
  - ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION
  - ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION
  - ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS
2009-03-26 20:38:19 +03:00
DonTomika
ff0c31e103 [7545] Fixed exploration achievements for certian areas 2009-03-26 17:06:46 +01:00
VladimirMangos
c33eff13f4 [7540] Move most reputation/force faction reaction code to new ReputationMgr. 2009-03-26 11:28:56 +03:00
AlexDereka
ef014420a5 [7539] Fixed log output 2009-03-26 00:39:10 +03:00
VladimirMangos
df9caf58cd [7538] Hide some implementation details for reputation/forced faction reaction. 2009-03-25 21:28:04 +03:00
VladimirMangos
59b7d05e8d [7534] Fixed some problems in achievement messages broadcasting.
* Send SMSG_CRITERIA_UPDATE to player itself only. This will fix bug when, for example near player death
  owerwrite another player death count in statistics until next death or relogin.
* Send to near player  CHAT_MSG_ACHIEVEMENT instead CHAT_MSG_GUILD_ACHIEVEMENT
* Not send CHAT_MSG_GUILD_ACHIEVEMENT to player itself.
* Limit around broadcast of SMSG_ACHIEVEMENT_EARNED to CONFIG_LISTEN_RANGE_SAY (same as for CHAT_MSG_ACHIEVEMENT)
2009-03-24 17:59:30 +03:00
VladimirMangos
f4482f247f [7532] Avoid warnings at use size_t with printf fromat strings. 2009-03-24 06:03:22 +03:00
emsy
8fa0ef7ab9 [7530] Fixed counting exalted reputation achievements work for factions with base reputation != 0.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-03-24 03:44:37 +03:00
VladimirMangos
2215f77ec3 [7478] Avoid rescan data at some achievments triggering for speed.
Only if chnage can affect result
* ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL
* ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS
* ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION
* ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION if
2009-03-17 17:35:46 +03:00
VladimirMangos
4215b65b8c [7477] Implement work ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM 2009-03-17 10:20:34 +03:00
VladimirMangos
95379309e5 [7427] Sort ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE achievements by normal/heroic and check current player mode fit.
Also ignore any ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE achievements with not implemented custom requirements.
2009-03-09 19:00:05 +03:00
VladimirMangos
bf718ea961 [7418] Implement new log filter LogFilter_AchievementUpdates that let avoid achievments updates spam in logs if not needed.
Enabled by default.
2009-03-09 07:59:27 +03:00
VladimirMangos
42b5130931 [7394] Check loot_template.maxcount for max allowed value (255) and make better report for this case.
Also optimize strcture LootStoreItem that let use 4 byte for loot template element in memory instead 5 bytes.
But limit group id to 127 max value. Check this at loading.
2009-03-07 03:54:31 +03:00
VladimirMangos
be74937146 [7393] Implement access to client side holiday ids.
* src/game/GameEvent.* renamed to src/game/GameEventMgr.* for consistence
* `game_event` now have new `holiday` field for store client side holiday id associated with game event
* Added new enum HolidayIds with existed at this moment holiday ids.
* New function "bool IsHolidayActive(HolidayIds id)" added accessabel from scripts for active holidays check.
2009-03-07 03:00:17 +03:00
VladimirMangos
5a8f379a70 [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);
2009-03-06 22:28:34 +03:00
VladimirMangos
c18d20782b Implement some death related achievements
* ACHIEVEMENT_CRITERIA_TYPE_DEATH (normal and arena types counting)
* ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON (instance types by man limit counting)
  Note: need fixed for cases when max allowed players different from recommended count.
* ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM (environment damage sources by types)

Fixed:
* ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER
   - self-kill counting as death from players
   - same team player kill in opposition kills counter.

Also cleanup in Player::EnvironmentalDamage use DBCStructure.h comment.
2009-03-06 04:26:48 +03:00
VladimirMangos
10f2648455 [7381] Sort cases in AchievementMgr::UpdateAchievementCriteria and mark some case as not used. 2009-03-05 15:48:12 +03:00
VladimirMangos
8928df7f07 [7380] Implement highest value achievements support. Implement some auction achievements
* ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID:
* ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD: (FIXME: only for online player)
2009-03-05 13:49:37 +03:00
VladimirMangos
bff0cb8c75 [7379] Implement some money related achievement criteria.
* ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS:
* ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD:
* ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING:
* ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER:
* ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL:
* ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY:
2009-03-05 02:49:40 +03:00
VladimirMangos
2d6b8bf068 [7378] Fixed check for ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL for non-class/race specific case. 2009-03-04 04:13:11 +03:00
zhenya
95439564aa [7350] Use more compact and fast way for check class/race achievement.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-27 12:54:33 +03:00
Triply
8f995ce904 [7336] Implemented new BattleGroundQueue invitation system. Now it supports premade group versus premade group matches.
Added 2 new config options - InvitationType and PremadeGroupWaitForMatch - you can find more info in default config file.
This patch can cause crashes.

Signed-off-by: Triply <triply@getmangos.com>
2009-02-25 19:21:31 +01:00
VladimirMangos
9b3daf3933 [7330] Code warnings and style cleanups. Some bugs fixes.
1) comparison singed and unsigned values
2) redundent includes
3) wrong constructor :-part field initilization
4) unused not-/*name*/-guarded args in template/virtual functions that not required like args.
5) explicitly list not implemented achievement types.

Also bugs fixed:
1) Drop wrong phase mask 0 check in WorldObject::InSamePhase.
2) ArenaTeamMember::ModifyPersonalRating incorrect work with move points in negative with infinity values in result.
3) ArenaTeam::SaveToDB code send uint64 value to string with arg format %u.
2009-02-24 01:54:53 +03:00
VladimirMangos
7c2e850283 [7312] Use localized DB-based achievement message instead hardcoded string. 2009-02-21 07:51:20 +03:00
ApoC
c9eacd7a23 [7240] Fix logfile spam from AchievementMgr.
Log AchievementMgr::SendAchievementEarned only in debug.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-02-07 14:50:01 +01:00
VladimirMangos
74ec17a273 [7235] New command: .reset achievements 2009-02-07 00:00:23 +03:00
delavega
a26f327314 [7218] Fixed used message CHAT_MSG_GUILD_ACHIEVEMENT format.
Guild members will not recieve achievement messages.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-02-01 22:37:53 +03:00
VladimirMangos
0418aa5137 [7177] Fixed unexpected error output in logs. 2009-01-25 19:39:31 +03:00
ApoC
475e8cbcf6 [7161] Implemented configurable option to allow/disallow achievements gain for GMs.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-01-24 17:42:21 +01:00
arrai
71cb0f514a [7152] Fixed typo in previous commit 2009-01-23 11:21:16 +01:00
begemot
9bede601a2 [7151] Startup log cleanup and beautification.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-01-23 04:29:35 +03:00
arrai
6ef0e056b0 [7121] Fixed ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT 2009-01-20 01:57:15 +01:00