Add options 1/ 2 in second argument to check if a quest is INCOMPLETE/ COMPLETE, default will behave like currently
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
* 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.
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.
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
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.
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>
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.
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>
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.
* 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.
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.
* 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.
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>
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>
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.