-
Code:
Mangos 9892 - 9901
Cleanups for BattleGroundEY code
Also prevent send uninitilized mark data in case BATTLEGROUND_EY end.
Simplify related code.
Fixed some spelling typos in function/structure names.
Move GetCastingTimeForBonus and some other code to
GetSpellCastTimeForBonus.
Important changes:
* Chaged way caluclation "-5% of total per any additional effect" to percent
apply instead use raw value that correct only for 3500 cast time spells.
* GetSpellCastTimeForBonus result now alwasy not applied to creature casted
spells
Before it not applied only to instant spells. Please test if this ok in all
cases.
* Leech effect modify spell casting time move into GetCastingTimeForBonus and
then called
also for melee spells. But only creature spells exist with melee class damage
and its
not affected by GetCastingTimeForBonus anyway now.
Move DotFactor+GetSpellCastTimeForBonus call to
CalculateDefaultCoefficient
* This coeff used if not spell_bonus_data provided for spell
* Continue prev. commit line expected that creature casts not affected by
DotFactor
Cleanup spell bonus coeff use code
* Avoid coeff calculation if target value is 0.0f
* Avoid use spell_bonus_data coeffs for creature damage.
Avoid multiply AP bonus coeff. with spell power bonus.
Problem exist in original code before recent commits.
Implement redundent values check in `spell_bonus_data`
Also do table content cleanup base at added feature.
Original check code provided by nos4r2zod.
Fixed sql update for ptrev. commit.
Fix SPELL_MOD_SPELL_BONUS_DAMAGE applying
Second attempt fix sql update :/
Implement 71342 mount selection
Also added
mangos_scriptname_full
scriptdev2_script_full
-
Long time no updates.
Code:
Mangos 9903 - 9972
Fixed build problem at *nix.
Add new config option for wait mode at startup error.
Note: it not applied to crashes and shutdowns after mangosd/relamd startup
completed.
You can continue without delay (as now) and fast exist, or wait <Enter>, or some
secs
for continue. Last can be helpful for see for example not applied sql update
revision
data and etc.
Correct SMSG_INSTANCE_DIFFICULTY structure (fixes raid difficulty
display).
More user friendly output at DB version check fail.
Make comment really proccessed by doc generator.
Add missing break. Not affect current code work.
Prevent SQL injection in equipment sets code.
Author of original verison: Machiavelli
Implement expected from 3.2.x time limit for BattleGroundWS.
With updates and fixes from zergtmn.
Check script using and existance at `creature_movement_scripts` load.
Partly revert [9911] :/
Fix TARGET_SCRIPT searcher and also look for objects that are Pet*
Pet (guardian, mini-pet) may also be the target of TARGET_SCRIPT, and are not
considered a grid object.
Add script effect of spell 51864, 51889 and 51910
In addition, dummy effect of spell 51866 and 51872 and dummy aura effect of
spell 51870.
Dummy effect of 51866 might need additional work (see comments).
Code expect additional spell cast by AI (summon dummy at death of related quest
target creatures).
Clarify game_event field values and fix typos.
Thanks to BrightStone for pointing to ;)
Fixed .account onlinelist work.
Fixes in loot roll timer work and related cleanups.
* Changes include (in fact as part cleanup) fix got NeedBeforeGreed locked item
after expire roll timer
suggested by [email protected].
* Added cancel rolling at creatuer corpse remove.
* For NeedBeforeGreed and GroupLoot sued common code for prepare item roll.
Fixed player's tapped creature loot access by group in diff cases
* If player tap creature in group and leave then group will have access to
creature loot if not disbanded
* If player tap creature and after join to group then creature loot will
accesable only by player
* Also RewardPlayerAndGroupAtKill divided to simgle player and group reward
versions used for group tap
and single player tap cases.
Output player name in ObjectGuid player output string.
Restore group rewarding at player kill.
In case player who tap creature in group leave group it must anyway
rewarded with group.
Rename BG_WS_UNK1 -> BG_WS_TIME_ENABLED
Fixed typo in prev commit.
Implement .server log filter and .server log level comamnds.
* .server log filter comamnd let temporary (until config reload or restart)
set log filters state. Or look at filters state.
* .server log level renamed from .server set loglevel but now let look at log
level also.
Add more log filters
* damage - different direct damage calculation tracing
* combat - combat state updates, roll attack result and etc
* spell_cast - spell cast progress and aura apply
Typos in Unit::DealDamageMods
Can be source very strange damage/absorb and any near stored/calculated in
memory values. and crashes also.
Support new raid allowed quest types.
Fix build...
Move apply spell coeffs and level penalties code to new function.
* No reson have 6 copies near to exactly same code.
* This fix problem with apply attack power bonus in some case.
Thanks to Wowka321 for find and reseach problem.
Move enum QuestTypes to QuestDef.h where it only used.
This is also fix build at GCC
After 3.2.0 expected AllowTwoSide.Accounts = 1 for any realm type by
default.
Change AllowTwoSide.Accounts default in code also.
And update config version.
Also note: it not has been propertly updated in prev. time
when config version in .conf.in changed. It must be sync changed in
*.conf.in and in SystemConfig.h.in
Call DealDamageMods for leech DoTs damage
Skinning related fixes
* Show skinning tooltip only after creature loot
(when creature can be explcitly skinned).
* Allow reopen skinning loot if still have not looted items.
ACE realmd, thanks to Zor and Vladimir for windows.
Remove sockets library from UNIX build
Added copyright notice.
Correct premature call of TalkedToCreature.
Only use TalkedToCreature when gossip does not have any following sub menu (and
of course when the prepared npc options does not include any gossip)
Sockets library use finally dropped
Specially thanks to Derex for make this possible! :)
Fix typo in AuthSocket.cpp
Add additional check for UNIT_NPC_FLAG_GOSSIP before using
TalkedToCreature
Output ACE version at realmd start.
Add a small delay for npc despawn related to spell 51840
This will solve problem with summoned GO that does not appear before later, but
does not solve problem with visual effects (which is a generic problem with many
spells).
Implement spell 633 and ranks self casting restrictions in 3.3.x
Update mangos_spell_check.sql
* Add all data from Spell.cpp
* Add missing data from recent commist for added parts of SpellEffect.cpp
More skinning fixes.
* Restore work with money loot.
* Old code sometime generate empty loot windows for normal loot and sometime
skip its.
Code changed to be more consistent. Added new option Corpse.EmptyLootShow that
control
show empty normal loot window in some cases enabled by default:
- if creature expected to be lootable but loot generated empty by some
reasons.
- if creature can be skinnable
If option disabled thne code attempt avoid empty normal loot windows for empty
cases.
* Possible fixed case instant despawn non-skinable creature after normal loot
complete.
Remove a few not needed checks in spell script effect
Add target for TARGET_DUELVSPLAYER_COORDINATES only if not provided by
another way.
This fix for exmple unexpected empry heal if targeted by spell 48438 and ranks.
Fixed crash at .gobject turn command (at *nix at least)
Fixed bug with raid subgroup size update at move member to another.
Also some code cleanups
Allow update subgroup in raid for offline players.
Also prevent crash and wrong subgroup number send from client.
Remove two not needed cast to Creature* and make code more safe
Lost socket.vcxproj referecne in VS projects.
Thanks to j4r0d for catch this.
Prevent negetive proc events from possitive effects of negative spells.
Some negative spells have positive effects with targets not affected by negative
effects of spell.
For example spell 45524 cast negative effecst to target and possitive effect to
caster self.
For like possitive only target of negetive spell will not triggered negative
proc events.
In last cases will avoid triggering glyph 43537 at caster at spell 43537 cast.
Spell 45524 expected apply debuf 55095 to target at cast.
Alow sell item for money and extanded coset without momey in same time.
npc_vendor.ExtandedCost can be negative now that meaning:
price excluded default item BuyPrice and use only abs(ExtandedCost) items).
For example expected used for item 36908.
Implement item 34753, 43015, 43478, 43480, 46887.
Fixed resent radnom problem with looting related to skinning code
changes.
Thanks to boxa for help in research problem.
Implement glyph 43390.
Chance unknown and seelcted by more recent comments.
Restore work talent 18213 and ranks.
Thanks also to insider42 for updating.
Modify way 4x damage bonus claculated for spell 1120 and ranks.
* Now apply 4x bonus dependent from target health in time spell cast,
not from current health in tick.
* 4x bonus applied to own spell damage value, not to total taken damage.
Implement per-tick chance for shard for spell 1120 and ranks.
Implement Treshold in Masterloot.
Fixed triggering of spell 55095 by 45524.
(based on insider42's repo commit 90de00d)
It include reverts commit ca99760e884d82219fff63ecf5f2ca87b02b5924
with less clean implemetation.
[patch 155] Fixed triggering of spell 55095 by 45524. Patch provided by me
(based on commit 90de00d)
Add CharacterDatabaseCleaner to VS2010 filters.
Fix 16164 proc conditions
Allow have reserved entries with empty names in log filters table.
Additional check for HandleAutoBankItemOpcode.
Fixed array free in vmap code
Typo in BattleGroundQueue::AddGroup arg name
Move CharacterDatabaseCleaner.* to Tools group as for VS100 done.
YTDB 323
+ All fixes from forum;
+ fix spawn;
+ quest scripts;
+ mob's gossip menues;
+ new templates from WDB
+ update fields "*_template" by WDB
+ filling table "creature_movement_scripts"
+ processed 221 caches (3.3.3a)
-
-
Code:
Mangos 9973 - 9999
Fixed selection BG map difficulty.
Thanks to insider42 for help in research problem.
Restore raid functionality broken after one from 3.3.x switches.
* Fixed typo in raid converting code that triggering raid disband at server
restart.
* Fixed current subgroup show for character and update group memebers data at
move its
in diff subgroups.
Use special function for honored/xp kill check
Fixed typo in recently added group enums.
Update talent 16180 and ranks work.
Add explicit AP damage bonus for spells 55095, 55095.
Original patch provided johonson.
Update max cooldown length req. for spell casting at arena.
Remove target guid in spell with TARGET_FLAG_DEST_LOCATION
Corrects spell animations and visual going in weird directions for these kind of
spells
For non-player at "offline" delete hostile references.
This must fix porblem with call message broadcast from unit destructor.
Group out of range member must based at client existances.
Also move empty mask check from build function to caller.
Leave at AFK applied only to battlegrounds (not arena)
Also restore build...
Implement item 43214 work.
* Original version suggested by timmit.
* Required DB support for target requirement.
Send SMSG_CORPSE_NOT_IN_INSTANCE if player in ghost form tries to enter an
instance without player's corpse.
Talent 51459 and ranks affect only melee auto-attacks.
Restore work talent 12311 and ranks.
Thanks to insider42 for prepare patch for mangos.
Add correct spell chain data for 61024 and 61316.
Use unix styoe line ends in soem files
Use more correct data for prev. sql update.
Next step in fix SMSG_GROUP_LIST structure.
Now assistant/main tank/main assistant show properly
for viewer character also.
Thanks to insider42 for posting patch in Under review section.
Fixed MSG_PARTY_ASSIGNMENT processing.
Limit spell 50988, 59870 targets amounts to expected.
Fixed a bug/typo that prevent to summon a special flying mount.
Move GridMap class (and related structs/enums) to separate cpp/h.
Also rename some structs/enums and fix some code style.
Remove grid state debugging code and move state machine to MapManager.
Some changes in HashMapHolder.
* Use ACE_RW_Thread_Mutex, since there's much more reading than writing.
* Use read lock in Find(), and write lock in Insert() and Remove().
* Correctly lock the hashmap on outside calls.
Fix *nix build.
Remove a piece of trailing whitespace.
YTDB 324
+ All fixes from forum;
+ fix spawn;
+ quest scripts;
+ mob's gossip menues;
+ new templates from WDB
+ update fields "*_template" by WDB
+ processed 245 caches (3.3.3a)
-
Mangos 10000 - 10011
Code:
Redundent empty line.
Rename current version sql updates (0.16/root dir) to 5 digits format
rev.
* order guards not affected in sql updates so this not affect sql guards work.
* TO DEVS: in next sql update commit please check carefully generated by git_is
-s
sql guards for correctness
Fixed map loading .map build checks.
Bug exist long time before recent code moves.
But it not affect in cases proper .map files.
Fixed unix* install.
I forgot update sql updatenames in Makefile.am after its rename.
Add script effect of spell 43365, 50217, 50218 and 50238.
Add script effect of spell 41055 and 45206.
Fixed typo in mangos.sql
Fix wrongly initialized value
Fix sqls
Fix realmd to accept more than 64 connections on windows.
Use schoolmask enum in struct SpellNonMeleeDamage, some indents fix.
Check redundent procFlags value in `spell_proc_event`.
-
All .NetFramework versions has been added
-
Added a program for x86, this one must work if .NetFramework didn't work for you.
-
nice , keep it up mate :)
-
Mangos 10012 - 10025
Code:
Fix charges taking for 16246
Implement CONDITION_QUESTTARGET
For cases when loot dependent from some quest objective complete state.
Revert "[10013] Implement CONDITION_QUESTTARGET"
This reverts commit 4e460746c0947f6cfc1f1150a8eb90257819eae2.
More redundant data check in `spell_proc_event`
Remove unused RewardSinglePlayerAtKill result.
Make spell_proc_event.SchoolMask unsigned.
Also use byte length hex for school mask in mangos.sql data.
Add 16246 proc to mangos.sql
Implement glyph 45623.
Thanks to Most_Mangos, DonTomika, darkstalker for dollution research.
Drop unused member in VisibleNotifier structure and related functions
(based on SilverIce's repo commit e678555)
Also applied mangos code style to GridNotifiersImpl.h
Move item disenchanting static req. checks to server start.
Fix damage for 14278 and 16511 and ranks when dagger is equipped
Change HandleLearnAllMySpellsCommand to learn only player's spells
New LogFilter_DbStrictedCheck filter for DB devs
It's enable by default (prevent show related output) but
in disbled case allow show useful for DB developers different
more stricted DB check output at server loading, including
* Absent GO trap template referecned in some another GO template
* Not set (0) unit class in creature_template
* Absent disenchanting loot for items marked as disanchantble
This all cases can or hard fixed in one step or show false cases y different
reasons.
That why filter active by default.
Fixed unexpected C++ code parsing with *FILTER_LOG in 'if'
YTDB 325
Code:
+ all fixes from forum;
+ fix spawn;
+ quest scripts;
+ mob's gossip menues;
+ new teplates from WDB;
+ fix stats of NPC: Alterac Valley
+ fix data "disenchant_loot_template"
+ update tables "*_template" by WDB
+ processed 280 caches
-
Mangos 10026 - 10032
Code:
PDump code fixes and cleanups
* At pdump creating will propertly saved NULL field values.
* At pdump loading will skipped adding `character_declinedname`
if name in some way will be changed (explicly or at loading)
SPELL_AURA_ADD_TARGET_TRIGGER long time not use spellmod for work.
Drop dead code.
Reward group for shareable quests at cast event to creature/go.
Clarify client dependence for some MeleeHitOutcome values
Add aura remove modes for expire and absorb shield break cases and use
GetTarget()/GetSpellProto() instead of m_target/m_spellProto
Replace hard coded quest dialog status value with enum value
Some minor code cleanup for readability.
Remove not needed local declaration of dialog status and rename some to
clarify.
Additional cleanup for readability.
-
Mangos 10033 - 10049
Code:
Use sometime stored in spell data triggred spell info for dummy auras.
In case unknown triggered spell output more known info for location
problem.
Additinal reqs for spell 49219/51459 and ranks triggering.
* Only at melee attack or spell 56815 hit.
* Spell 49219 and ranks also ignore offhand attack.
Fixed health restore and triggering cooldown for talent 30881 and ranks.
Fixed poison consume by spell 32645 and ranks.
It will consume only caster casted poisons.
Prevent double triggering heal from 63534 and ranks.
Also use more simple and safe checks for added in [10035].
Partly revert [10033] for spell 44394 and ranks related code.
Not all ranks of spell have proper triggered spell info.
Return to old more explicit code.
Expected RAP bonus to damage for spell 1510 and ranks.
Use for spell 49145 and ranks for decrease SPELL_DIRECT_DAMAGE damage.
Implement CONDITION_QUESTAVAILABLE.
Also do come constatification of quest status check functions
and fix one unsafe use std::map operator[].
Never never use std::map operator [] for _read_ access.
Good chance corrupt related structure state ;)
Not in found case but in general.
Fixed share quest in case completed objectives.
* Also fixed CONDITION_QUESTTAKEN for same case.
* Aslo fixed exclusive prev quests check.
Generate talent related spell_chain data instead storing its in table.
* Drop now redundant part of data from `spell_chain`.
* Allow store in spell_proc_event cusom ranks data for ppm for chained ranks.
* Drop now redundant part of data from `spell_proc_event`.
Frop unexpected custom rank data for 26016.
This make spell rank use first rank data.
Store guids instead slot data for trade items.
Fixed show wrapped gifts in trade windows.
Also some fixes for trading related not full read packet spam.
Move trade data to dynamic created structure.
Also possible fix old bug with spam trade cancel after logout.
Fix SPELL_AURA_MOD_HEALING_DONE healing bonus with 0 misc value
YTDB 326
Code:
+ all fixes from forum;
+ fix spawn;
+ quest scripts;
+ mob's gossip menues;
+ new teplates from WDB;
+ update tables "*_template" by WDB
+ fix spawn for scripts: "Halls of Reflection", "Pit of Saron", "The Forge of Souls"
+ processed 304 caches
-
Mangos 10050 - 10059
Code:
Implement apply non-trade slot item enchanting at trade complete.
Base at original patch provided by arrai.
Fixed talent 58426 broken after 3.3.3 switch.
Also cleanup character auras from wrong duration auras.
Camera System
(based on SilverIce's repo commit 4f2f4ab + next 3 more)
Use UNIT_STAT_CONTROLED for mark unit state under direct player control.
* This allow prevent move home/to caster at apply
* Also replace AI and reset movegens at control time
* Also stop combat and clear threat/hostile list at lost control for prevent
combat with freindly units.
Fix crash when not saved action buttons are removed during spec switch
Use creature equipment from normal _template when id is not set for
difficulty
creature_template of difficulty_entry_N then only need equipment_id when
equipment should be different from the normal creature entry.
Re-add spell proc sql data from [7879].
* It not has been added in commit time to mangos.sql
* It alsow required data updating in family masks.
Thank you to NoFantasy for reseatch problem :)
Type in UNIT_STAT_CONTROLLED
Add to mangos.sql data from 09720_01_mangos_spell_proc_event.sql
Thank you to NoFantasy for pointing to inconsistance.
Cleanup in Player::m_mover uses
* Also fix triggered by related checks unread packet tail spam cases.
* Fix one case when expected death at fall controlled player
under ground has been possible avoided
-
Mangos 10060 - 10075
Code:
Drop unused ACE_Stack_Trace in Error.h
This also can fix possible build problem in case use at system old ACE version.
Implement 49220 and ranks
Added missing return statement.
Revision increase.
I am sorry, i forget to apply git_id :(
Removed wrong method const.
Cleanup recent added code.
Fixed recently show up crash in Unit::StopMoving.
Some return values fixes.
Some tuning in consts.
Allow item INVTYPE_RELIC to be equipped by npc from
creature_equip_template
Fixes in pet movments
* Use proper stop packet as expected. In case 0 trevel time used before move
packet
can generate infinity move forward (at client side).
* Avoid reset top movegen before add idle in pet stay command.
* Avoid assign random move to player owned creatures as default movegen.
* Finish follow movegen init including need-stay case.
Really do "Avoid assign random move to player owned creatures as default
movegen."
Remove old, commented code no longer needed in SendMonsterMove
Not need add new cases inline for in-class function definition.
This is redundant from current C++ standart point.
More methods for access/modify ObjectGuid update fields.
* Some related cleanups.
* Also drop unused Player::SetFarSightGUID decalration as reported by LordJZ.
Make object active at applying view on it
also isActiveObject check moved to WorldObject - all worldobjects are inactive
by default, excluding players
this is a final part of cameras implementation
(based on commit efc9623)
Also remove template-way code selection for object for
Map::AddToActive/Map::RemoveFromActive.
This simplify function use from not Map code.
Add IsPassive(SpellEntry*) function and use in cases wjern entry already
known.
Some other small code cleanups
Attempt use more expected by result buffs downranking algo.
* In small rate more fast
* Not affect non-buff ranked spells like 10909
YTDB 327
Code:
+ all fixes from forum
+ fix spawn
+ quest scripts
+ mob's gossip menus
+ new teplates from WDB
+ update table "*_template" by WDB
+ processed 333 caches (3.3.3a)
-
Mangos 10076 - 10091
Code:
Fixed crash at remove from world pet under SPELL_AURA_MOD_POSSESS_PET
* Prevent crash at camera list update at attempt increment end() iterator.
* Properly do unapply SPELL_AURA_MOD_POSSESS_PET (GetPet() can return NULL at
call, and not need checked)
* Propertly call unapply at delete auras cases for auras that set player-caster
mover pointer.
Add delayed far teleports for opcode handlers
Some opcode handlers have many code with possible deep calling
far teleports by some reason (death, quest script, etc).
This can be triggering unexpected lost Map context and crashs result.
Note: player login opcode still have disbled delayed teleports (old way work)
just becase Player object created in it and not have flag set.
Calling point look not 100% safe but at this commit this way not chnages for
while.
Use const referecne to opcode handle.
Don't allow cancel passive spells
Fixed ghost teleport and cleanup code.
Use ACE config library instead dotconfpp
NOTE: all config versions update because in old state
it's not compatible with new way loading.
Look for *.conf.dist.in chnages in commit for update configs.
Drop now unused dotconfpp lib code.
Made some Spell.h dependences more explicit.
Resync. opcode names in Opcodes.cpp/.h
Allow loot roll value 100
Implement use .go command with shiftlinks or player name.
* Now if for .go command provided no X Y Z args command will not teleport player
to nowhere.
* Instead command allow used with player name and work as simplifed .goname
(teleport to player _point_ in user instance binding, not to player instance)
* Also command can be used with diferent point coordinates provided shift-links:
- player (result for example .lookup player account)
- creature (result .list creature command)
- gameobject (result .list object command)
- tele (result .lookup tele)
- taxinode (result .lookup taxinode)
Move table in more expected mangos.sql part
Restore work of 1120 and ranks. (Revert of [9962])
Change in event system work with pool system.
* `game_event_pool` dropped and related in momory data generated
based by another pool tables content.
* Pool work with spawed at event and despawned at event object now different.
- If object listed in `game_event_*` as spawned at event start and it's part
of some pool
then all other pool object must be listed as spawned with this event start,
and more,
if pool has mother pool, then all mother pool members must have objects
spawned at this
event start. More short: all object of some top (not have mother pool) mitbe
or listed for some event start spawn,
or not listed for any event start spawn.
- If object listed in `game_event_*` as DEspawned at event start and it's part
of some pool
then nothing special required for other pool objects. Event systemwil
command to pool system exclude for spawning and despawn referenced
object until event end.
* Many checks has been added at event/pool data loading.
* Changes fix crashes related to event/pool common work.
Thanks to NoFantasy for help in research original problems and ways for improve
code.
Really output log level at ".server log level" command.
Use ACE for command line options parse.
Note: "--service run" renamed to "-s run"
in consistence with other serrvice options.
-
-
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)
-
I have a problem with mangosd.exe and realmd.exe. Ive downloaded the latest ones but when i start them they shut down immediately. There is no error message or anything, they just shut down as soon as i start them. What can be the reason for this issue?
-
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)
-
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
-
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.
-
added
maps 3.3.5
buildings 3.3.5
dbc 3.3.5
-
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
-
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.
-
Thanks for this YTDB is the best!
-
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)
-
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)
-
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.
-
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.
-
-
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)
-
Good work mate, keep it up.
-
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)
-
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)
-
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.
-
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 <[email protected]>
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)
-
I have downloaded all the files , can I run server with that ? Or I need scripts ?
-
yes you can run the server.
-
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.
-
Mangos 10404 - 10422
Code:
Additional checks for call assist.
Restore remove spell affect 58427 after stealth fade.
(based on Wowka321's repo commit 45c5757)
Fixed work .learn and other spell commands with unlearned talent shift-link.
Unlearned talent have -1 as rank in shift-link, return instead first rank.
Add -o <outfile> option to genrevision.
This gives more flexibility to build systems that don't run genrevision with desired destination as working dir.
For example a build system may run:
build/tools/genrevision -o build/src/shared/revision.h
Fix mistake in recent debug log output change (ref 10395)
Restore work of 47230 and ranks
Fix wrong sql
fix broken sqls for spell_proc_event..
add a BindIP warning to worldd/realmd config files
Add some missing class/struct forward declarations and includes.
Constantify some functions in InstanceSave.
Sort triggered spell chains 44203 and 42231 in proper place `spell_chain` data.
fix 71611 proc and remove check for family name if no spell_proc_event is defined
Fix Battle/Guardian elixirs stacking
Merge not-skill linked spell lists in `spell_chain`
Check redundant single rank spell data in `spell_chain`.
Also, add empty lines to end of file and apply code style tosome sql updates.
Avoid send stop packet in PointMovementGenerator when unit is not moving
Also never send stop packet when destinationHolder hasArrived, it's expected that unit is already not moving.
Correct typo in function name.
Fix 71642 proc conditions
YTDB 340
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 130 caches (3.3.5a)
-
Mangos 10423 - 10446
Code:
Load most spell chains data from SkillLineAbility.dbc
* Output error for redundent data in table
* Drop detected data from `spell_chain`
Fix 50334 additional targets part
Add comment in Aura::CanProcFrom
Remove not needed checks from IsNoStackAuraDueToAura
Drop redundant data from `spell_proc_event` after recent spell chain changes.
Fix line ends :/
some format string fixes
Improve detection removed ranks for spell in `spell_chain`
Correcting issues with flying creatures falling to ground at death.
Simplified the way FallGround works and death states are set in a more logical way when a mob is in fact DEAD_FALLING.
Visual will in some cases not be correct. Notes in code for details.
Thanks to Lynx fixing Map::GetHeight
It now return mapHeight as last resort, making FallGround work as expected.
This fix reveal one (known) bug, and therefore a temp hack is added in TargetedMovegen, to be sure Z is not the ground Z for a creature that are able to fly.
Other creatures will follow by the ground level Z (in other words, they will no longer follow in the air).
Rename ASSERT -> MANGOS_ASSERT and related fixes
ASSERT hard use in predictable way because diff. 3rd party libs code
redefine it inf different ways and hard make sure that used in end
of mangos define version. This is real detected problem make some
expected assert checks ignored and so bugs not detected as expected from code.
In addition made related changes:
* Common.h header expected to be first include in any src/game/header except most simple cases.
* Related FILE.h header expected to be first include in FILE.cpp
* Fixed some absent includes and type forwards for safe build without PCH enabled.
* Avoid using MANGOS_ASSERT in src/framework code
Implement EVENT_T_MISSING_BUFF for self buff check
Also added amount spell stack checks at loading
for EVENT_T_BUFFED and EVENT_T_TARGET_BUFFED.
Add missing braces - should fix 51664 and ranks
Fix recently added uint64 use for query in char deleted commands.
In mangos DB we store full guids only in *_aura tables for caster.
Fix typos in invisibility aura handlers
Fix engineering bonus for injectors
Fix GetHeight() to return height within actual search distance only.
Good news: Fixes fishing bobber
Bad news: Mobs follow into the air again unless larger search distance is used
Increase search distance at height search if we know expected limit.
When we know that point above .map ground search at least until ground level for vmap height.
Good news: Fishing bobber still fixed ;)
Good news: Mobs not follow into the air again
Implement spell 55680
Fix 64962 bonus for 47541 and ranks
Fix armor bonus part of talent 33853 and ranks
Fixed expected packet size for SMSG_SET_PROFICIENCY
Fixed scripted AI init for TemporarySummon/Totem summon code
Call AIM_Initialize before adding to map instead after calling.
This make this call order similar other cases.
Re-implement in more safe way single cast spell targets system.
It also fix case when target can unexpected lost single target aura at phase switch
in case when target still visible in new phase (pet for example)
Small fix for single target auras: remove caster only auras
Avoid remove different caster aura if target have similar diff caster auras
in case when auras from diff casters allowed for spell.