Commit graph

1328 commits

Author SHA1 Message Date
Laise
68eb5f118c [11767] fix spell mod sending 2 2011-08-05 08:53:22 +03:00
VladimirMangos
0220101f7e [11759] Fixed money reward for max level and repeatable quests
* Remove excluding normal repeatable quests not first cases for money/xp
   rewards. This is not confirmed functionality and possible related wrong
   repeating flag set for "first" repeating quest versions. Whern exist
   normal quest and second repeating quest with same details.
 * At max level positive RewOrReqMoney already included in RewMoneyMaxLevel
   and then not need rewarded\
 * When RewOrReqMoney > RewMoneyMaxLevel then RewMoneyMaxLevel values
   ignored and always used RewOrReqMoney as money reward.

Thanks to Lynx3d for original problem research.
2011-07-28 18:49:56 +04:00
Laise
ab062be208 [11752] fix spell mod sending 2011-07-25 07:23:44 +03:00
Laise
e178c79d51 [11748] Replace SpellModifier struct by direct aura access (this should fix charge drops of 36032) also revert [11740] 2011-07-20 15:41:39 +03:00
VladimirMangos
3e0cacbdaf [11743] Fixed auction crash in case missing localization for only some items
Source crash in missing locale strings array size check before access
to it in locale structure.

Also move repeating code for access to wide used localization string arrays to ObjectMgr functions.
2011-07-19 02:34:16 +04:00
rowman
222612fa51 [11740] Restore spellmod charges used by fail spell cast
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also

 * Prevent more one charge use for same spell cast
 * Cleanup enum SpellState from unused cases
 * Propertly remove spellmod charges at spell finish in case pet/totem caster
2011-07-16 10:14:03 +04:00
Laise
0254ad6bf9 [11738] make armor bonuses from certain items be unaffected by base armor mods 2011-07-14 12:13:13 +03:00
SilverIce
94133107c7 [11727] Interrupt spline movement at teleporting
this fixes the position desync issue caused by teleport packets
2011-07-09 19:23:53 +03:00
SilverIce
9d566398ad [11720] Implement spline movement subsystem
Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc).
Proper implementation of effects such as charge, jump, cyclic movement will rely on it.
However, need improve our states system before.

Technical changes:

 1. Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
 2. Precission increased. There are no more position desync issues since client's position calculation formulas used.
 3. Now possible to move by paths with multiple points, send whole path to client.
2011-07-08 17:25:13 +03:00
VladimirMangos
f4be64ff48 [11715] Remove World::setConfigPos for uint32 and move check to all uint32 config values.
As part changes move to int32 list as expected by values:
 * CONFIG_INT32_QUEST_HIGH_LEVEL_HIDE_DIFF
 * CONFIG_INT32_QUEST_LOW_LEVEL_HIDE_DIFF

Please report if mangosd will report unexpected error (< 0) for some signed config option.
I check manually but maybe miss some...

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-07-07 03:47:34 +04:00
VladimirMangos
cc11366d6b [11702] Alsways attempt generate randomProperty for item in at create if value not pre-selected.
This resolve all existed cases when we miss assign random property id.

Also move random property/suffix check from item creating to server load time.
2011-06-30 19:19:02 +04:00
VladimirMangos
04a469f393 [11670] Implement in proper way ITEM_SPELLTRIGGER_ON_STORE (5)
Item spells with this trigger mode expected casted at item add
to inventory/equip slots (exclude bank), and spell auras (if any)
applied while item in like slots. Item expected destroyed at aura
remove by some reason.

Implementation note: because 2 step way item moves from slot to slot
related auras not removed at internal RemoveItem call and removed only
at directly item destroy/remove from player function calles, or at StoreItem
(if item added to not appropriate slot). So need in future careful with new
RemoveItem call cases.
2011-06-24 22:55:58 +04:00
VladimirMangos
3bea0ec357 [11657] Daily/weekly quests must still reward expirience/max level money at repeating. 2011-06-19 22:11:45 +04:00
mumion
328a62f18f [11656] For not first repeating quest avoid reward money as xp replacement.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-19 21:51:32 +04:00
VladimirMangos
45292a9d56 [11650] Group members see same group member ghosts.
Also drop battleground case that just same check in fact.

Original patch and research provided by Den.
2011-06-19 04:00:51 +04:00
Den
f1fcefce4f [11648] Breath/fatigue/fire damage timers tick each 2 sec. 2011-06-19 02:46:09 +04:00
cmaranec
2d7768a5ab [11646] Implement support item converting at expire
Example: items 44623->44625->44627 convertion chain

* New table `item_enchantment_template` store original->final item pairs
  Original item must have duration setup.
* Small change in GetItemConvert for consistence (now 0 returned if no convert pair instead original entry id)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-18 21:15:20 +04:00
VladimirMangos
a97370a7f0 [11645] Fixed work EffectSummonChangeItem, for example, for item. 17223
Also
* Move item comvert code from spell effect to new function.
* Some code style cleanups.
2011-06-18 21:09:42 +04:00
SeTM
9300842b04 [11643] Restore skill/level checks at traning non-prof spells.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-18 17:11:11 +04:00
VladimirMangos
74e7d5ddcd [11642] Fixed some added in prev commit warnings. 2011-06-18 06:07:55 +04:00
VladimirMangos
4bedd22a3f [11640] Implement TradeSkill.GMIgnore.* config options
Options let set GM level that allow ignore at training level/skill/maxprofs
Mostly for allow avoid use commands when need learn prof ranks.
2011-06-18 04:06:44 +04:00
zergtmn
75c4578be8 [11636] Add two missing initial world states 2011-06-17 23:29:03 +06:00
zergtmn
54f623d2b8 [11632] Revert part of 11631 2011-06-17 16:27:06 +06:00
zergtmn
10865b633f [11631] Fix wrong overriding aura stack amount and proc charges at loading
Need to consider spell mods, partial dispels and etc...
2011-06-17 16:14:38 +06:00
VladimirMangos
6190894330 [11627] Restore spelmods apply after ClassFamilyMask commit. 2011-06-12 21:09:40 +04:00
VladimirMangos
c686697c2d [11623] Implement ClassFamilyMask as wrapper for uint64+uint32 spell family masks
Inspired by patch suggested by darkstalker

Also
* Remove existed enums for family masks as contra-productive for developement.
* Drop one from horrible hack checks in SpellMgr::IsNoStackSpellDueToSpell
  (spells for any fimilies with exactly 0x800 mask) I fail find useful cases
  for current spell data with this check. All cases expected work correct without it.
  If will some problems detected with this please report for fix in less strange way.
2011-06-11 21:20:42 +04:00
Lynx3d
1ffde196ce [11620] Make equipment manager handle "ignore this slot" option properly.
Also fix SQL fields to use unsigned values as expected in code, otherwise large values will get lost.
2011-06-10 18:51:33 +02:00
Feanordev
c11a2b68b7 [11614] Totem/Relic/Sigil etc swapping should tirgger GCD
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-06-06 15:12:55 +04:00
VladimirMangos
44d168d4a3 [11608] Check correct map for enter at far teleport
Not fatal porblem, but let correctly work check for avoid teleport back at teleport fail.
2011-06-05 21:46:07 +04:00
VladimirMangos
108a167c46 [11587] Use SkillRaceClassInfo.dbc data for check spell training.
* Show race/class specific min level in trainer list (for weapon master for example)
  and use it for check spell traing possibility.
* Hide for specific race/class some spells marked by flag  ABILITY_SKILL_NONTRAINABLE
  This possible in cases when spell available for race/class but learned from talent/etc
  and then don't must be show for race/calss pair in trainer list. Single case in 3.3.5a.
* Add to code tables for profession ranks for seelct correct rank related reqlevel
  and check DB side data for it. Note: DB reqlevel values redundant for profession rank
  spells now.
* Use for reqlevel selection (if DB value not provided) learned spell insteed cast-spell
  spellLevel field. This let in more cases select training reqlevel without provided DB value.
  For LogFilter_DbStrictedCheck = 0 mode output data about like redundant reqlevel values
  in traner tables.
2011-06-02 09:55:25 +04:00
VladimirMangos
6092bbf502 [11579] Grrrr.... typo prev. commit. 2011-06-01 03:39:09 +04:00
VladimirMangos
7371bb96e1 [11578] Prevent lost aura from spell applied at use equipped consumable item.
So aura will not removed at unequip like item with multiply charges,
and will not removed at last charge with item deleting in result.

No like items in 3.x known but exist in prev. client versions.
2011-06-01 02:36:17 +04:00
VladimirMangos
e17f7bf4d5 [11569] Remove recently added area switch time duel check.
Only duel start expected to be limited by area.
Duel end controlled only distance/map and outOfBound timer
2011-05-30 12:02:30 +04:00
VladimirMangos
4f214f55d7 [11566] Fixed problem with reuse BG save data not only at first failed login to BG.
Most visible problem result: infinity restart in taxi flight
after join to BG from taxi if character logout in BG and BG finished before re-login.
2011-05-30 05:47:12 +04:00
VladimirMangos
4a087e6bda [11557] Duel related fixes
* Implement duel allowed check base at proper area flag AREA_FLAG_DUEL (0x00000040)
  This allow duels for example in capital area 4570 and allow/fogbid correctly some other zones and areas.
* Implement duel cancel at leave duel allowed area
* Fixed code for duels work in sunctuary if area allow duels.
2011-05-29 03:57:15 +04:00
NoFantasy
8d8abd2afb [11555] Add a comment for SMSG_UPDATE_COMBO_POINTS
Remove another obsolete comment

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-28 20:54:36 +02:00
breakwater
ce14b28ba4 [11552] Implement aura SPELL_AURA_STOP_NATURAL_MANA_REGEN (294)
Also partly implement using it spell 62692.

FIXME: Some spells expected to be working for target under spell 62692 effect
       not working. This need additional research and fixes.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-05-28 05:24:36 +04:00
zergtmn
5cae1c2211 [11539] Implement group guids with HIGHGUID_GROUP 2011-05-25 19:55:35 +06:00
NoFantasy
0fbf2cf7d3 [11538] Add safeguard against weirdness in UpdateCombatSkills
Prevent weapon/defense update also in case of negative skill difference result (may become negative after use of .level -N -command)

Signed-off-by: NoFantasy <nofantasy@nf.no>
2011-05-25 12:25:14 +02:00
SilverIce
4bb2d662a2 [11536] Override Unit::SetPhaseMask for players, move some functionality from Aura::HandlePhase 2011-05-25 04:20:50 +03:00
VladimirMangos
2cbde12458 [11534] Guild disban memory losses and unsafe code.
* Make sure that guild object deleted in all cases after disband.
* Avoid recusive like way call Disband from DelMember
2011-05-25 03:20:28 +04:00
VladimirMangos
d111d1a4b3 [11497] Fixed another source of crash at accept quest from item.
OnQuestAccept script calls moved into Player::AddQuest before
remove/replace quest starting item.
Its still called only at quest accept ofc (questGiver object != NULL only in like case.
2011-05-17 00:42:07 +04:00
VladimirMangos
249fb836ca [11490] Alow implicit cast ObjectGuid->uint64 and only explicit uint64->ObjectGuid
Now safe allow this casts in like way after completed convertion to ObjectGuid use.
Also simplify code in result allowed auto cast to uint64.

Please _not_ add new uint64 storages (local and in structures) for guid values.
2011-05-15 22:04:57 +04:00
zergtmn
777ffe8dc2 [11483] Change postfix iterator increments to prefix where possible 2011-05-14 16:53:55 +06:00
zergtmn
4cfa51d799 [11482] Reorder some fields for better memory layout 2011-05-14 16:52:32 +06:00
VladimirMangos
719e298795 [11470] Final cleanup uint64 guid cases
Also drop logout player update fields cleanup that in any cases not saved.
2011-05-11 21:36:27 +04:00
VladimirMangos
5ff698f53a [11468] Finally remove all uses Object::GetGUID from core sources.
GetGUID() is now depricted function and will removed soon.
Still exist just for give time for update patches/scripts.
2011-05-11 01:47:34 +04:00
VladimirMangos
ef6a48fe03 [11465] non-ObjectGuid guids in random places.
Only ChannelMgr code wide use uint64 guids now, and Map object stores.
2011-05-10 21:27:49 +04:00
VladimirMangos
a925db80fa [11464] Some item related guids convertion to ObjectGuids 2011-05-10 16:37:34 +04:00
VladimirMangos
44f2c26389 [11459] More ObjectGuid using in Aura/SpellAuraHolder code.
Also fix build in PetAI code. Thanks to rsa for fix code.
2011-05-09 23:17:39 +04:00