Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Mangos Mangos + YTDB + Scriptdev2 + Changelog

Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10092 - 10116
Code:
Correct 3 more auras to check AURA_REMOVE_BY_EXPIRE mode after change in 
10030
Sort functions and cleanup InstanceSave delete code.
Extract instance reset scheduler from InstanceSaveMgr

Reset scheduler code not need explicit access to instance saves,
and no reson mix it with instance save managment code in single class
Fixed typo in function name.
Allow negative X coordinate in .go command
Update G3D up to v8.0b4

+ Got rid of zip lib requirement in G3D...
  Still can re-enable code by defining _HAVE_ZIP...

+ Remove silly X11 lib dependency from G3D
  Code doesn't seem to do anything yet anyway, and even if, we don't want it :p

+ Fix another weird G3D build problem...

+ Remove some __asm usage in g3d, which is not available on Win64
  My editor also decided to remove a ton of trailing white spaces...tss...

+ Reapply G3D fixes for 64bit VC

+ not use SSE specific header when SSE not enabled in *nix

+ Updated project files

+ New vmap_assembler VC90/VC80 Project

+ vmap assembler binaries updates

NOTE: Old vmap fikes expected work (as tests show) with new library version.
      But better use new generated versions. Its different in small parts to bad 
      or good...

(based on Lynx3d's repo commit 44798d3)
Re-apply to ACE hack for support utf8 config files

It has been applied in past to old config loading code.
Prevent retunr mails to not existed characters.

Thanks to laviniu for find bug.
Fixed some cases assign low guid to full guid update field.
List G3D update in NEWS
Rename loginDatabase for consistence with other global db object names
More cleanups in InstanceSave

* Use single function for erase element from save list.
* Make lock bool checks class local (it need be replaced by normal lock object 
in future)
* Remove redundent now friend class declarations.
Cleaned up WorldObject::HasInArc
Condition CONDITION_ZONEID (4) extanded way work.

* Condition CONDITION_ZONEID renamed CONDITION_AREAID and now work also with 
subzone area ids
* Second arg of condition cna be 0 or 1 now in in case 1 check "not in area" 
case
* Also all condition related error output include condition id.
More modes for .go commands

* Now '.go' command can be used with creature_entry/gameobject_entry shift links 
(output of .lookup creature/object commands)
* Now '.go object' command sipport id-mode and name part mode similar .go 
creature case: .go object id #gameobject_id or .go object $namepart.
* HandleGoHelper use in more commands also.
Pool/event info in .npc info and .gobject target commands
Prevent access to out of range [0] element of empty string at utf8 
convertion.
 Add and use actual bounding_radius/combat_reach per model for 
characters.

Data are stored in same table as for creature (like dbc models data), and 
provides the default values for playable races.
Currently the bounding and reach are applied only at creation and load. Note 
that these values are modified by scale. For player case, scale is always 1.0 as 
default.

For later, auras and spell effects that change scale and/or modelid must in 
addition make sure bounding_radius are updated accordingly to the new scale 
and/or model (combat_reach does not seem to be affected by such changes, and is 
always 1.5 for players).
Add function Get/SetObjectScale and update code where scale is set.
Move code for initialize player model data and scale to same function, 
InitDisplayIds
Rename GetObjectSize function to GetObjectBoundingRadius

To reflect better what the function should actually return and also to clarify 
when used in misc calculations.
Some cleanups in Instance loading code.

* Remove reduncent chekc and args for MapInstanced::CreateInstance(const uint32 
mapId, Player * player)
* Rename for avoid name duplication raw InstanceMap creating to 
MapInstanced::CreateInstanceMap
* Move lookup code of player/group bounde instance save to 
Player::GetBoundInstanceSaveForSelfOrGroup
Store associated InstanceSave for dungeon map in Map object
Add function to update model_info at changes to scale or model.

* At every change to model or scale, the related data 
(bounding_radius/combat_reach) is now updated accordingly (note that player 
combat_reach are not changed like creature).
* UpdateModelData is called from within SetDisplayId while changes to scale has 
explicit call to UpdateModelData after new scale is set (mostly for aura scale)

* The updated values are calculated by 
(scale*bounding_radius)/(scale*combat_reach)
* Database values for bounding_radius/combat_reach are expected to be relative 
to scale like 1.0
Remove some wrongly initialized fields for dynamic object.

This will correct visual appearance of spells like for example id 26573.
YTDB 328
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new teplates from WDB
+ update table "*_template" by WDB
+ fix ICC (sniffer)
+ processed 361 caches (3.3.3a)
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10117 - 10131
Code:
New config option set min size of auction deposit fee.
Check gameobject scale at loading (strict DB error filter)

This let avoid check scale value at it
Add model data for undead player that got lost for rev 10109
Check expected `creature_model_info` data for player races
Add a few comments about DYNAMICOBJECT_BYTES + fix typo in one.
Avoid use EquippedItemInventoryTypeMask mask for not item targeted 
spells check.
Fixed recent problem with enter to dungeons in group.

Problem related to implicit get map id from player in Group::GetBoundInstance
when in some cases check done before player mapid update.
Fixed typo in mangos.conf.in comment.
Add pool/event ids to diff creature/gameobject list output commands.
Code style cleanup in Level2&3.cpp
Double damage reduction as expected in 3.3.x
Since 3.3 pets receive 100% of master's resilience

(based on zergtmn's repo commit 21eba43)
Add cooldown marker for talent 56342 and ranks triggering spell.

(based on zergtmn's repo commit 87d1309)
Proper stacking 30108/348 anr ranks from 3.2.x

(based on zergtmn's repo commit 7588ca9)
Fix spellpower bonus received by 54181


YTDB 330
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new teplates from WDB
+ update table "*_template" by WDB
+ data from sniffs
+ processed 374 caches (3.3.3a)
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10132 - 10144
Code:
Cleanup code for Group::_homebindIfInstance
Fix targetmap of spell 53434 and 70893

Thanks to Blaymoira for 70893
MaNGOS 0.16 release.
Bump for 0.17.0 development.
Update build checks for mangosd/realmd.
Switch to support client 3.3.5a (build 12340)

Merge branch '335'

You need regenerate dbc/map/vmap files.

Special thanks to TOM_RUS for continue work at next client versions support :)
Fixed item/go checks for active raid quests.
Include openssl libpath in MANGOS_LIBS for later proper lib search

Also fix typo in ax_check_openssl.m4
 Fix camera iteration in CameraCall function also dropped not needed for 
now viewpoint's member

(based on SilverIce's repo commit 885724b)
Reuse GiveQuestSourceItem code for check case

Also show correct amount added item in case partly existed amount.
Fixed commented part of SpellRangeEntry structure
Read/write time as uint64 in [character_]account_data

Client currently expected uint32 value and time_t fit but
in DB time_t stored for portability as uint64 for this and other tables.
Set correct real caster for 48181 and ranks
Fix movement impairing effects remove for 65547
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10145 - 10154
Code:
Use better (but still hack) way for gameobject size calculation

* This is also hack because some float with unknown exactly value used as 'size'

* Another not resolved problem: go size used in creature target autoselection, 
so for large 'virtual' go
  creature can seelct strange points near in attempt select 'free' place near 
  target.
Implement SCRIPT_COMMAND_PLAY_MOVIE (19)
Dynamic objects not have interactive size.
Improve .gm ingame command

Thanks to Vladimir for suggestions
Build tbb on linux/unix

Unix specific notes:
* Use --with-std-malloc in configure to disable tbb, if you have problems or you 
want to use the default or another allocator.
* Even if you disable tbb, the library will still be built and installed, so you 
can still use it manually.
Disableand exclude code use for gui promt from G3D

* It mostly useless becase we use console error reporting way for other cases
* It have porblem with G3D_OSX based build

Original patch provided by Imbecile.
Prevent autostoring not empty bags

Thanks to The_Game_Master for detailed information about the bug.
 Useless use 'std::string' for temporary store 'char const*'
Add GOSSIP_ICON_* for id 11 to 20

Note that all may not be in use(or exist), and needs more research

Adjust one enum creature type flag to CREATURE_TYPEFLAGS_CAN_ASSIST
Adjust one enum item flags to ITEM_FLAGS_INDESTRUCTIBLE
Fixed crash at loot item and etc after recent check add.
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10155 - 10168
Code:
Add script effect of spell 66744
 Add shared object for auras of same spell and move spell proc code to 
its own file, also spread procs by auras and effect indexes.
Fix makefile and make gcc happy.
Fixed 2 format args errors in debug output.
clean-up after recent changes
Fix sql for character_aura and pet_aura
Add bzip2
 Added libmpq to dep/

This is from official repo (SVN rev. 300)

Additionally includes free implementation of stdint.h and dirent.h for VC++,
aswell as Visual Studio project files.

Special thanks to faramir118 for Windows support.
 Update vmap_extractor to support new vmap implementation.

Note: This is not compatible with current assembler, wait for upcoming commits

* Now also supports Linux (CMake) and Visual Studio 2010,
  see README for build and use instructions
* Uses libmpq for now, since at project start stormlib did not work
  properly on 64bit linux.
* Should be a lot faster, a few badly written lines ate most CPU time for
nothing...

Special thanks to arrai and faramir118 for additional code and fixes
Update vmap_assembler to upcoming new implementation

* Note: vmap_assembler tool will not compile until final commit of new vmap 
system
* Now also comes with Visual Studio 2010 project files and CMake files
New collission system (vmap) implementation

Important:
* You have to re-extract and assemble vmaps
* Update your config file, new option 'vmap.enableIndoorCheck' added

New features:
* Include WMO+DBC area information for correct subarea identification and indoor 
check
* Support for WMO liquid (fishing/swimming in cities, instances and oterh WMO 
based environments)

Technical changes:
* New Bounding Interval Hierarchy (BIH) data structure for better performance
* Referenced model data for reduced memory usage,
  needs more files, but reduces overall file size from ~1.9GB to ~550MB

Additional Authors:
arrai (DBC handling and indoor detection)
faramir118 (windows support and bug investigation)
And of course thanks Vladimir for a lot of patience and support!
Romve now unused Stormlib, it also included a redundant copy of zlib.

Note that WoW 4.x support for libmpq still unclear, but in any case
this Stormlib version is outdated too and will not support it either,
even if we need to switch back.
Bump vmap extractor version to 3.00
Add dummy aura effect of spell 32045, 32051 and 32052.

YTDB 331
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new teplates from WDB
+ update table "*_template" by WDB
+ data from sniffs
+ processed 437 caches (3.3.3a)
+ processed 15 caches (3.3.5a)

added

Reamld sql full
characters sql full
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10169 - 10189
Code:
New config option Quests.IgnoreRaid

It allow if enabled (disbled by default) do non-raids quests in raid.
Fixed typo in prev commit :/
Clarify acoount password/lock command errors.
Make git and users happy with contrib/vmap_extract_assembler_bin/make 
vmaps.bat

* Unix encoding
* Never never use in any cases not only mangos filenames with spaces. Tools can 
generate
  expected nightmare level without like help from your side ;)
Fix infinity loop in 31884 spell code
Fix special targeting for spells 812/9347.
Fix incorrectly blocked line of sight in certain locations.

I really should know by now that floats are not infinitely precise...
Use std::isnan in the hope more non-MS platforms provide it.

Note that G3D::isNaN() is simply wrong IMHO...and not even inlined.
One day, there will be a usable C++ standard not light-years behind good old 
C...
Add custom code for triggered part of spell 39105
Clean up some comments and align/indent as done for similar spell code.
Add "missing" spells in commented form for Aura::TriggerSpell()
Implement ITEM_FLAGS_NO_EQUIP_COOLDOWN support.

Also server side check for ITEM_FLAGS_INDESTRUCTIBLE
Fix spell 55681. Thanks Danstahr.
Allow stacking some tracking bufs, and prevent stacking some other.

For example item 25548 buff expected to be allowed stacking
but spell 19885 not allowed.
Better tracking stack checks with include one not catched non-stacking 
case.

Spell 41446 expected to be non-stacking with other trackers.
And tradition typos :(
fix auras adding to previously added holder
Fixed SMSG_BATTLEFIELD_STATUS packet.
Fixed visibility constant refresh problem with pet direct control 
spells.
 2 non-sense code lines cleanup.
Add missing locales to vmap extractor.
Update realmd opcode list.

Thanks to Phazerz for helping with research.
 
Initiate Mage
Joined
Jul 22, 2006
Messages
12
Reaction score
0
Vehicule not working, i don't know if you just compile the core as it's on the SVN but could you add the Vehicule patch on next compile pls?
 
Initiate Mage
Joined
Dec 6, 2007
Messages
90
Reaction score
16
Vehicule not working, i don't know if you just compile the core as it's on the SVN but could you add the Vehicule patch on next compile pls?

I think this thread is for releasing clean builds of mangos. I suggest you either look into compiling your own core with the patch or look at TrinityCore (they have vehicles default in the core).
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10190 - 10227
Code:
Fix another numerical corner case...

...hopefully the last one.
Slightly different approach to tree bound intersection.
Update vmaps extractor/assembler binaries using vs2008.

* This make some ppl happy who not have installed VS2010 runtime.
* Also vmap assembler include recent fix for absend locale support,
  that ofc only affect ppl who before can't use assembler with this locales 
  supporting client.
* Also small update for vmap extarctor project .gitignore
Small cleanups related target effectMask check.
Use for Transport::Update arg uint32 type as for other world objects
Fix "Documentation" filter in ACE VC 10.0 project
Some gender dependent spells
Use enum for instance reset event types, some related cleanup code.
Fixed typo in enum value name.
Add to `playercreateinfo` original player orientation field.

It still not filled. Patch with correct values welcomed ;)
Partly revert old changes in load instance reset time.

* Its has been added for raid/heroic instances in time adding
  support MapDifficulty.dbc. Its wrongly assign reset events
  for each instance instaed use generic event for map/difficulty pair.
  In result at this event triggering instance can be attempt resetted
  multiply time.
* Also comment this in InstanceResetEvent fields notes
Fix 33763 and ranks final heal and mana return on dispel and on expire
Correct function call sequence in possess aura handlers

also removed not needed ResetView call in dummy aura handler

(based on SilverIce's repo commit c3f02ed)
Broadcast packets only if worldobject is in world

There is no sense to do that for objects that not in world - those objects are 
unknown for clients
and their packets will be ignored

(based on SilverIce's repo commit 6305402)
Rename isInFlight() to IsTaxiFlying() and UNIT_STAT_IN_FLIGHT to 
UNIT_STAT_TAXI_FLIGHT.

Also add IsFreeFlying() function to Player class.
Rename `item_template`.Faction to Flags2 and define some values for it.

Thanks to Shauren for research flag ITEM_FLAGS2_COST_REQUIRES_GOLD meaning
and inspiring in general what must be done long time ago with field rename
and other enum values listing.
Add one more known value for item flags2.
 Correctly implement flying mount restrictions in zone 4395 by use of 
special area flag.

Also drop existing spell_area entries if exist, workaround not needed anymore.
Implement ITEM_FLAGS2_HORDE_ONLY and ITEM_FLAGS2_ALLIANCE_ONLY

* Check item_template data
* Check at equip/use
* Skip at loot if not compatible
* Skip in vendor list if not compatible
Implement ITEM_FLAGS2_EXT_COST_REQUIRES_GOLD use instead sign of 
ExtendedCost field.
Add proper data for character orientation at creating.
Output leaned before disabled ranks at talent re-learn or spec swith in 
proper order.
Do unmount at expire restricted flight zone debuf if still in restricted 
zone/etc.
Fix aura procs for spells with auras that can't trigger
Fix iterator update in Unit::RemoveNotOwnSingleTargetAuras
Implement ITEM_FLAGS2_NEED_ROLL_DISABLED.
Small final (as i think ;) ) fixes for restricted flight zone

* Fixed my horriable typo in 58600 effect code. Thanks to zergtmn for pointing 
to it.
* Remove redundent cast 45472 in 58600 effect code (it casted from 58601 
already). Thanks to porteyoplait.
* Prevent restart 58600 debuf timer at temporary leave zone and return to it.
Implement ROLL_VOTE_DISENCHANT disable

* for player without reqired enchanting skill
* for item without disenchanting possibility
Re-implement ROLL_VOTE_DISENCHANT disable case

Also implement NEED_BEFORE_GREED disabling ROLL_VOTE_MASK_NEED
instead skip item as expected in recent client changes.

Thanks to TOM_RUS for help in understanding proper way work.
Hmm, maybe i still do wrong something... ^^

Also count disenchnt roll as greed in ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED
Update playercreateinfo_action/playercreateinfo_spell

* Drop some food action buttons
* Drop attack spells for caster classes
* Use expected simlifed spell version 20154 (it replaced by full version at 
learn spell 53408 and similar)
  In code used helper code for support 2 versions as fake non-stacking ranks.
* Some other old "max ranks" of talents and spells now are permanent bonuses 
known from start (only "max rank" for spell exist)
Restore trinket procs when no specific spell is defined for proc
Fix spell 36032 stacking and procs
Fixed typos in mangos.sql

* Typos in `1playercreateinfo_*` tables. Thanks to Astoria.
* Lost recent field rename in `item_template`. Thanks to bobi88.
Fixed visual bug that some deleted auras still show at client side

(based on commit b10058e)
Restore proc events at full miss/immune spells to target.
Implement spell 44572 affect to permament stun immuned targets.

This also fix unexpected triggering effect any unrelated spell casts.
Small code style cleanup.
Propertly show empty vendor list for empty item list.
Fixed GO_JUST_DEACTIVATED for despawned by default gameobject.
 Generate gameobject loot only at open spawned gameobject.

YTDB 332
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new templates from WDB
+ update table "*_template" by WDB
+ data from sniffs (templates, spawn)
+ "quest_template" for 3.3.5a - FULL sniffs
+ "quest_poi" for 3.3.5a - FULL sniffs
+ "quest_poi_points" for 3.3.5a - FULL sniffs
+ processed 40 caches (3.3.5a)
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10228 - 10246
Code:
Missing send packet in empty vendor item list case.
Small cleanup in taxi related checks
Avoid use enum valuse/define like naming style for enum type name.
 Use VMAP::VMAPLoadResult instead raw int loadMap result.
 Fix mechanic-related check, thanks to VladimirMangos
Fixed check in SpellAuraHolder::HasMechanicMask
Fix typo in IsNoStackAuraDueToAura()
Cleanup in pet stable handlers
Implement SPELL_AURA_OPEN_STABLE (292).

(based on Wowka321's repo commit 213ceb0)
Implement additional damage proc on hit for Spell 8024 and ranks.
Set flag for offhand melee spells to allow proper triggering of 
weapon-specific effects.
Fix mangos.sql

I just had to forget one thing...
Fix some spells proc from spells that don't deal damage/heal
Fix expired spell interrupt
Rewrite internal work chat command system.

* Use single command search function with recursion and reuse it in now more 
simple
  and consistent for execute/help/loading
* Add intergiry checks for hardcoded part of commands list. Fix some cases base 
at it.
* Fixed diff small problems in past code:
  - in console single symbol commands rejected (without dot start)
  - .help not output propertly subcommands list for not found subcommand
  - some other...
Traditional crash fix :/
Implement .stable gm command for open pet stable anywhere.

Maybe command not so useful for stable case because spell can be learned,
but it example how can be packet allowed depndent from player possibility
when some functionality base at many packets recieved from client.
Same way possible can be used for auction anywhere, maybe some other cases.

Also it will very usefull for 2.x/1.x branches where no another way... ;)
Allow have custom starting area team/personal rating.
Restore work killCredit and kill achievements in regular difficulty 
instances.

YTDB 334
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new templates from WDB
+ update table "*_template" by WDB
+ data from sniffs (templates, spawn)
+ processed 73 caches (3.3.5a)
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10247 - 10269
Code:
Prevent lost items at problems with auction loading.

This will prevent adding to DD item data garbage not accessable from anywhere.
Now item will mailed back to owner.
Implement applying proper penalty spell when making use of talent 46917.
Don't interrupt area effects for channeled spells from target side
Select auction store by house id only.

After this commit auction auctioneer guid used only for select auction house in 
packet or loading.
Next task replace it in DB by houseid, dependence DB data from creature guid 
isn't good.
Clarify error message for one from redundent `commamd` data case.
Implement reputation_reward_rate for quests and creatures

* In addition, implement "flat" reputation for quests, where a value in 
RewRepValueN is given. Human diplomacy will not affect the total. The rate 
however will be applied, where a faction is defined with a rate for quests. 
Value in database are expected to be *100 of the actual value given (before rate 
are applied).
* New database storage can contain rates for quest/creature/spell reputation and 
will affect the base value given as reward. When for example the quest reward 
for a faction should receive 30% more reputation points, the rate can be set to 
1.3.
* This will fix issues with certain quests that are using the expected 
RewRepValueId but where the outcome has been lower than expected.
* Note that if the rate is set to 0.0 it will disable reputation gain for the 
faction and type.
* Reputation rate for spells (spell effect) is not yet implemented
 Small cleanup in Unit::HasAura() to prevent redundant upper_bound calls.
Remove dependence auction data from auctioneer guid.

* Field `auctioneerguid` replaced by `houseid` and table reanmed to `auction`
  (it list auctions and `id` is auction id).
* Update related code.

* SQL update fill `houseid` field by old `auctioneerguid`
  BUT: SQL update expect that you world DB named `mangos`.
  If this not true for your case you need modify SQL update BEFORE APPLY
  in 2 placed in part "mangos.creature AS c, mangos.creature_template AS ct"

* Another small possitive result: now possible easy select auctions related
  to some auction store (1-3 is one team actions, 4-6 another team auction,
  and 7 is neutral auction store for both teams
Fix aura remove in Unit:: _UpdateSpells
New `auction` command with subcommands for look different auction stores 
from anywhere.
Fixed typo in "alliance" in recent commit changes.
Correct old typo in GetReputationOnKillEntry function name
Fix some iterator in Aura::HandleAuraModShapeshift
Move pre-0.16 release sql updates to subdir
 Revert [10259] -_-
Fixed table `auction` name in characters.sql
Not allow listing pool elements in more one pool.

NOTE: sql update remove forbided by commit duplicates from pool_* tables in 
random way.
      So for more porper results DB better manually check and fix before apply 
      it.
      This is mostly note for DB projects devs.
Fixed build at Unix after auction changes.
Add comments for fields in struct FactionEntry, related to rep spillover
Implement CONDITION_ACHIEVEMENT and CONDITION_ACHIEVEMENT_REALM
Fixed typo in comment.

Also thanks to SkirnirMaNGOS for pointing to this long existed patch.
If schoolMask present for proc, ignore SpellFamilyFlags check
Fixed typo in CONDITION_QUESTAVAILABLE fail case.

Not affect mostly code work, because used only for not existed quest data,
that checked at loading. So only possible at reload quest templates with
drop related quest.
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10270 - 10279
Code:
Implement basic system for reputation spillover

* Database table needs data for each faction that should give spillover to other 
faction(s). One faction may give spillover to max 4 other spillover factions.
* The spillover rate is multiplied with the points after bonuses and reward rate 
is set, Rate is given as: 0.5 for 50% gain, -1.0 for 100% loss, etc
* It is possible to restrict spillover faction by rank. If player has a higher 
rank with the spillover faction given in database, no spillover will be given 
towards this faction
 Include ObjectMgr.h to reputationMgr, helping *nix compilers to know 
what to do
Add option for search distance to getHeight() functions and make 
Creature::FallGround() use VMaps properly.

This finally prevents flying creatures from falling to infinity (basically 
instantly diappearing) in several instances,
aswell as prevent creatures from falling inside larger solid object around the 
world.

Default height search is untouched, needs more research on how creature AI etc. 
will be affected.
Avoid some redundent and recursive calls to SpellMgr singleton.
Make gcc happy after last commits. Restore Unix build.
Fix initialization of DoSpellBonuses
Use more appropriate vector container instead of list as container for 
CreatureEventAI holders

vector container provides less time to access to contained elements
Use typedef CreatureEventAIList, some other code style cleanups in 
EventAI code.
Reserve space for EventAIHolder container
Unused function declarations after aura holders.
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10280 - 10309
Code:
Implement glyph 43425
Send proper account amount in guild in SMSG_GUILD_INFO packet.

Data seen for example in client command /guildinfo output.
Fixed typo in function name
Note: prev. commit of same author (Toinan67 is alt. nick name ;) )
Also added some more checks in ref. function.
Fix some typo in mangosd config file

This typo forces config to be saved as UTF8 in some text editors.
Clarify related table in error message for unknown mangos string entries
Fixed memory leaks at guild unload/disband
Also drop redundent m_PurchasedTabs field
Use lazy computition for Guild::GetAccountsNumber
Use unsigned type for `creature_addon`.`guid`
Fixed crash in result double deleting auras in some cases.

Pre-aura holder code always remove auras from diff lists before un-apply aura 
affect call.
Restore this way work for new aura holder code. This prevent different strange 
affects
when aura find by search when it already expected to be removed from target, 
including case when in
result som un-apply called code aura deleted 2 times.
 Unsummon pet if pet direct control spell expire out of visibility range 
from owner.
Adjust creature models system

This change will:
* make it easier to use cached data directly without any modifications
* correct issues regarding invisible models
* simplify certain aspects of model selection itself and make it somehow easier 
to control and maintain special cases.

Two new fields added to creature_model_info, to store modelid_alternative and 
modelid_other_team
* _alternative holds an alt. model, for cases where gender are the same, or is 
not male/female.
* _other_team is generally used for totem models, but may have future use.

This commit will possibly break a few things (visually) and will require DB 
projects to update their creature_template models data.
It is advised to use cache data as-is, and in addition fill creature_model_info 
for certain models, totems in particular, for expected appearance.
Simplify startup check for creature models
Use new fast/safe way for access aura in drink item spells.

Access useing aura->holder->some_effect_aura let have always pointer to exactly
expected aura from same cast if this need.
Fixed typo in mangosd.conf comment.
Correct a not exitan...non-existin... a word that is often spelled wrong
Add dummy aura effect of spell 47190 (part w/ buff(transform))
Add dummy effect of spell 24930
 Move ChooseDisplayId to Creature class for access from script side
Drop CMSG_SET_FACTION_CHEAT support.

No reported long time and now finaly broken by spillover rep changes.
Clear tavern rest when leaving building and prevent forced unmount when 
in GM mode.
Add new script call ProcessEventId

Let script library know when some event is about to start. Event id's may be 
found in several sources, such as spells, GO's and transport/taxi paths.
Database scripts may be prevented by returning true from script side whenever 
needed. If false, DB script will run like normal.
New database table event_id_scripts will need a ScriptName for the event id, in 
same way as for example areatrigger_scripts.
Fixed some strange GetAura arg values.
Init guild create date at create in same value in memory and DB.
Add dummy aura effect of spell 31606

Note: it is expected that script side update player displayId at end of related 
taxi path. If not, player will be stuck with the model.
Clarify bool used for script call ProcessEventId

isStart is default true. For transport/taxi cases, it may be false for event 
id's at arrival (event id ending)
Use loop instead repeating code in models check.
Add additional AddMenuItem function for GossipMenu

This version allows using id of some text from database instead of text itself, 
and will then simplify locales especially from script side.

Thanks to Vladimir who woke up to hundreds of questions and lines of weird test 
code, helping me out with all the stuff i didn't understand (which was about 75% 
of the changes done in here :P )
Restore spell boosts apply.

It has been broken in srange way at moving function to SpellAuraHolder :/
Must restore work many additional auras affects
Rename two tables to prefix scripted_, making the tables have consistent 
names

Both tables (areatrigger / event_id) are used explicit to store ScriptName for 
script library use.
In addition rename to ScriptName in instance_template
Fixed mangos.sql after recent changes.
Make AreaTriggerEntry passed in script call const.
YTDB 336
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new templates from WDB
+ update table "*_template" by WDB
+ data from sniffs (templates, spawn)
+ "creature_template" for 3.3.5a - FULL sniffs
+ The Ruby Sanctum (full)
+ processed 73 caches (3.3.5a)
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10310 - 10326
Code:
Clarify argument in emote related functions, expecting emote id
Prevent lost sql update content at git_id -s use in some cases.

To devs: please update git_id binaries
Allow store in DB same spell auras from different casters.

This fix errors at auras save to DB for like cases.
Drop now unused Aura::m_deleted.

Most functionality move to similar flag of AuraHolder.
Implement commands for work with areatriggers in game.

* all teleport commands support new areatrigger and areatriger-target shiftlinks

* .go trigger now let select areatrigger or areatrigger target as teleport point

* New commands:
  .trigger        - show detail info about areatrigger including all 
  requirements
                    for teleport with shift-links to items/keys/quest
  .trigger active - show all currently activated by character areatriggers
  .trigger near   - show near areatriggers

* .lookup item now show [usable] postfix if item can be used/equipped by 
selected character.
Make AuraHolder::IsDeleted() really work.

In fact it has been broken originally when added in Aura long before move it to 
AuraHolder.
Make gcc happy once more...
Rogue's energy rate in mangos.conf
Gender field in SMSG_WHO packet.

Also fix warning in class declaration forward

Prevent double remove aura holder at stacking limit.

If aura holder have 2 or 3 auras with fit to aura type stacking limitation
code can attempt deleted old aura holder 2/3 times.
Reserve mangos string ranges for old client specific strings.
Share some code for faction related commands.
In chat command handlers use char* arg instead "const char*"

We in any case modify args string content at parsing in commands,
so cast it to char* early. This let avoid lot later casts.

Some other code style exist in related code.
Implement achivement view commands.

This is fist part for achievement related command set.
Edition commands will added in some later commits when ready.

Two command added:

* .lookup achievment $partname - show fit achievements
  (id, shiftlink, complete date for selected player).
  shiftlink included similar data as generated by client for achievement 
  shift-link
  (complete state, complete date, marked completed criteria).

* .character achievements [$playername] - show completed achievements for 
selected player
Implement new basic functions for chat command parsing.

* Now can be used as quotes any strings with symbols ' " [] around.
  For example can be used: .additem [Tourch] or .additem "Tourch".
  And in similar cases wher before [] or "" only canbe used in commands.

* New functions support propertly extraction shift-links as optional first args
* Also added more safe functions for extraction int32/uint32/float values.

For more wide use new functuons specialized extraction functions also need 
chnaged to same way work.
This is goal for future work at this part code.
Improve process for Use() of GAMEOBJECT_TYPE_SUMMONING_RITUAL

This allow GO's not summoned by any to be processed and use the spells as 
defined in GO template as expected.
In addition some new checks to determine if GO should despawn and if group 
membership should be checked or not to allow use.
Process GAMEOBJECT_TYPE_FISHINGHOLE in normal way as for other GO's

YTDB 337
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new templates from WDB
+ update table "*_template" by WDB
+ data from sniffs (templates, spawn)
+ correction fields "RewMoneyMaxLevel" and "RewOrReqMoney" in "quest_template" from sniffs
+ processed 96 caches (3.3.5a)
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10327 - 10351
Code:
Implement reputation rates and aura effects for 
Spell::EffectReputation().

Also apply rates after percentage aura modifiers, so auras always
give expected percentage of final value independant of "hidden" rates.
Avoid explcit client max level use for selction bg/arena bracket.

This allow use brackets like 85-89 existed for some maps
if at server allowed levels > 80. Before like players placed
into bracket for level 80 always.
Improve target selection for spell_script_target creature targets

Fixes a problem where database has more than one entry for a spell and target is 
explicitly provided by script side.
Add dummy aura effect of spell 10255 and dummy effect of 10254
More basic chat command parsing functions and its uses.

* Commands .debug update and .modify bit removed as redundent
* Command .debug getvalue now can output values in float/int/hex/bitstring 
formats
* Command .debug setvalue now ca accept values in int/float/hex/bitstring formats

* Command .debug mod32value renamed to modvaue and can add int/float or apply hex 
mask
  (in 3 modes: |= &= &=~ ) to value in update field
* Command .debug moditemvalue added similar .debug modvalue for item case.
* Command .npc set movetype now propertly update spawned in world creature state.

* Command .modify spell renamed to .debug spellmods and restored to working 
state.
* Commands .account password and .account set password now allow use quoted 
strings
  for passwords and then now possible set from chat/console passwords with white 
  spaces.
* Many commands converted to new functions without modify functionality
  except better error detection in some cases at wrong command syntax use.

* Also fixed warnings in reload commands after prev. chat commit. Thanks to 
SkirnirMaNGOS for reporting.
Save cast item guid for auras also.

This must fix another way duplicate aura adding to DB error.
It also prevent wrong stacking work for weapon equip bufs
in cases when its allowed for both wepoan indepndently apply.
Traditional post-commit typo fix :(
Update shift-link related functions for chat command parsing.

Also

* Better single | detection as non-link case (doubled by client)
* Commands .pdump now allow quoted filename (usefull if filename path include 
whitespaces)
Make sure DynamicObjectUpdater::VisitHelper does not overwrite existing 
PersistentAreaAura and leave orphaned aura in m_modAuras.
Server side checks for casting non-combat spells in combat.

Interrupt casting non combat spell spell at neter to combat
and prevent it casting in combat (last checked by client
but better recheck at server for prevent cheating).
Correctly handle auras with infinite duration in code added by [10335]...
Create Map version for GetPlayer/GetUnit fucntions

* This let make map local way access for cases when player/all units
  expected to be at same map (for scripts cases for example).
  Ofc, still exist many places where code expect world wide player search.
  Spell casting for support far target cases, groups/guilds/chat/etc packets

* Function Unit::GetUnit depricated and will removed soon.
* Function GetCreatureOrPetOrVehicle renamed to less horriable GetAnyTypeCreature 
name.
Restore lines ends in Player.cpp :/
Some fixes for recent chat code changes.

* Fixed crash at absent optional literal. Thanks to MysteriousSouL for reproting.

* Converted mode commands use new way parsing functions with fixing posible crash 
cases.
Fixed typo in .ticket code
Cleanup achievement code and add new commands.

* .achievement - let see achievement state and list criteria with progress data.
                 It provide criteria ids/shift-links for other commands.
* .achievement add - let complete achivement (set all criteria progress to max) 
with related events.
* .achievement remove - let reset achievement  criteria progress and undo 
complete state for achievement.
                 Command also partly remove rewards (title part).
* .achievement criteria add - let increase criteria progress at specific amount 
or to complete state
* .achievement criteria remove - let reset/descrease criteria progress and undo 
criteria and related achivement complete state if need.
Correct order of spell id's in dummy aura effect
Fixed typo in LANG_COMMAND_ACHIEVEMENT_CRITERIA.
Fix passive spells that are active without shapeshift and certain 
shapeshift forms only.

Currently, 63411 is the only affected spell, but implementation is hopefully 
generic enough to cover future cases.
Fixed crash in .send items

Also fixed some missed cases from prev. typo fix.
Fixed wrong ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION (46) check.

In result wrong check characters complete
exalted reputation achievements at create or any reputation change event
with negative reputation. Fix prevent new cases but not do anything with
already wrongly recieved ahcievements.

Also:
* Avoid use PROGRESS_SET at normal achievment criteria progress update
  becase achivement/counter in normal way can't decrease.
* At achievment criteria progress loading check that progress counter less
  or equal max counter value.
Add missing Player check in unapply part of [10345]

Yes copy&paste is evil...
Implement work item 50351 and 50706.
Fixed some typos.
For item 50351 and 50706 fixed work in case no offhand weapon.

YTDB 338
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new templates from WDB
+ update table "*_template" by WDB
+ data from sniffs (templates, spawn)
+ processed 107 caches (3.3.5a)
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10352 - 10361
Code:
Implement support explcitly started timed achievements.

* Player::StartTimedAchievementCriteria can be used for activate timer
  for specific explicitly starting timed achievement by timedRequirementId
  in script.

* for ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST this done in core.
Avoid access to DB at view GM tickets by chat commands.

Also
* Show response text if added at view.
* Show tickets amount at console .ticket use instead unexpected no player error.
* Allow use ticket number in .ticket respond case.
* Some code cleanups.
Use time constants instead of hard coded values for STOP_TIME_FOR_PLAYER
Correctly clearUnitState at Interrupt of WaypointMovementGenerator for creature
Drop unneeded groupFlag and rename it properly

(based on Schmoozerd's repo commit 1e8c842)

Also drop `achievement_criteria_requirement` data use at start timed achivement:
its will be checked at criteria update (and complete) case. So wrong criteria will
started maybe (timer set but always fail - progress not updated.
PacketLog.* not used in core some time already so drop it.
A small spoon of changes and cleanup for WaypointMovementGenerator

* Initialization to ensure destination is always set (prevent evade problem)
* Simplify how behavior for node is processed, incl fix MovementInform script call (based on idea/past code from Quriq14)
* Make sure last node is also processed correct (DB script for last node will now work as expected)

As usual if any problems occur, you can call our toll free customer support number.
Implement spell 45449.
Restore triggered auras cleanup at main aura expire after auraholders adding.
Send proper error message at password check fail.

It specailly fix 1.x client case that not understande used for later clients 4-byte message.
Remove trailing space.
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10362 - 10380
Code:
Implement creature_movement_template

Template can be used for several cases:
* Unique creature that are already spawned in database (requires creature.MovementType=2 like guid based creature_movement)
* Summoned creature that has a pre-defined path (requires creature_template.MovementType=2)

Note that creature_template.MovementType=2 should be used with care, and must not be used for creatures that may be summoned in random locations in world.

Added additional startup checks for existing creature_movement-table
More wide use ObjectGuid in way remove MAKE_NEW_GUID uses.

Also
* Fixed some amount wrong uses low guids as full player guids.
* Add private without body ObjectGuid(uint32 const&) for catch wrong assigns low guids to ObjectGuid.
  In some cases need assign "0" guid, then use ObjectGuid() instead.
* Fixed .pdump commands work.
Restore build with gcc and cleanup includes a bit.
Implement ACTION_T_MOUNT_TO_ENTRY_OR_MODEL (43) for creature eventAI.

Read doc/EventAI.txt for details.
SQL query to update existing scripts are included (convert from using ACTION_T_SET_UNIT_FIELD, field 68)
Add portable way for hash specialization adding.

Use it for ObjectGuid hash specialization
Making sure CreaturesAddon are re-loaded after creature evade
Use AI function DoCastSpellIfCan for eventAI ACTION_T_CAST
Implement UNORDERED_SET support.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also added compatibility code for old Visual Studio versions
for non standard way hash calculation for hash_set.

Thanks to Lynx3D for help in Unix side testing.
Rename UnorderedMap.h -> UnorderedMapSet.h
More wide use ObjectGuid in group code.

Also drop some unused functions.
And fix some uint32 -> uint6 guid assigns.
Implement EFLAG_RANDOM_ACTION

It allow execute one random action from EventAI event actions
instead each action from event actions.
Drop unused team-argument in ChooseDisplayId -function
Fixes for EFLAG_RANDOM_ACTION

* Field limited to uint8 so use proper flag mask (0x20 now)
* Search of selected action code also fixed.
Updated MySQL client libs to 5.1.49
Fixed build at VS90 with TR1

As problems show VS90 with TR1 different from VS100 by expected namespaces.
Simplify use Guild::BroadcastEvent
Avoid double lookup member slot in guild operations.

Also more wide use ObjectGuid in guild code
and fixed some uint32->uint64 guid assigns.
More wide use ObjectGuid in arena team code.

As always in this commits line fixes for uint32->uint64 guid assigns.
Finaly drop MAKE_NEW_GUID.

This meaning that ObjectGuid only proper way create guid from lowguid now.
But packet handlers still generate uint64 guids. Some DB fields also loaded uint64 values.

Also possible existed not catches et uint32->uint64 assigns.

YTDB 339
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new templates from WDB
+ update table "*_template" by WDB
+ data from sniffs (templates, spawn)
+ processed 117 caches (3.3.5a)
 
Divine Celestial
Member
Joined
Nov 30, 2007
Messages
825
Reaction score
20
Mangos 10381 - 10403
Code:
Implement generic system for racial model selection

Table creature_model_info store creature entry to use model from (or explicit model). The selection is based on a base modelId and racemask.

Hacks for shapeshift models removed (data included in SQL update)
Dropped no longer needed creature_model_info.modelid_other_team, as creature_model_info can and should be used instead (sorry, this is what happen when author doesn't do full research :) )
Add missing holiday id<->battleground id definitions for AB
Store guid instaed pointer for first user of GAMEOBJECT_TYPE_SUMMONING_RITUAL

This is more safe way in pointer store comparison with.
LAso Some related code cleanups.
Fixed reset time calculation for some cases.

Most real fix suggested by Schmoozerd and  Toinan67
and some my code style part coding ;)
Traditional post-commit typo fix.
Remove Unit::GetUnit and update it callers.
 Correct creature entry selection for raid difficulties

Original patch provided by False.Genesis.
Fixed quote parsing after optional arg in chat commands.

This is restore work .guid commands for example.
Make spawntime arg really optional as before for .gobject add
Typo fixes
(based on Darkrulerz's repo commit 758f4c7)
Add several new script calls for InstanceData

OnCreature Evade/Death/EnterCombat and in addition OnPlayerLeave
The functions are intended to help doing instance related tasks (in other words, not for the general AI of creatures).
Restore build at Unix after Unit::GetUnit drop.
Small correction in SetReputation to avoid confusion
Add script call for InstanceData, OnPlayerDeath

Called when a player really dies and also unrelated to the source of the death (for example a player can die indirectly from some mob ability, but must be registered. Achievements, other special events)
Remove redundant use of this-> in recent implemented script calls

Thanks porteyoplait for pointing it out /bonk author
No debug log output when a certain ability is active
Send GMTicket to SendGMTicketGetTicket instead text.
Fixed wrong difficulty selection and possible crash.
Fix mixed up FactionEntry to lookup in SetReputation
 Fixed typo in doc/EventAI.txt
Fixed crash in .aura command for spell without auras.
Some code style cleanups.
Use ObjectGuid in packets and fix some uint32 guids cases.
Stricted name check at chat command data loading from 'command' table.
 
Back
Top