Commit graph

1016 commits

Author SHA1 Message Date
Lynx3d
47397ff19b [10509] Fix some "foo initialized after bar" gcc warnings and remove some unused variables. 2010-09-20 10:07:25 +02:00
NoFantasy
d7994c1df4 [10480] Fix a bug causing creature dynamic flags to be removed at normal loot preparation.
In addition add use of UNIT_DYNFLAG_TAPPED_BY_PLAYER
Added check to see if creature is tapped for isAllowedToLoot()

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-09-13 10:34:53 +02:00
VladimirMangos
84a915e1b1 [10475] Implement SPELL_AURA_HEAL_ABSORB (301)
Used for example in spells 66237 and 70659.

Also rename CalculateAbsorbAndResist -> CalculateDamageAbsorbAndResist
2010-09-12 02:45:26 +04:00
Darkrulerz
214c65baa1 [10449] Typos in enum names and comments
Also typos find by darkstalker and Neo2003

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-09-06 15:48:37 +04:00
zhenya
e621af3b97 [10443] Fixed expected packet size for SMSG_SET_PROFICIENCY
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-09-05 00:54:26 +04:00
VladimirMangos
acd0716297 [10432] 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
2010-09-02 05:13:16 +04:00
VladimirMangos
09b03b470e [10402] Use ObjectGuid in packets and fix some uint32 guids cases. 2010-08-23 12:37:11 +04:00
VladimirMangos
c545392f2e [10401] Some code style cleanups. 2010-08-22 22:02:08 +04:00
NoFantasy
c252ca5bc4 [10394] Remove redundant use of this-> in recent implemented script calls
Thanks porteyoplait for pointing it out /bonk author

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-21 16:37:42 +02:00
NoFantasy
3332ed72a6 [10393] 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)

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-08-21 13:19:55 +02:00
VladimirMangos
5fd06abf44 [10379] More wide use ObjectGuid in arena team code.
As always in this commits line fixes for uint32->uint64 guid assigns.
2010-08-19 12:22:45 +04:00
VladimirMangos
9b3d37f0cf [10378] Avoid double lookup member slot in guild operations.
Also more wide use ObjectGuid in guild code
and fixed some uint32->uint64 guid assigns.
2010-08-19 11:17:33 +04:00
VladimirMangos
dbe9c6f190 [10371] More wide use ObjectGuid in group code.
Also drop some unused functions.
And fix some uint32 -> uint6 guid assigns.
2010-08-18 13:43:55 +04:00
Lynx3d
40f70138da [10364] Restore build with gcc and cleanup includes a bit. 2010-08-17 19:42:20 +02:00
VladimirMangos
5f44c4da21 [10363] 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.
2010-08-17 08:22:28 +04:00
Schmoozerd
12aa1bc606 [10352] 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.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-08-12 23:28:18 +04:00
Lynx3d
29281d476a [10345] 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.
2010-08-11 19:42:20 +02:00
VladimirMangos
a202b33702 [10339] Restore lines ends in Player.cpp :/ 2010-08-10 23:37:14 +04:00
VladimirMangos
45cdc67f58 [10338] 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.
2010-08-10 23:22:11 +04:00
VladimirMangos
779e40d5ff [10332] 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.
2010-08-09 06:17:23 +04:00
Lynx3d
a977c068f0 [10327] 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.
2010-08-07 21:19:59 +02:00
lasyan3
ad7b628ebf [10317] Rogue's energy rate in mangos.conf
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-08-04 02:46:24 +04:00
Lynx3d
28d1ac66c3 [10298] Clear tavern rest when leaving building and prevent forced unmount when in GM mode. 2010-07-31 09:54:43 +02:00
NoFantasy
25d9fd265b [10293] Correct a not exitan...non-existin... a word that is often spelled wrong
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-30 18:26:08 +02:00
VladimirMangos
6a4cae890e [10273] Avoid some redundent and recursive calls to SpellMgr singleton. 2010-07-26 16:51:52 +04:00
NoFantasy
756e29f891 [10258] Correct old typo in GetReputationOnKillEntry function name
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-24 13:49:46 +02:00
NoFantasy
61990de6dd [10252] 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

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-23 17:50:36 +02:00
VladimirMangos
9350c9990d [10250] 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.
2010-07-23 18:06:08 +04:00
Lynx3d
33e7d46519 [10248] Implement applying proper penalty spell when making use of talent 46917. 2010-07-23 07:45:57 +02:00
VladimirMangos
9d8b66cf93 [10246] Restore work killCredit and kill achievements in regular difficulty instances. 2010-07-22 13:11:34 +04:00
VladimirMangos
9381e8680c [10229] Small cleanup in taxi related checks 2010-07-20 00:42:58 +04:00
VladimirMangos
e8f18b1606 [10227] Generate gameobject loot only at open spawned gameobject. 2010-07-19 12:19:44 +04:00
SilverIce
1377db20a7 [10221] Fixed visual bug that some deleted auras still show at client side
(based on commit b10058e)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-07-19 00:11:39 +04:00
VladimirMangos
15374bd626 [10214] 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.
2010-07-18 01:13:48 +04:00
VladimirMangos
d6a3347245 [10209] Output leaned before disabled ranks at talent re-learn or spec swith in proper order. 2010-07-17 20:44:39 +04:00
VladimirMangos
20a5551739 [10207] Implement ITEM_FLAGS2_EXT_COST_REQUIRES_GOLD use instead sign of ExtendedCost field. 2010-07-17 19:23:38 +04:00
VladimirMangos
9882bc811f [10206] 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
2010-07-17 08:21:23 +04:00
Lynx3d
f2e3881a77 [10205] 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.
2010-07-17 05:53:17 +02:00
Lynx3d
01d326b90d [10202] Rename isInFlight() to IsTaxiFlying() and UNIT_STAT_IN_FLIGHT to UNIT_STAT_TAXI_FLIGHT.
Also add IsFreeFlying() function to Player class.
2010-07-17 02:06:28 +02:00
SilverIce
e47e9a2218 [10201] 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)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-07-17 03:46:57 +04:00
VladimirMangos
f8efc2b5b3 [10197] Add to playercreateinfo original player orientation field.
It still not filled. Patch with correct values welcomed ;)
2010-07-15 22:25:27 +04:00
VladimirMangos
09d61040e6 [10180] Implement ITEM_FLAGS_NO_EQUIP_COOLDOWN support.
Also server side check for ITEM_FLAGS_INDESTRUCTIBLE
2010-07-11 21:35:30 +04:00
Lynx3d
5e89098a61 [10165] 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!
2010-07-08 23:17:26 +02:00
VladimirMangos
cec6063933 [10158] Fixed 2 format args errors in debug output. 2010-07-07 21:43:41 +04:00
Laise
a32b3063a2 [10156] 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. 2010-07-07 19:08:26 +03:00
VladimirMangos
232db2b306 [10154] Fixed crash at loot item and etc after recent check add. 2010-07-05 14:05:55 +04:00
Lightguard
091b69500d [10151] Prevent autostoring not empty bags
Thanks to The_Game_Master for detailed information about the bug.
2010-07-04 22:58:42 +02:00
VladimirMangos
ebf27938fb [10145] 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.
2010-07-03 23:26:59 +04:00
VladimirMangos
5724fa1d43 [10140] Reuse GiveQuestSourceItem code for check case
Also show correct amount added item in case partly existed amount.
2010-07-02 23:24:57 +04:00
Oniryck
f3049e6dd7 [10137] Fixed item/go checks for active raid quests.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-07-02 17:31:12 +04:00