From 546df44169e03314853cc9cd14eb2a6bb49cf858 Mon Sep 17 00:00:00 2001 From: DiSlord Date: Sat, 20 Dec 2008 03:00:47 +0300 Subject: [PATCH 1/9] [6921] Fixed level depend spell damage calculation (limit it to spell base - max level) Signed-off-by: DiSlord --- src/game/Unit.cpp | 9 ++++++--- src/shared/revision_nr.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 5925b21c4..86a0e29af 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9203,9 +9203,12 @@ int32 Unit::CalculateSpellDamage(SpellEntry const* spellProto, uint8 effect_inde uint8 comboPoints = unitPlayer ? unitPlayer->GetComboPoints() : 0; - int32 level = int32(getLevel()) - int32(spellProto->spellLevel); - if (level > spellProto->maxLevel && spellProto->maxLevel > 0) - level = spellProto->maxLevel; + int32 level = int32(getLevel()); + if (level > (int32)spellProto->maxLevel && spellProto->maxLevel > 0) + level = (int32)spellProto->maxLevel; + else if (level < (int32)spellProto->baseLevel) + level = (int32)spellProto->baseLevel; + level-= (int32)spellProto->spellLevel; float basePointsPerLevel = spellProto->EffectRealPointsPerLevel[effect_index]; float randomPointsPerLevel = spellProto->EffectDicePerLevel[effect_index]; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index c05428b33..056d7d999 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6920" + #define REVISION_NR "6921" #endif // __REVISION_NR_H__ From 9f2e089b424ff687a5fcfc72dc784a3a856169f3 Mon Sep 17 00:00:00 2001 From: freghar Date: Fri, 19 Dec 2008 23:25:20 +0100 Subject: [PATCH 2/9] [6922] Whitespace and newline fixes This should fix the GCC "no newline at end of file" warnings. Signed-off-by: freghar --- sql/updates/2008_11_11_02_mangos_scripts.sql | 10 +++++----- sql/updates/2008_11_14_01_mangos_scripts.sql | 10 +++++----- src/bindings/universal/ScriptMgr.h | 2 +- src/game/CharacterHandler.cpp | 2 +- src/game/ObjectMgr.cpp | 2 +- src/shared/Database/DatabaseImpl.h | 4 ++-- src/shared/revision_nr.h | 2 +- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/sql/updates/2008_11_11_02_mangos_scripts.sql b/sql/updates/2008_11_11_02_mangos_scripts.sql index a9fbd1036..b2d9fb147 100644 --- a/sql/updates/2008_11_11_02_mangos_scripts.sql +++ b/sql/updates/2008_11_11_02_mangos_scripts.sql @@ -2,20 +2,20 @@ ALTER TABLE db_version CHANGE COLUMN required_2008_11_11_01_mangos_db_script_str ALTER TABLE event_scripts DROP datatext, - ADD COLUMN dataint int(11) NOT NULL default '0'; + ADD COLUMN dataint int(11) NOT NULL default '0'; ALTER TABLE gameobject_scripts DROP datatext, - ADD COLUMN dataint int(11) NOT NULL default '0'; + ADD COLUMN dataint int(11) NOT NULL default '0'; ALTER TABLE quest_end_scripts DROP datatext, - ADD COLUMN dataint int(11) NOT NULL default '0'; + ADD COLUMN dataint int(11) NOT NULL default '0'; ALTER TABLE quest_start_scripts DROP datatext, - ADD COLUMN dataint int(11) NOT NULL default '0'; + ADD COLUMN dataint int(11) NOT NULL default '0'; ALTER TABLE spell_scripts DROP datatext, - ADD COLUMN dataint int(11) NOT NULL default '0'; + ADD COLUMN dataint int(11) NOT NULL default '0'; diff --git a/sql/updates/2008_11_14_01_mangos_scripts.sql b/sql/updates/2008_11_14_01_mangos_scripts.sql index ab51cf3d8..a2176b612 100644 --- a/sql/updates/2008_11_14_01_mangos_scripts.sql +++ b/sql/updates/2008_11_14_01_mangos_scripts.sql @@ -1,16 +1,16 @@ ALTER TABLE db_version CHANGE COLUMN required_2008_11_11_02_mangos_scripts required_2008_11_14_01_mangos_scripts bit; ALTER TABLE event_scripts - CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; + CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; ALTER TABLE gameobject_scripts - CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; + CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; ALTER TABLE quest_end_scripts - CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; + CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; ALTER TABLE quest_start_scripts - CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; + CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; ALTER TABLE spell_scripts - CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; + CHANGE COLUMN dataint dataint int(11) NOT NULL default '0' AFTER datalong2; diff --git a/src/bindings/universal/ScriptMgr.h b/src/bindings/universal/ScriptMgr.h index 0b4605b5e..415aa23cc 100644 --- a/src/bindings/universal/ScriptMgr.h +++ b/src/bindings/universal/ScriptMgr.h @@ -68,7 +68,7 @@ struct Script CreatureAI* (*GetAI)(Creature *_Creature); InstanceData* (*GetInstanceData)(Map*); // ----------------------------------------- - + void registerSelf(); }; diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp index 9022a5c33..f16680b3c 100644 --- a/src/game/CharacterHandler.cpp +++ b/src/game/CharacterHandler.cpp @@ -942,7 +942,7 @@ void WorldSession::HandleChangePlayerNameOpcode(WorldPacket& recv_data) // and that there is no character with the desired new name CharacterDatabase.AsyncPQuery(&WorldSession::HandleChangePlayerNameOpcodeCallBack, GetAccountId(), newname, - "SELECT guid, name FROM characters WHERE guid = %d AND account = %d AND (at_login & %d) = %d AND NOT EXISTS (SELECT NULL FROM characters WHERE name = '%s')", + "SELECT guid, name FROM characters WHERE guid = %d AND account = %d AND (at_login & %d) = %d AND NOT EXISTS (SELECT NULL FROM characters WHERE name = '%s')", GUID_LOPART(guid), GetAccountId(), AT_LOGIN_RENAME, AT_LOGIN_RENAME, escaped_newname.c_str() ); } diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 83b9d7d76..0b1c0d357 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -578,7 +578,7 @@ void ObjectMgr::LoadCreatureLocales() sLog.outString(); sLog.outString( ">> Loaded %u creature locale strings", mCreatureLocaleMap.size() ); } - + void ObjectMgr::LoadNpcOptionLocales() { mNpcOptionLocaleMap.clear(); // need for reload case diff --git a/src/shared/Database/DatabaseImpl.h b/src/shared/Database/DatabaseImpl.h index 1be9878e5..d7f8c43e2 100644 --- a/src/shared/Database/DatabaseImpl.h +++ b/src/shared/Database/DatabaseImpl.h @@ -96,7 +96,7 @@ Database::AsyncQuery(Class *object, void (Class::*method)(QueryResult*, ParamTyp return m_threadBody->Delay(new SqlQuery(sql, new MaNGOS::QueryCallback(object, method, (QueryResult*)NULL, param1, param2, param3), itr->second)); } -// -- Query / static -- +// -- Query / static -- template bool @@ -202,4 +202,4 @@ Database::DelayQueryHolder(Class *object, void (Class::*method)(QueryResult*, Sq #undef ASYNC_QUERY_BODY #undef ASYNC_PQUERY_BODY -#undef ASYNC_DELAYHOLDER_BODY \ No newline at end of file +#undef ASYNC_DELAYHOLDER_BODY diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 056d7d999..482bae0e8 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6921" + #define REVISION_NR "6922" #endif // __REVISION_NR_H__ From b8a4b6f522a930cf6dc7caea4ffe7b3b0c587d3c Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sat, 20 Dec 2008 03:47:29 +0300 Subject: [PATCH 3/9] [6923] Fixed opcide table miscompilation at VC in x64 release mode. In 303 branch it showup as crash at most chat commands. --- src/game/Opcodes.h | 7 ++++++- src/shared/revision_nr.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/game/Opcodes.h b/src/game/Opcodes.h index a706fdea8..15901e6d4 100644 --- a/src/game/Opcodes.h +++ b/src/game/Opcodes.h @@ -25,6 +25,12 @@ #include "Common.h" +// Note: this include need for be sure have full definition of class WorldSession +// if this class definition not complite then VS for x64 release use different size for +// struct OpcodeHandler in this header and Opcode.cpp and get totally wrong data from +// table opcodeTable in source when Opcode.h included but WorldSession.h not included +#include "WorldSession.h" + /// List of Opcodes enum Opcodes { @@ -1102,7 +1108,6 @@ enum SessionStatus STATUS_NEVER ///< Opcode not accepted from client (deprecated or server side only) }; -class WorldSession; class WorldPacket; struct OpcodeHandler diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 482bae0e8..eafc0b2c5 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6922" + #define REVISION_NR "6923" #endif // __REVISION_NR_H__ From 32204204a38606d45042c4a7f2924934927749e4 Mon Sep 17 00:00:00 2001 From: balrok Date: Sat, 20 Dec 2008 20:22:37 +0300 Subject: [PATCH 4/9] [6924] Faster guild-loading. Signed-off-by: VladimirMangos --- src/game/Guild.cpp | 33 +++++++++++++++++++++++---------- src/shared/revision_nr.h | 2 +- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/src/game/Guild.cpp b/src/game/Guild.cpp index bf6a3ab18..5dd34b302 100644 --- a/src/game/Guild.cpp +++ b/src/game/Guild.cpp @@ -359,28 +359,41 @@ bool Guild::FillPlayerData(uint64 guid, MemberSlot* memslot) } else { - if(!objmgr.GetPlayerNameByGUID(guid, plName)) // player doesn't exist - return false; + QueryResult *result = CharacterDatabase.PQuery("SELECT name,data,zone,class FROM characters WHERE guid = '%u'", GUID_LOPART(guid)); + if(!result) + return false; // player doesn't exist + + Field *fields = result->Fetch(); + + plName = fields[0].GetCppString(); + + Tokens data = StrSplit(fields[1].GetCppString(), " "); + plLevel = Player::GetUInt32ValueFromArray(data,UNIT_FIELD_LEVEL); + + plZone = fields[2].GetUInt32(); + plClass = fields[3].GetUInt32(); + delete result; - plLevel = Player::GetUInt32ValueFromDB(UNIT_FIELD_LEVEL, guid); if(plLevel<1||plLevel>STRONG_MAX_LEVEL) // can be at broken `data` field { sLog.outError("Player (GUID: %u) has a broken data in field `characters`.`data`.",GUID_LOPART(guid)); return false; } - plZone = Player::GetZoneIdFromDB(guid); - QueryResult *result = CharacterDatabase.PQuery("SELECT class FROM characters WHERE guid='%u'", GUID_LOPART(guid)); - if(!result) - return false; - plClass = (*result)[0].GetUInt32(); + if(!plZone) + { + sLog.outError("Player (GUID: %u) has broken zone-data",GUID_LOPART(guid)); + //here it will also try the same, to get the zone from characters-table, but additional it tries to find + plZone = Player::GetZoneIdFromDB(guid); + //the zone through xy coords.. this is a bit redundant, but + //shouldn't be called often + } + if(plClass=MAX_CLASSES) // can be at broken `class` field { sLog.outError("Player (GUID: %u) has a broken data in field `characters`.`class`.",GUID_LOPART(guid)); return false; } - - delete result; } memslot->name = plName; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index eafc0b2c5..7de18d1af 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6923" + #define REVISION_NR "6924" #endif // __REVISION_NR_H__ From 1358202da32470f964df36635af1c4fcf24ffef2 Mon Sep 17 00:00:00 2001 From: begemot Date: Sun, 21 Dec 2008 00:13:07 +0300 Subject: [PATCH 5/9] [6925] Correctly show loaded 100% for empty `playercreateinfo_item`. Signed-off-by: VladimirMangos --- src/game/ObjectMgr.cpp | 2 ++ src/shared/revision_nr.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 0b1c0d357..813bbbae5 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -2099,6 +2099,8 @@ void ObjectMgr::LoadPlayerInfo() { barGoLink bar( 1 ); + bar.step(); + sLog.outString(); sLog.outString( ">> Loaded %u custom player create items", count ); } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 7de18d1af..aa66c94b6 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6924" + #define REVISION_NR "6925" #endif // __REVISION_NR_H__ From 237d470a5b764558cfbe0c433dd2eaa224c3332a Mon Sep 17 00:00:00 2001 From: megamage Date: Sun, 21 Dec 2008 01:44:22 +0300 Subject: [PATCH 6/9] [6926] Use buyout to buy an auction when the last bid is close to the buyout price. Signed-off-by: megamage Fixed cheating possibility with original patch changes. Signed-off-by: VladimirMangos --- src/game/AuctionHouse.cpp | 9 +++++++-- src/shared/revision_nr.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/game/AuctionHouse.cpp b/src/game/AuctionHouse.cpp index a674aefb8..f7eee07f1 100644 --- a/src/game/AuctionHouse.cpp +++ b/src/game/AuctionHouse.cpp @@ -365,10 +365,15 @@ void WorldSession::HandleAuctionPlaceBid( WorldPacket & recv_data ) return; } - if (price < (auction->bid + objmgr.GetAuctionOutBid(auction->bid))) + // cheating + if(price <= auction->bid) + return; + + // price too low for next bid if not buyout + if ((price < auction->buyout || auction->buyout == 0) && + price < auction->bid + objmgr.GetAuctionOutBid(auction->bid)) { //auction has already higher bid, client tests it! - //SendAuctionCommandResult(auction->auctionId, AUCTION_PLACE_BID, ???); return; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index aa66c94b6..101dc5fd9 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6925" + #define REVISION_NR "6926" #endif // __REVISION_NR_H__ From b646b327ce1fbebb5a68a6d39f1ba68e915e74d3 Mon Sep 17 00:00:00 2001 From: hunuza Date: Sun, 21 Dec 2008 14:42:18 +0100 Subject: [PATCH 7/9] [6927] Send correct level in error message due to too low level to create arena team. Signed-off-by: hunuza --- src/game/PetitionsHandler.cpp | 2 +- src/shared/revision_nr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/game/PetitionsHandler.cpp b/src/game/PetitionsHandler.cpp index 50eab90e4..3d525ac31 100644 --- a/src/game/PetitionsHandler.cpp +++ b/src/game/PetitionsHandler.cpp @@ -111,7 +111,7 @@ void WorldSession::HandlePetitionBuyOpcode(WorldPacket & recv_data) // TODO: find correct opcode if(_player->getLevel() < sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)) { - SendNotification(LANG_ARENA_ONE_TOOLOW, 70); + SendNotification(LANG_ARENA_ONE_TOOLOW, sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)); return; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 101dc5fd9..fcbcb4319 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6926" + #define REVISION_NR "6927" #endif // __REVISION_NR_H__ From 8d4422239ec38126c9cca77fbed1cfea3571b6bf Mon Sep 17 00:00:00 2001 From: Wyk3d Date: Mon, 22 Dec 2008 01:22:09 +0200 Subject: [PATCH 8/9] [6928] Corrected the handling of evade and threat for creature summoned pets. Should fix some of the setVisibility crashes. --- src/game/MotionMaster.cpp | 11 ++++++++++- src/game/Unit.cpp | 8 ++++++-- src/shared/revision_nr.h | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/game/MotionMaster.cpp b/src/game/MotionMaster.cpp index 2dc42cd4d..23beef949 100644 --- a/src/game/MotionMaster.cpp +++ b/src/game/MotionMaster.cpp @@ -150,8 +150,17 @@ MotionMaster::MoveTargetedHome() } else if(i_owner->GetTypeId()==TYPEID_UNIT && ((Creature*)i_owner)->GetCharmerOrOwnerGUID()) { - sLog.outError("Pet or controlled creature (Entry: %u GUID: %u) attempt targeted home", + DEBUG_LOG("Pet or controlled creature (Entry: %u GUID: %u) targeting home", i_owner->GetEntry(), i_owner->GetGUIDLow() ); + Unit *target = ((Creature*)i_owner)->GetCharmerOrOwner(); + if(target) + { + i_owner->addUnitState(UNIT_STAT_FOLLOW); + DEBUG_LOG("Following %s (GUID: %u)", + target->GetTypeId()==TYPEID_PLAYER ? "player" : "creature", + target->GetTypeId()==TYPEID_PLAYER ? target->GetGUIDLow() : ((Creature*)target)->GetDBTableGUIDLow() ); + Mutate(new TargetedMovementGenerator(*target,PET_FOLLOW_DIST,PET_FOLLOW_ANGLE)); + } } else { diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 86a0e29af..829555c2e 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9047,8 +9047,12 @@ bool Unit::CanHaveThreatList() const if( !isAlive() ) return false; - // pets and totems can not have threat list - if( ((Creature*)this)->isPet() || ((Creature*)this)->isTotem() ) + // totems can not have threat list + if( ((Creature*)this)->isTotem() ) + return false; + + // pets can not have a threat list, unless they are controlled by a creature + if( ((Creature*)this)->isPet() && IS_PLAYER_GUID(((Pet*)this)->GetOwnerGUID()) ) return false; return true; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index fcbcb4319..1a4a6befc 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6927" + #define REVISION_NR "6928" #endif // __REVISION_NR_H__ From bf3ffdaff6af6397e492ed70c5b2cac2ab3808f3 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Mon, 22 Dec 2008 15:25:43 +0300 Subject: [PATCH 9/9] MaNGOS 0.12 release. --- ChangeLog | 77 +++++++++++++++++++++++++++++++++++- NEWS | 9 ++++- src/shared/SystemConfig.h.in | 2 +- win/VC71/mangosd.vcproj | 4 +- win/VC71/realmd.vcproj | 4 +- win/VC80/mangosd.vcproj | 8 ++-- win/VC80/realmd.vcproj | 8 ++-- win/VC90/mangosd.vcproj | 8 ++-- win/VC90/realmd.vcproj | 4 +- 9 files changed, 102 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index db287f281..e9645b67c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,6 @@ -MaNGOS 0.12 (??? ??? 2008) +MaNGOS 0.13 (??? ??? 2009) - MaNGOS 0.12 - Codename "???" - adds further improvements to the + MaNGOS 0.13 - adds further improvements to the server core as well as to the majority of game classes and the game content database. @@ -12,6 +12,79 @@ MaNGOS 0.12 (??? ??? 2008) * Fixed Bugs: ??? * Total number of changes: ??? +MaNGOS 0.12 (Dec 22 2008) + + MaNGOS 0.12 - adds further improvements to the + server core as well as to the majority of game classes and the game content + database. + + ==== Game Features ==== + + * Added: Support for different difficult instances, proper instances reset and proper group/player binding to instances. + * Added: Support for arena system. + * Added: Support for declined names (with Cyrillic client). + * Added: Support for auction pending mail and 1 hour delay in money delivery to owner. + * Added: Support for possibility reject warlock's player summon by targeted player. + * Added: Support for talent based pet auras. + * Added: Support for auto-reward quests. + * Added: Support for trap arming delay in combat state. + * Added: Support for show enchantment item effect on login screen. + * Added: Support for restoration buff in battlegrounds. + * Added: Support for dependent spell disabling (instead removing) at talent reset until talent re-learning. + * Added: Support for guild/arena team leaders delete protection. + * Added: Support for areatrigger scripting. + * Added: Support for honor rewards from quests. + * Added: Support for realmd reconnect from login character list. + * Added: Support for configurable assistance aggro delaying. + * Improved: Better duels work. + * Improved: Improvements in battleground system work including really instancing battlegrounds. + * Improved: Better support game localization for players and GMs. + * Improved: More server-side re-checks for client side primary checked data for prevent cheating. + * Improved: Player can't dodge attack from behind. + * Improved: Correctly animate eating/drinking in cases sitting at chairs/etc. + * Improved: Better guardians related functionality work. + * Improved: Expected instant logout in taxi flight at logout request. + * Improved: Re-implement raid ready check code. + * Improved: Select fishing bobber activating time in more standard way. + * Improved: Better random/waypoint creature movement work including fly case. + * Improved: Evade distance is now based on the distance from the position that the creature was at when it entered combat. + * Improved: Implemented further support for contested guards. + * Improved: Show available daily quests at map as blue marks. + * Improved: Limit distance for listen say/yell text. + * Improved: Removed dismount at login hack that now unneeded. + * Improved: Better support for low character experience gain in group with high character. + * Improved: Default behavior of pets for creatures changed to REACT_DEFENSIVE. + * Improved: Better work with combo points on miss/parry/immune. + * Improved: Allow have team dependent graveyards at entrance map for instances. + * Improved: Allowed switching INVTYPE_HOLDABLE items during combat. + * Improved: Make flying creatures fall on ground when killed. + * Improved: More correct way of calculating fall damage by using fall distance and not fall time. + * plus lots of fixes for auras, effects, spells, talents, and more. + + ==== Server Features ==== + + * Added: Support for load and use multiply DBC locales data at server. + * Added: Store in `spell_chain` additional spell dependences from another spell chain for learning possibility checks. + * Added: New chat command for reload settings from mangosd.conf file without server restart need. + * Added: Set icon for realmd/mangosd binaries at Windows build. + * Added: Start use Adaptive Communication Environment (ACE) framework v.5.6.6 in server network code. + * Added: Migrate from SVN sourceforge.net to GIT github.com repository for project sources store. + * Added: Script name indexing for creature, gameobject, item, areatrigger and instance script. + * Added: The possibility to use custom process return values. + * Improved: More DB tables loading at server startup and less unneeded DB access in server work time. + * Improved: Console support for chat like commands features. Merge chat/console command list to single. + * Improved: Implement possibility output detailed and DB error log messages from scripting code. + * Improved: Better localization support for DB scripts and scripting library. + * Improved: Referenced loot data moved to new table for better sharing like data from other loot tables. + * Improved: Prevent overwriting realmd.conf and mangosd.conf on make install at Unix/Linux. + * Improved: Update Visual Leak Detector lib to Version 1.9g (beta). + * Improved: New revisions numbering and sql updates names scheme with tools support used after switch to GIT. + * Improved: Use DBC data for creating initial character items. + + ==== Statistics ==== + * Fixed Bugs: many :) + * Total number of changes: 731 (323 in git) + MaNGOS 0.11 (Jul 22 2008) MaNGOS 0.11 - adds further improvements to the diff --git a/NEWS b/NEWS index 0cac6a689..e4a7d1174 100644 --- a/NEWS +++ b/NEWS @@ -13,8 +13,15 @@ http://getmangos.com/community/ Please submit bug reports at: http://mangos.lighthouseapp.com/ -Version 0.12 +Version 0.13 * Under discussion. + * Upgrade to client version 3.0.3 (build 9183). + +Version 0.12 + * Migrate from SVN to GIT. + * Implemented arena system. + * Start using Adaptive Communication Environment (ACE) framework v.5.6.6 in server network code. + * Update Visual Leak Detector lib to Version 1.9g (beta). * Upgrade to client version 2.4.3 (build 8606). Version 0.11 diff --git a/src/shared/SystemConfig.h.in b/src/shared/SystemConfig.h.in index f2bf66d06..9ffb9eaab 100644 --- a/src/shared/SystemConfig.h.in +++ b/src/shared/SystemConfig.h.in @@ -27,7 +27,7 @@ #ifndef _VERSION #if PLATFORM == PLATFORM_WINDOWS -# define _VERSION(REVD,REVT,REVN,REVH) "0.12.0-DEV" " (" REVD " " REVT " Revision " REVN " - " REVH ")" +# define _VERSION(REVD,REVT,REVN,REVH) "0.12.1" " (" REVD " " REVT " Revision " REVN " - " REVH ")" #else # define _VERSION(REVD,REVT,REVN,REVH) "@VERSION@" " (" REVD " " REVT " Revision " REVN " - " REVH ")" #endif diff --git a/win/VC71/mangosd.vcproj b/win/VC71/mangosd.vcproj index 94b0d73d5..282500cef 100644 --- a/win/VC71/mangosd.vcproj +++ b/win/VC71/mangosd.vcproj @@ -23,7 +23,7 @@ Name="VCCLCompilerTool" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" @@ -92,7 +92,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" IgnoreStandardIncludePath="FALSE" BasicRuntimeChecks="3" RuntimeLibrary="3" diff --git a/win/VC71/realmd.vcproj b/win/VC71/realmd.vcproj index 6878d62a5..038922ac2 100644 --- a/win/VC71/realmd.vcproj +++ b/win/VC71/realmd.vcproj @@ -24,7 +24,7 @@ Name="VCCLCompilerTool" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV",WIN32,NDEBUG,_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.1",WIN32,NDEBUG,_CONSOLE" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" @@ -91,7 +91,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE" IgnoreStandardIncludePath="FALSE" BasicRuntimeChecks="3" RuntimeLibrary="3" diff --git a/win/VC80/mangosd.vcproj b/win/VC80/mangosd.vcproj index 3d32b7be1..ff631b413 100644 --- a/win/VC80/mangosd.vcproj +++ b/win/VC80/mangosd.vcproj @@ -48,7 +48,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -150,7 +150,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -250,7 +250,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -352,7 +352,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" diff --git a/win/VC80/realmd.vcproj b/win/VC80/realmd.vcproj index 9b797b0ed..28e981530 100644 --- a/win/VC80/realmd.vcproj +++ b/win/VC80/realmd.vcproj @@ -48,7 +48,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV",WIN32,NDEBUG,_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.1",WIN32,NDEBUG,_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -147,7 +147,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV",WIN32,NDEBUG,_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.1",WIN32,NDEBUG,_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -244,7 +244,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -343,7 +343,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" diff --git a/win/VC90/mangosd.vcproj b/win/VC90/mangosd.vcproj index f6ae56d33..9d54c0b83 100644 --- a/win/VC90/mangosd.vcproj +++ b/win/VC90/mangosd.vcproj @@ -49,7 +49,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -150,7 +150,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;NDEBUG;_CONSOLE;ENABLE_CLI" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -249,7 +249,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -351,7 +351,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\dep\include,..\..\src\framework,..\..\src\shared,..\..\src\game,..\..\src\mangosd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-DEV";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="VERSION="0.12.1";WIN32;_DEBUG;MANGOS_DEBUG;_CONSOLE;ENABLE_CLI" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" diff --git a/win/VC90/realmd.vcproj b/win/VC90/realmd.vcproj index c794b4dff..2d81c18fb 100644 --- a/win/VC90/realmd.vcproj +++ b/win/VC90/realmd.vcproj @@ -49,7 +49,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-SVN",WIN32,NDEBUG,_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.1",WIN32,NDEBUG,_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -147,7 +147,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\dep\include;..\..\src\framework;..\..\src\shared;..\..\src\realmd;..\..\dep\ACE_wrappers" - PreprocessorDefinitions="VERSION="0.12.0-SVN",WIN32,NDEBUG,_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.1",WIN32,NDEBUG,_CONSOLE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true"