Commit graph

946 commits

Author SHA1 Message Date
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
VladimirMangos
41f8cfb14c [10123] 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.
2010-06-30 00:45:14 +04:00
NoFantasy
1713caae17 [10115] 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

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-06-28 12:10:56 +02:00
VladimirMangos
67a7892075 [10114] Store associated InstanceSave for dungeon map in Map object 2010-06-27 21:11:26 +04:00
VladimirMangos
6f4481a591 [10113] 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
2010-06-27 19:50:52 +04:00
NoFantasy
0757b43929 [10111] Move code for initialize player model data and scale to same function, InitDisplayIds
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-06-27 13:13:12 +02:00
NoFantasy
2375a1cb71 [10110] Add function Get/SetObjectScale and update code where scale is set.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-06-27 12:39:29 +02:00
NoFantasy
bb3b0bd598 [10109] 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).

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-06-27 01:31:51 +02:00
VladimirMangos
593f1e81b9 [10103] 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.
2010-06-24 09:10:57 +04:00
VladimirMangos
e63dc32f4d [10080] Fixed ghost teleport and cleanup code. 2010-06-19 22:44:36 +04:00
VladimirMangos
07a931e141 [10074] Add IsPassive(SpellEntry*) function and use in cases wjern entry already known.
Some other small code cleanups
2010-06-18 02:17:51 +04:00
SilverIce
6ca609629c [10073] 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)

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

Also remove template-way code selection for object for Map::AddToActive/Map::RemoveFromActive.
This simplify function use from not Map code.
2010-06-18 00:19:12 +04:00
ApoC
7dd5456401 [10066] Some tuning in consts.
Signed-off-by: ApoC <apoc@nymfe.net>
2010-06-16 23:31:23 +02:00
VladimirMangos
5b15cd5dd2 [10063] Cleanup recent added code. 2010-06-15 17:19:45 +04:00
ApoC
38dbd27569 Added missing return statement.
Signed-off-by: ApoC <apoc@nymfe.net>
2010-06-15 14:48:32 +02:00
Laise
9811858d44 Implement 49220 and ranks 2010-06-15 15:27:08 +03:00
VladimirMangos
2326292981 [10059] 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
2010-06-15 03:50:52 +04:00
Laise
10634ac5be [10054] Fix crash when not saved action buttons are removed during spec switch 2010-06-14 12:25:42 +03:00
VladimirMangos
b4b45333d8 [10053] 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.
2010-06-14 10:27:44 +04:00
SilverIce
e427ce80cc [10052] Camera System
(based on SilverIce's repo commit 4f2f4ab + next 3 more)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-14 07:23:03 +04:00
VladimirMangos
64f959fb82 [10050] Implement apply non-trade slot item enchanting at trade complete.
Base at original patch provided by arrai.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-11 22:46:16 +04:00