This change log references the relevant changes (bug and security fixes) done in 0.18 minor versions.
Major changes for this build which require your attention when upgrading include awesome things such as these:
- The mangos-zero build system has been overhauled, and we are now using CMake only. For Linux and FreeBSD users this means you can always use packages as provided by your distribution, and for Windows users this means you'll now have to download and install dependencies just once. We recommend that our Windows users pick up pre-built dependencies from GNUWin32.
- The tools for map extraction and generation from the game client are finally first class citizens when you build mangos-zero, and will be built, too.
- The
genrevision
application has been removed from the build. Revision data and build information is now extracted via Git only. - SOAP bindings for the world server are now optional, and will be disabled by default when building mangos-zero. If you need them, there is a CMake switch available to enable the bindings.
- The output given by all map tools has been cleaned up, and will now give you
useful information such as the map version, or complete usage instructions.
Pass the
--help
parameter, and any map tool will provide usage instructions! - Documentation has been rewritten and converted to Markdown format, which is readable and converts nicely to HTML when viewing in the repository browser.
- Documentation has been added for all map tools including usage instructions and examples.
- Player movement has been rewritten, and now factors in possible issues such as lag when sending out character movement. This also means, looting when moving is no longer possible, and will be canceled.
- Looting in groups has been corrected, and you should now be able to use round robin, master looter, free for all and need before greed looting.
- EventAI is now more verbose, and will validate targets for commands upon server
start-up. It's very likely that you will see many more errors now. Additionally
the
npc aiinfo
command will display more useful info. - ScriptDev2 has been merged into the server repository! You do not need to make a clone, and may need to delete previously checkouts of the scripts repository. This also means, ScriptDev2 will now always be built when you build the mangos-zero server.
Also numerous minor fixes and improvements have been added, such as:
- Using potions for power types not used by a class will now raise the correct error messages, e.g. Warriors can no longer consume Mana potions.
- Hunter pets will receive full experience when their masters are grouped.
- Mobs fleeing will do so now in normal speed, instead of crazy speed.
- The world server will now provide improved, readable output on start-up, and less confusing messages for identical issues.
- In-game commands
goname
andnamego
have been replaced withappear
andsummon
. If you happen to find other commands with weird naming, let us know! - We have done extensive house-keeping and removed many TBC specific code parts, and replaced TBC specific values with the proper vanilla WoW counterparts. This includes the TBC spell modifiers, which now have been dropped and are no longer available.
- Unprivileged player accounts will no longer be able to execute mangos dot
commands in the in-game chat. If you need this, enable
PlayerCommands
in the mangosd configuration. The default setting is off.
Major changes for this build which require your attention when upgrading include awesome things such as these:
- A build fix for FreeBSD has been added, thanks to @bels. mangos-zero should now successfully build again.
- In-game channels Local defense and zone channels no longer have characters as owners.
- Creature emotes have been fixed, and work again.
- Weather updates for zones without any defined weather have been fixed. A zone without weather will no longer cause the client to play random sounds.
- Spell linking based on conditions has been added. The table
spell_linked
now allows you to cast additional spells when a spell was cast based on a set of conditions. - The table
scripted_event_id
has been renamed toscripted_event
. dbscripts_...
received a new command:SCRIPT_COMMAND_TURN_TO
allows to turn creatures towards a target.- EventAI received a new action:
ACTION_T_SUMMON_UNIQUE
which allows to summon a unique creature, which means the summon target can only be summoned once. - The Scripting API has been streamlined to use more consistent function naming for all exported functions.
The following highlights the changes to the Scripting API:
isVendor
renamed toIsVendor
isTrainer
renamed toIsTrainer
isQuestGiver
renamed toIsQuestGiver
isGossip
renamed toIsGossip
isTaxi
renamed toIsTaxi
isGuildMaster
renamed toIsGuildMaster
isBattleMaster
renamed toIsBattleMaster
isBanker
renamed toIsBanker
isInnkeeper
renamed toIsInnkeeper
isSpiritHealer
renamed toIsSpiritHealer
isSpiritGuide
renamed toIsSpiritGuide
isTabardDesigner
renamed toIsTabardDesigner
isAuctioneer
renamed toIsAuctioneer
isArmorer
renamed toIsArmorer
isServiceProvider
renamed toIsServiceProvider
isSpiritService
renamed toIsSpiritService
isInCombat
renamed toIsInCombat
isFeared
renamed toIsFeared
isInRoots
renamed toIsInRoots
isFrozen
renamed toIsFrozen
isTargetableForAttack
renamed toIsTargetableForAttack
isAlive
renamed toIsAlive
isDead
renamed toIsDead
getDeathState
renamed toGetDeathState
isCharmedOwnedByPlayerOrPlayer
renamed toIsCharmedOwnedByPlayerOrPlayer
isCharmed
renamed toIsCharmed
isVisibleForOrDetect
renamed toIsVisibleForOrDetect
canDetectInvisibilityOf
renamed toCanDetectInvisibilityOf
isVisibleForInState
renamed toIsVisibleForInState
isInvisibleForAlive
renamed toIsInvisibleForAlive
getThreatManager
renamed toGetThreatManager
addHatedBy
renamed toAddHatedBy
removeHatedBy
renamed toRemoveHatedBy
getHostileRefManager
renamed toGetHostileRefManager
setTransForm
renamed toSetTransform
getTransForm
renamed toGetTransform
isHover
renamed toIsHover
addFollower
renamed toAddFollower
removeFollower
renamed toRemoveFollower
propagateSpeedChange
renamed toPropagateSpeedChange
Also numerous minor fixes and improvements have been added, such as:
- We have continued our research on client data, and resolved another batch of unknown variables and flags with their proper values including spell families and item classes.
- A few compile time warnings have been resolved, as well as a number of possible security issues, thanks to @Coverity scanning service for OS projects!
- Spells rewarding spells, and/or casting spells on reward will now cast the proper spell. Also quest givers will be able to cast spells ignoring Mana requirements when they are out of combat on reward.
- Documentation for many parts of the source code has been extended.
- An issue in the realm list server has been fixed, where it would loose the connection to MySQL.
- When casting Soothe Animal, the level of the targeted creature will be checked.
- The map extractor build for Linux was fixed, and builds properly again.
- A fix for applying speed for fleeing creatures was added.