aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/mangos.sql25
-rw-r--r--src/game/ObjectMgr.cpp6
-rw-r--r--src/game/QuestDef.cpp13
-rw-r--r--src/game/SpellMgr.cpp10
-rw-r--r--src/game/Unit.cpp8
-rw-r--r--src/shared/revision_nr.h2
6 files changed, 15 insertions, 49 deletions
diff --git a/sql/mangos.sql b/sql/mangos.sql
index 453debf44dd..2c4d418f13a 100644
--- a/sql/mangos.sql
+++ b/sql/mangos.sql
@@ -22,7 +22,7 @@
DROP TABLE IF EXISTS `db_version`;
CREATE TABLE `db_version` (
`version` varchar(120) default NULL,
- `required_7199_02_mangos_spell_proc_event` bit(1) default NULL
+ `required_7205_01_mangos_spell_chain` bit(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
--
@@ -13962,12 +13962,6 @@ INSERT INTO spell_chain VALUES
(34120,56641,56641,2,0),
(49051,34120,56641,3,0),
(49052,49051,56641,4,0),
-/*ViperSting*/
-(3034,0,3034,1,0),
-(14279,3034,3034,2,0),
-(14280,14279,3034,3,0),
-(27018,14280,3034,4,0),
-(49008,27018,3034,5,0),
/*Volley*/
(1510,0,1510,1,0),
(14294,1510,1510,2,0),
@@ -14894,14 +14888,6 @@ INSERT INTO spell_chain VALUES
(27219,11700,689,7,0),
(27220,27219,689,8,0),
(47857,27220,689,9,0),
-/*DrainMana*/
-(5138,0,5138,1,0),
-(6226,5138,5138,2,0),
-(11703,6226,5138,3,0),
-(11704,11703,5138,4,0),
-(27221,11704,5138,5,0),
-(30908,27221,5138,6,0),
-(47858,30908,5138,7,0),
/*DrainSoul*/
(1120,0,1120,1,0),
(8288,1120,1120,2,0),
@@ -15700,15 +15686,6 @@ INSERT INTO spell_chain VALUES
(25431,10952,588,7,0),
(48040,25431,588,8,0),
(48168,48040,588,9,0),
-/*ManaBurn*/
-(8129,0,8129,1,0),
-(8131,8129,8129,2,0),
-(10874,8131,8129,3,0),
-(10875,10874,8129,4,0),
-(10876,10875,8129,5,0),
-(25379,10876,8129,6,0),
-(25380,25379,8129,7,0),
-(48128,25380,8129,8,0),
/*Penance*/
(47540,0,47540,1,0),
(53005,47540,47540,2,0),
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index 4a5c0bbdf0b..898299dc076 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -5513,11 +5513,6 @@ void ObjectMgr::SetHighestGuids()
delete result;
}
- // pet guids are not saved to DB, set to 0 (pet guid != pet id)
- m_hiPetGuid = 0;
- // same for vehicles
- m_hiVehicleGuid = 0;
-
result = CharacterDatabase.Query( "SELECT MAX(guid) FROM item_instance" );
if( result )
{
@@ -5671,7 +5666,6 @@ uint32 ObjectMgr::GenerateLowGuid(HighGuid guidhigh)
}
return m_hiPetGuid++;
case HIGHGUID_VEHICLE:
- ++m_hiVehicleGuid;
if(m_hiVehicleGuid>=0x00FFFFFF)
{
sLog.outError("Vehicle guid overflow!! Can't continue, shutting down server. ");
diff --git a/src/game/QuestDef.cpp b/src/game/QuestDef.cpp
index e56a3a4c982..42ff15e1679 100644
--- a/src/game/QuestDef.cpp
+++ b/src/game/QuestDef.cpp
@@ -166,18 +166,19 @@ uint32 Quest::XPValue( Player *pPlayer ) const
uint32 pLevel = pPlayer->getLevel();
uint32 qLevel = QuestLevel;
float fullxp = 0;
- if (qLevel >= 65)
+ if (qLevel >= 75)
fullxp = RewMoneyMaxLevel / 6.0f;
- else if (qLevel == 64)
+ else if (qLevel == 74)
fullxp = RewMoneyMaxLevel / 4.8f;
- else if (qLevel == 63)
+ else if (qLevel == 73)
fullxp = RewMoneyMaxLevel / 3.6f;
- else if (qLevel == 62)
+ else if (qLevel == 72)
fullxp = RewMoneyMaxLevel / 2.4f;
- else if (qLevel == 61)
+ else if (qLevel == 71)
fullxp = RewMoneyMaxLevel / 1.2f;
- else if (qLevel > 0 && qLevel <= 60)
+ else if (qLevel > 0 && qLevel <= 70)
fullxp = RewMoneyMaxLevel / 0.6f;
+ // FIXME: for <=65 need possible additional cases
if( pLevel <= qLevel + 5 )
return (uint32)fullxp;
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 3172a47ca38..39ed6f6b77d 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -346,8 +346,8 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
if (spellInfo->Dispel == DISPEL_CURSE)
return SPELL_CURSE;
- // family flag 37 (only part spells have family name)
- if (spellInfo->SpellFamilyFlags & 0x2000000000LL)
+ // Warlock (Demon Armor | Demon Skin | Fel Armor)
+ if (spellInfo->SpellFamilyFlags & 0x2000002000000000LL || spellInfo->SpellFamilyFlags2 & 0x00000010)
return SPELL_WARLOCK_ARMOR;
//seed of corruption and corruption
@@ -406,12 +406,6 @@ SpellSpecific GetSpellSpecific(uint32 spellId)
break;
}
- // only warlock armor/skin have this (in additional to family cases)
- if( spellInfo->SpellVisual[0] == 130 && spellInfo->SpellIconID == 89)
- {
- return SPELL_WARLOCK_ARMOR;
- }
-
// elixirs can have different families, but potion most ofc.
if(SpellSpecific sp = spellmgr.GetSpellElixirSpecific(spellInfo->Id))
return sp;
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index f47eb78bbf7..e6497e13505 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -8040,7 +8040,7 @@ uint32 Unit::SpellDamageBonus(Unit *pVictim, SpellEntry const *spellProto, uint3
break;
}
}
- int DotTicks = 6;
+ int32 DotTicks = 6;
if(spellProto->EffectAmplitude[x] != 0)
DotTicks = DotDuration / spellProto->EffectAmplitude[x];
if(DotTicks)
@@ -8524,13 +8524,13 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint
break;
}
}
- int DotTicks = 6;
+ int32 DotTicks = 6;
if(spellProto->EffectAmplitude[x] != 0)
DotTicks = DotDuration / spellProto->EffectAmplitude[x];
if(DotTicks)
{
- DoneAdvertisedBenefit /= DotTicks;
- TakenAdvertisedBenefit /= DotTicks;
+ DoneAdvertisedBenefit /= DotTicks*int32(stack);
+ TakenAdvertisedBenefit /= DotTicks*int32(stack);
}
}
}
diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h
index d542e8dd61d..760e6b5108b 100644
--- a/src/shared/revision_nr.h
+++ b/src/shared/revision_nr.h
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
- #define REVISION_NR "7200"
+ #define REVISION_NR "7205"
#endif // __REVISION_NR_H__