diff options
21 files changed, 270 insertions, 41 deletions
diff --git a/sql/updates/world/2011_09_12_05_world_misc.sql b/sql/updates/world/2011_09_12_05_world_misc.sql new file mode 100644 index 00000000000..ffb183b31e4 --- /dev/null +++ b/sql/updates/world/2011_09_12_05_world_misc.sql @@ -0,0 +1,12 @@ +DELETE FROM `spell_dbc` WHERE `Id`=37794; +INSERT INTO `spell_dbc` (`Id`,`Dispel`,`Mechanic`,`Attributes`,`AttributesEx`,`AttributesEx2`,`AttributesEx3`,`AttributesEx4`,`AttributesEx5`,`AttributesEx6`,`AttributesEx7`,`Stances`,`StancesNot`,`Targets`,`CastingTimeIndex`,`AuraInterruptFlags`,`ProcFlags`,`ProcChance`,`ProcCharges`,`MaxLevel`,`BaseLevel`,`SpellLevel`,`DurationIndex`,`RangeIndex`,`StackAmount`,`EquippedItemClass`,`EquippedItemSubClassMask`,`EquippedItemInventoryTypeMask`,`Effect1`,`Effect2`,`Effect3`,`EffectDieSides1`,`EffectDieSides2`,`EffectDieSides3`,`EffectRealPointsPerLevel1`,`EffectRealPointsPerLevel2`,`EffectRealPointsPerLevel3`,`EffectBasePoints1`,`EffectBasePoints2`,`EffectBasePoints3`,`EffectMechanic1`,`EffectMechanic2`,`EffectMechanic3`,`EffectImplicitTargetA1`,`EffectImplicitTargetA2`,`EffectImplicitTargetA3`,`EffectImplicitTargetB1`,`EffectImplicitTargetB2`,`EffectImplicitTargetB3`,`EffectRadiusIndex1`,`EffectRadiusIndex2`,`EffectRadiusIndex3`,`EffectApplyAuraName1`,`EffectApplyAuraName2`,`EffectApplyAuraName3`,`EffectAmplitude1`,`EffectAmplitude2`,`EffectAmplitude3`,`EffectMultipleValue1`,`EffectMultipleValue2`,`EffectMultipleValue3`,`EffectMiscValue1`,`EffectMiscValue2`,`EffectMiscValue3`,`EffectMiscValueB1`,`EffectMiscValueB2`,`EffectMiscValueB3`,`EffectTriggerSpell1`,`EffectTriggerSpell2`,`EffectTriggerSpell3`,`EffectSpellClassMaskA1`,`EffectSpellClassMaskA2`,`EffectSpellClassMaskA3`,`EffectSpellClassMaskB1`,`EffectSpellClassMaskB2`,`EffectSpellClassMaskB3`,`EffectSpellClassMaskC1`,`EffectSpellClassMaskC2`,`EffectSpellClassMaskC3`,`MaxTargetLevel`,`SpellFamilyName`,`SpellFamilyFlags1`,`SpellFamilyFlags2`,`SpellFamilyFlags3`,`MaxAffectedTargets`,`DmgClass`,`PreventionType`,`DmgMultiplier1`,`DmgMultiplier2`,`DmgMultiplier3`,`AreaGroupId`,`SchoolMask`,`Comment`)VALUES +(37794,0,0,384,0,0,1048576,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,21,1,0,-1,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,16963,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,'Transform Infernal'); + +-- Template updates +UPDATE `creature_template` SET `unit_flags`=0,`AIName`='SmartAI' WHERE `entry`=21419; -- Infernal Attacker +UPDATE `creature_model_info` SET `bounding_radius`=1.3545,`combat_reach`=3,`gender`=2 WHERE `modelid`=20577; -- Infernal Attacker +UPDATE `creature_template_addon` SET `bytes1`=0,`bytes2`=1,`mount`=0,`emote`=0,`auras`=NULL WHERE `entry`=21419; -- Infernal Attacker + +DELETE FROM `smart_scripts` WHERE `entryorguid`=21419 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(21419, 0, 0, 0, 11, 0, 100, 0, 0, 0, 0, 0, 11, 37794, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Infernal Attacker - On spawn cast Transform Infernal on self'); diff --git a/sql/updates/world/2011_09_12_06_world_event_scripts.sql b/sql/updates/world/2011_09_12_06_world_event_scripts.sql new file mode 100644 index 00000000000..eb6b26bc8a0 --- /dev/null +++ b/sql/updates/world/2011_09_12_06_world_event_scripts.sql @@ -0,0 +1,10 @@ +DELETE FROM `event_scripts` WHERE `id` IN (16929,17084); +INSERT INTO `event_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`) VALUES +-- H +(16929, 3, 10, 25742, 360000, 0, 3533.64, 4535.52, -12.9953, 3.47514), -- Alluvion +(16929, 10, 8, 25742, 0, 0, 0, 0, 0, 0), -- KC +(16929, 3, 10, 25629, 360000, 0, 3511.96, 4527.18, -12.9949, 0.357893), -- Kryxix +-- A +(17084, 3, 10, 25794, 360000, 0, 3533.64, 4535.52, -12.9953, 3.47514), -- Shake-n-Quake 5000 +(17084, 10, 8, 25794, 0, 0, 0, 0, 0, 0), -- KC +(17084, 3, 10, 25629, 360000, 0, 3511.96, 4527.18, -12.9949, 0.357893); -- Kryxix diff --git a/sql/updates/world/2011_09_12_07_world_creature.sql b/sql/updates/world/2011_09_12_07_world_creature.sql new file mode 100644 index 00000000000..d2496cb1eab --- /dev/null +++ b/sql/updates/world/2011_09_12_07_world_creature.sql @@ -0,0 +1,4 @@ +UPDATE `creature` SET `spawnMask`=1 WHERE `guid` IN (1102,85587) AND `id` IN (22237,17318); +DELETE FROM `game_event_creature` WHERE `eventEntry`=7 AND `guid`=1102; +INSERT INTO `game_event_creature` (`eventEntry`, `guid`) VALUES +(7,1102); -- Loirea Galerunner - Lunar Festival diff --git a/sql/updates/world/2011_09_13_00_world_spells.sql b/sql/updates/world/2011_09_13_00_world_spells.sql new file mode 100644 index 00000000000..63e7b295831 --- /dev/null +++ b/sql/updates/world/2011_09_13_00_world_spells.sql @@ -0,0 +1,35 @@ +-- Fix Startup Errors +UPDATE `creature_template` SET `exp`=0,`npcflag`=`npcflag`|16777216,`unit_flags`=`unit_flags`|33571584 WHERE `entry`=34111; +DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` IN (33139,34111); +INSERT INTO `npc_spellclick_spells`(`npc_entry`,`spell_id`,`quest_start`,`quest_start_active`,`quest_end`,`cast_flags`,`aura_required`,`aura_forbidden`,`user_type`) VALUES +(34111,46598,0,0,0,1,0,0,0), +(33139,46598,0,0,0,1,0,0,0); + +-- Added Burn to Vehicles for Hard mode Mechanics +-- Thanks to horn for the reminder +-- Burn Secondary Effect from Vehicles +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (65044,65045); +INSERT INTO `conditions`(`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES +(13,0,65044,1,18,1,34234,0,0, '', 'Flames to Runeforged Sentry'), +(13,0,65044,2,18,1,33236,0,0, '', 'Flames to Steelforged Defender'), +(13,0,65044,3,18,1,33572,0,0, '', 'Flames to Steelforged Defender'), +(13,0,65044,4,18,1,33237,0,0, '', 'Flames to Ulduar Colossus'), +(13,0,65044,5,18,1,33189,0,0, '', 'Flames to Liquid pyrite'), +(13,0,65044,6,18,1,33090,0,0, '', 'Flames to Pool of Tar'), +(13,0,65044,7,18,1,34161,0,0, '', 'Flames to Mechanostriker 54-A'), +(13,0,65044,8,18,1,33062,0,0, '', 'Flames to Salvaged Chopper'), +(13,0,65044,9,18,1,34045,0,0, '', 'Flames to Salvaged Chopper'), +(13,0,65044,10,18,1,33109,0,0, '', 'Flames to Salvaged Demolisher'), +(13,0,65044,11,18,1,33060,0,0, '', 'Flames to Salvaged Salvaged Siege Engine'), +-- Burn Secondary Effect from Vehicles +(13,0,65045,1,18,1,34234,0,0, '', 'Flames to Runeforged Sentry'), +(13,0,65045,2,18,1,33236,0,0, '', 'Flames to Steelforged Defender'), +(13,0,65045,3,18,1,33572,0,0, '', 'Flames to Steelforged Defender'), +(13,0,65045,4,18,1,33237,0,0, '', 'Flames to Ulduar Colossus'), +(13,0,65045,5,18,1,33189,0,0, '', 'Flames to Liquid pyrite'), +(13,0,65045,6,18,1,33090,0,0, '', 'Flames to Pool of Tar'), +(13,0,65045,7,18,1,34161,0,0, '', 'Flames to Mechanostriker 54-A'), +(13,0,65045,8,18,1,33062,0,0, '', 'Flames to Salvaged Chopper'), +(13,0,65045,9,18,1,34045,0,0, '', 'Flames to Salvaged Chopper'), +(13,0,65045,10,18,1,33109,0,0, '', 'Flames to Salvaged Demolisher'), +(13,0,65045,11,18,1,33060,0,0, '', 'Flames to Salvaged Salvaged Siege Engine'); diff --git a/sql/updates/world/2011_09_14_00_world_spawns.sql b/sql/updates/world/2011_09_14_00_world_spawns.sql new file mode 100644 index 00000000000..4933af1b735 --- /dev/null +++ b/sql/updates/world/2011_09_14_00_world_spawns.sql @@ -0,0 +1,63 @@ +SET @GUID = 209113; +DELETE FROM `creature` WHERE `id` IN (30395,30446,30450,30454); +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`) VALUES +(@GUID+00, 30395, 571, 1, 1, 8348.89, -2509.48, 1147.37, 3.7001, 120, 0), +(@GUID+01, 30446, 571, 1, 1, 8253.4, -2566.37, 1149.7, 0.0698132, 120, 0), +(@GUID+02, 30446, 571, 1, 1, 8281.26, -2612.78, 1150.66, 0.349066, 120, 0), +(@GUID+03, 30446, 571, 1, 1, 8283.91, -2585.09, 1149.51, 5.00909, 120, 0), +(@GUID+04, 30446, 571, 1, 1, 8300.43, -2564.86, 1153.59, 0.261799, 120, 0), +(@GUID+05, 30446, 571, 1, 1, 8310.22, -2550.68, 1153.69, 1.91986, 120, 0), +(@GUID+06, 30446, 571, 1, 1, 8331.42, -2502.39, 1140.05, 4.53786, 120, 0), +(@GUID+07, 30446, 571, 1, 1, 8354.63, -2549.88, 1148.54, 4.95674, 120, 0), +(@GUID+08, 30446, 571, 1, 1, 8361.87, -2526.85, 1141.39, 3.68264, 120, 0), +(@GUID+09, 30446, 571, 1, 1, 8382.5, -2549.35, 1145.97, 3.82227, 120, 0), +(@GUID+10, 30446, 571, 1, 1, 8393.97, -2540.06, 1131.91, 5.07891, 120, 0), +(@GUID+24, 30454, 571, 1, 1, 8289.31, -2602.48, 1151.42, 1.95477, 120, 0), +(@GUID+25, 30454, 571, 1, 1, 8294.61, -2589.08, 1150.63, 1.39626, 120, 0), +(@GUID+26, 30454, 571, 1, 1, 8300.51, -2596.84, 1151.87, 3.9619, 120, 0), +(@GUID+27, 30454, 571, 1, 1, 8303.38, -2521.44, 1154.39, 5.07891, 120, 0), +(@GUID+28, 30454, 571, 1, 1, 8312.52, -2561.31, 1152.03, 4.72984, 120, 0), +(@GUID+29, 30454, 571, 1, 1, 8314.11, -2500.82, 1143.3, 1.6057, 120, 0), +(@GUID+30, 30454, 571, 1, 1, 8317.65, -2573.94, 1151.43, 3.03687, 120, 0), +(@GUID+31, 30454, 571, 1, 1, 8336.79, -2502.89, 1133.36, 5.41052, 120, 0), +(@GUID+32, 30454, 571, 1, 1, 8342.26, -2505.45, 1134.28, 4.01426, 120, 0), +(@GUID+33, 30454, 571, 1, 1, 8351.38, -2508.96, 1135.07, 0.244346, 120, 0), +(@GUID+34, 30454, 571, 1, 1, 8381.3, -2529.69, 1133.36, 4.62512, 120, 0), +(@GUID+35, 30454, 571, 1, 1, 8387.79, -2527.25, 1135.03, 4.53786, 120, 0), +(@GUID+36, 30454, 571, 1, 1, 8393.11, -2548.1, 1143.71, 1.72788, 120, 0), +(@GUID+37, 30454, 571, 1, 1, 8398.62, -2526.46, 1134.62, 3.80482, 120, 0), +(@GUID+38, 30454, 571, 1, 1, 8401.63, -2539.44, 1132.53, 1.39626, 120, 0), +(@GUID+39, 30454, 571, 1, 1, 8406.36, -2532.98, 1131.75, 2.04204, 120, 0); +INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES +(@GUID+11, 30450, 571, 1, 1, 8259.18, -2570.82, 1149.61, 1.56682, 120, 5, 1), +(@GUID+12, 30450, 571, 1, 1, 8264.03, -2566.79, 1149.61, 2.96147, 120, 5, 1), +(@GUID+13, 30450, 571, 1, 1, 8284.46, -2601.7, 1150.49, 5.66794, 120, 5, 1), +(@GUID+14, 30450, 571, 1, 1, 8292.88, -2572.04, 1146.46, 1.3252, 120, 5, 1), +(@GUID+15, 30450, 571, 1, 1, 8298.51, -2592.29, 1150.48, 0.513648, 120, 5, 1), +(@GUID+16, 30450, 571, 1, 1, 8306.36, -2524.83, 1152.22, 2.29176, 120, 5, 1), +(@GUID+17, 30450, 571, 1, 1, 8313.22, -2565.91, 1150.88, 0.739577, 120, 5, 1), +(@GUID+18, 30450, 571, 1, 1, 8334.5, -2519.78, 1138.3, 5.60389, 120, 5, 1), +(@GUID+19, 30450, 571, 1, 1, 8336.27, -2512.15, 1135.11, 3.55008, 120, 5, 1), +(@GUID+20, 30450, 571, 1, 1, 8350.84, -2544.52, 1147.52, 5.8518, 120, 5, 1), +(@GUID+21, 30450, 571, 1, 1, 8365.42, -2533.72, 1132.69, 5.61117, 120, 5, 1), +(@GUID+22, 30450, 571, 1, 1, 8377.27, -2545.82, 1140.66, 2.91336, 120, 5, 1), +(@GUID+23, 30450, 571, 1, 1, 8396.34, -2529.92, 1131.82, 1.30778, 120, 5, 1); + +UPDATE `creature_template` SET `npcflag`=3,`gossip_menu_id`=9906 WHERE `entry`=30395; -- Chieftain Swiftspear +UPDATE `creature_template` SET `InhabitType`=7 WHERE `entry`=30446; -- Frostfloe Rift +UPDATE `creature_template` SET `MovementType`=1 WHERE `entry`=30450; -- Wailing Winds +UPDATE `creature_template` SET `InhabitType`=7,`flags_extra`=`flags_extra`|128 WHERE `entry`=30454; -- Frostfloe Deep Stalker + +UPDATE `creature_model_info` SET `bounding_radius`=0.6076385,`combat_reach`=2.625,`gender`=0 WHERE `modelid`=27004; -- Chieftain Swiftspear +UPDATE `creature_model_info` SET `bounding_radius`=0.5,`combat_reach`=1,`gender`=2 WHERE `modelid`=27617; -- Wailing Winds + +DELETE FROM `creature_template_addon` WHERE `entry` IN (30395,30446,30450,30454); +INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(30395,0,0,1,0, NULL), -- Chieftain Swiftspear +(30446,0,0x3000000,1,0, NULL), -- Frostfloe Rift +(30450,0,0,1,0, NULL), -- Wailing Winds +(30454,0,0x3000000,1,0, NULL); -- Frostfloe Deep Stalker + +DELETE FROM `gossip_menu` WHERE `entry`=9906 AND `text_id`=13776; +INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES +(9906, 13776); diff --git a/sql/updates/world/2011_09_14_01_world_quest.sql b/sql/updates/world/2011_09_14_01_world_quest.sql new file mode 100644 index 00000000000..1b6c53f7d9d --- /dev/null +++ b/sql/updates/world/2011_09_14_01_world_quest.sql @@ -0,0 +1,82 @@ +-- Quest 12983 "Last of Her Kind" + +-- Add Injured Icemaw Matriarch +DELETE FROM `creature` WHERE `id`=29563; +INSERT INTO `creature` (`guid`,`id`,`map`,`spawnMask`,`phaseMask`,`modelid`,`equipment_id`,`position_x`,`position_y`,`position_z`,`orientation`,`spawntimesecs`,`spawndist`,`currentwaypoint`,`curhealth`,`curmana`,`MovementType`,`npcflag`,`unit_flags`,`dynamicflags`) VALUES +(152124,29563,571,1,1,0,0,7335.381,-2055.097,764.3585,3.368485,120,0,0,1,0,0,0,0,0); +UPDATE `creature_template` SET `npcflag`=`npcflag`|16777216 WHERE `entry`=29563; -- Injured Icemaw Matriarch +-- SAI for Harnessed Icemaw Matriarch +SET @ENTRY := 30468; +UPDATE `creature_template` SET `AIName`='SmartAI', `faction_A`=35, `faction_H`=35 WHERE `entry`=@ENTRY; +DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(@ENTRY,0,0,0,27,0,100,0,0,0,0,0,53,1,@ENTRY,0,12983,0,0,1,0,0,0,0,0,0,0, 'Harnessed Icemaw Matriarch - On Passenger - Start WP movement'), +(@ENTRY,0,1,0,40,0,100,0,1,@ENTRY,0,0,18,130,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Harnessed Icemaw Matriarch - Reach Waypoint - Make Unatackable'), +(@ENTRY,0,2,0,40,0,100,0,50,@ENTRY,0,0,33,29563,0,0,0,0,0,7,0,0,0,0,0,0,0, 'Harnessed Icemaw Matriarch - Reach Waypoint - Quest Credit'), +(@ENTRY,0,3,0,40,0,100,0,51,@ENTRY,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Harnessed Icemaw Matriarch - Reach Waypoint - Despawn'); +-- Waypoints for Harnessed Icemaw Matriarch +DELETE FROM `waypoints` WHERE `entry`=30468; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(30468,1,7339.617,-2058.659,764.919,'Harnessed Icemaw Matriarch'), +(30468,2,7338.267,-2064.381,765.3577,'Harnessed Icemaw Matriarch'), +(30468,3,7335.772,-2073.805,767.4077,'Harnessed Icemaw Matriarch'), +(30468,4,7327.591,-2087.35,770.8978,'Harnessed Icemaw Matriarch'), +(30468,5,7319.448,-2095.41,773.6814,'Harnessed Icemaw Matriarch'), +(30468,6,7305.165,-2107.299,774.3261,'Harnessed Icemaw Matriarch'), +(30468,7,7275.178,-2114.627,775.6678,'Harnessed Icemaw Matriarch'), +(30468,8,7258.999,-2116.149,778.5131,'Harnessed Icemaw Matriarch'), +(30468,9,7241.648,-2119.356,777.7652,'Harnessed Icemaw Matriarch'), +(30468,10,7226.729,-2115.936,777.3341,'Harnessed Icemaw Matriarch'), +(30468,11,7208.441,-2115.223,770.9512,'Harnessed Icemaw Matriarch'), +(30468,12,7198.355,-2115.354,767.3314,'Harnessed Icemaw Matriarch'), +(30468,13,7193.219,-2115.251,765.6339,'Harnessed Icemaw Matriarch'), +(30468,14,7188.855,-2117.307,763.8766,'Harnessed Icemaw Matriarch'), +(30468,15,7177.065,-2123.511,762.9337,'Harnessed Icemaw Matriarch'), +(30468,16,7163.708,-2131.039,762.1168,'Harnessed Icemaw Matriarch'), +(30468,17,7146.599,-2130.739,762.0986,'Harnessed Icemaw Matriarch'), +(30468,18,7127.765,-2130.799,760.3064,'Harnessed Icemaw Matriarch'), +(30468,19,7130.188,-2108.955,761.6824,'Harnessed Icemaw Matriarch'), +(30468,20,7122.738,-2087.617,763.7275,'Harnessed Icemaw Matriarch'), +(30468,21,7114.396,-2070.318,765.9775,'Harnessed Icemaw Matriarch'), +(30468,22,7101.815,-2051.608,765.8251,'Harnessed Icemaw Matriarch'), +(30468,23,7091.483,-2031.099,765.8953,'Harnessed Icemaw Matriarch'), +(30468,24,7087.403,-2012.366,767.2703,'Harnessed Icemaw Matriarch'), +(30468,25,7081.406,-1985.07,767.9617,'Harnessed Icemaw Matriarch'), +(30468,26,7073.832,-1961.028,769.3597,'Harnessed Icemaw Matriarch'), +(30468,27,7068.839,-1934.135,775.7347,'Harnessed Icemaw Matriarch'), +(30468,28,7064.366,-1916.702,781.6978,'Harnessed Icemaw Matriarch'), +(30468,29,7070.385,-1906.559,785.4976,'Harnessed Icemaw Matriarch'), +(30468,30,7079.504,-1899.025,787.0339,'Harnessed Icemaw Matriarch'), +(30468,31,7085.339,-1887.627,788.9089,'Harnessed Icemaw Matriarch'), +(30468,32,7067.585,-1884.709,793.0339,'Harnessed Icemaw Matriarch'), +(30468,33,7041.699,-1884.614,797.4276,'Harnessed Icemaw Matriarch'), +(30468,34,7029.2,-1871.599,803.4189,'Harnessed Icemaw Matriarch'), +(30468,35,7025.071,-1858.876,811.2399,'Harnessed Icemaw Matriarch'), +(30468,36,7018.791,-1838.968,820.2399,'Harnessed Icemaw Matriarch'), +(30468,37,7011.697,-1814.383,820.7299,'Harnessed Icemaw Matriarch'), +(30468,38,7009.096,-1791.501,820.7303,'Harnessed Icemaw Matriarch'), +(30468,39,7017.041,-1758.968,819.6544,'Harnessed Icemaw Matriarch'), +(30468,40,7013.258,-1723.917,819.8597,'Harnessed Icemaw Matriarch'), +(30468,41,6995.103,-1720.753,820.1116,'Harnessed Icemaw Matriarch'), +(30468,42,6975.483,-1722.112,820.7366,'Harnessed Icemaw Matriarch'), +(30468,43,6959.883,-1724.389,820.5955,'Harnessed Icemaw Matriarch'), +(30468,44,6941.025,-1720.429,820.5955,'Harnessed Icemaw Matriarch'), +(30468,45,6920.026,-1709.558,820.7527,'Harnessed Icemaw Matriarch'), +(30468,46,6902.995,-1697.53,820.6683,'Harnessed Icemaw Matriarch'), +(30468,47,6886.746,-1682.953,820.2584,'Harnessed Icemaw Matriarch'), +(30468,48,6867.681,-1684.361,819.8834,'Harnessed Icemaw Matriarch'), +(30468,49,6847.065,-1695.642,819.9857,'Harnessed Icemaw Matriarch'), +(30468,50,6824.819,-1701.835,820.6398,'Harnessed Icemaw Matriarch'), +(30468,51,6824.819,-1701.835,820.5497,'Harnessed Icemaw Matriarch'); + +-- Phasing Spell +DELETE FROM `spell_area` WHERE `spell`=55857 AND `area`=4455; +INSERT INTO `spell_area`(`spell`,`area`,`quest_start`,`quest_start_active`,`quest_end`,`aura_spell`,`racemask`,`gender`,`autocast`) VALUES +(55857,4455,12983,1,12983,0,0,2,1); + +-- From Nay: +-- TODO: Respawn the whole cave, lots of shit wrong (phasemasks etc) +UPDATE `creature` SET `phaseMask`=2 WHERE `id`=29563; +DELETE FROM `creature_template_addon` WHERE `entry`=30468; +INSERT INTO `creature_template_addon` (`entry`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES +(30468,0,0,1,0, NULL); -- Harnessed Icemaw Matriarch diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp index fc709599da5..85af0f6c1e2 100755 --- a/src/server/game/DataStores/DBCStores.cpp +++ b/src/server/game/DataStores/DBCStores.cpp @@ -118,7 +118,7 @@ DBCStorage <ItemRandomSuffixEntry> sItemRandomSuffixStore(ItemRandomSuffixfmt); DBCStorage <ItemSetEntry> sItemSetStore(ItemSetEntryfmt); DBCStorage <LFGDungeonEntry> sLFGDungeonStore(LFGDungeonEntryfmt); - +//DBCStorage <LiquidTypeEntry> sLiquidTypeStore(LiquidTypeEntryfmt); DBCStorage <LockEntry> sLockStore(LockEntryfmt); DBCStorage <MailTemplateEntry> sMailTemplateStore(MailTemplateEntryfmt); diff --git a/src/server/game/DataStores/DBCStores.h b/src/server/game/DataStores/DBCStores.h index 713bf5cf65c..367746616d1 100755 --- a/src/server/game/DataStores/DBCStores.h +++ b/src/server/game/DataStores/DBCStores.h @@ -118,6 +118,7 @@ extern DBCStorage <ItemRandomPropertiesEntry> sItemRandomPropertiesStore; extern DBCStorage <ItemRandomSuffixEntry> sItemRandomSuffixStore; extern DBCStorage <ItemSetEntry> sItemSetStore; extern DBCStorage <LFGDungeonEntry> sLFGDungeonStore; +//extern DBCStorage <LiquidTypeEntry> sLiquidTypeStore; extern DBCStorage <LockEntry> sLockStore; extern DBCStorage <MailTemplateEntry> sMailTemplateStore; extern DBCStorage <MapEntry> sMapStore; diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h index a45bafe8a2e..ff91964230a 100755 --- a/src/server/game/DataStores/DBCStructure.h +++ b/src/server/game/DataStores/DBCStructure.h @@ -1186,6 +1186,28 @@ struct LFGDungeonEntry uint32 Entry() const { return ID + (type << 24); } }; +/* +struct LiquidTypeEntry +{ + uint32 ID; // 0 + char* name; // 1 + uint32 flags; // 2 Water: 1|2|4|8, Magma: 8|16|32|64, Slime: 2|64|256, WMO Ocean: 1|2|4|8|512 + uint32 type; // 3 0: Water, 1: Ocean, 2: Magma, 3: Slime + uint32 soundid; // 4 Reference to SoundEntries.dbc + uint32 spellID; // 5 Reference to Spell.dbc + float unk0[4]; // 6-9 + uint32 unk1; // 10 Light? + float particleScale // 11 0: Slime, 1: Water/Ocean, 4: Magma + uint32 particleMovement; // 12 + uint32 unk2 // 13 + uint32 LiquidMaterialID // 14 Reference to LiquidMaterial.dbc + char* texture[6]; // 15-20 + uint32 unk3[2] // 21-22 + float unk4[18]; // 23-40 + uint32 unk5[4] // 41-44 +}; +*/ + #define MAX_LOCK_CASE 8 struct LockEntry diff --git a/src/server/game/DataStores/DBCfmt.h b/src/server/game/DataStores/DBCfmt.h index 0728a2f838e..5d33a3011ab 100755 --- a/src/server/game/DataStores/DBCfmt.h +++ b/src/server/game/DataStores/DBCfmt.h @@ -77,6 +77,7 @@ const char ItemRandomPropertiesfmt[]="nxiiixxssssssssssssssssx"; const char ItemRandomSuffixfmt[]="nssssssssssssssssxxiiixxiiixx"; const char ItemSetEntryfmt[]="dssssssssssssssssxiiiiiiiiiixxxxxxxiiiiiiiiiiiiiiiiii"; const char LFGDungeonEntryfmt[]="nxxxxxxxxxxxxxxxxxiiiiiiixixxixixxxxxxxxxxxxxxxxx"; +//const char LiquidTypeEntryfmt[]="nsiiiiffffifiiisssssiiffffffffffffffffffiiii"; const char LockEntryfmt[]="niiiiiiiiiiiiiiiiiiiiiiiixxxxxxxx"; const char MailTemplateEntryfmt[]="nxxxxxxxxxxxxxxxxxssssssssssssssssx"; const char MapEntryfmt[]="nxixxssssssssssssssssxixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxixiffxiix"; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ca5c3f2f132..008ceae78ca 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2326,6 +2326,9 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati bool Player::TeleportToBGEntryPoint() { + if (m_bgData.joinPos.m_mapId == MAPID_INVALID) + return false; + ScheduleDelayedOperation(DELAYED_BG_MOUNT_RESTORE); ScheduleDelayedOperation(DELAYED_BG_TAXI_RESTORE); return TeleportTo(m_bgData.joinPos); @@ -20961,7 +20964,6 @@ void Player::SetBattlegroundEntryPoint() // On taxi we don't need check for dungeon m_bgData.joinPos = WorldLocation(GetMapId(), GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation()); - return; } else { @@ -20981,23 +20983,17 @@ void Player::SetBattlegroundEntryPoint() if (GetMap()->IsDungeon()) { if (const WorldSafeLocsEntry* entry = sObjectMgr->GetClosestGraveYard(GetPositionX(), GetPositionY(), GetPositionZ(), GetMapId(), GetTeam())) - { m_bgData.joinPos = WorldLocation(entry->map_id, entry->x, entry->y, entry->z, 0.0f); - return; - } else sLog->outError("SetBattlegroundEntryPoint: Dungeon map %u has no linked graveyard, setting home location as entry point.", GetMapId()); } // If new entry point is not BG or arena set it else if (!GetMap()->IsBattlegroundOrArena()) - { m_bgData.joinPos = WorldLocation(GetMapId(), GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation()); - return; - } } - // In error cases use homebind position - m_bgData.joinPos = WorldLocation(m_homebindMapId, m_homebindX, m_homebindY, m_homebindZ, 0.0f); + if (m_bgData.joinPos.m_mapId == MAPID_INVALID) // In error cases use homebind position + m_bgData.joinPos = WorldLocation(m_homebindMapId, m_homebindX, m_homebindY, m_homebindZ, 0.0f); } void Player::LeaveBattleground(bool teleportToEntryPoint) @@ -24144,23 +24140,20 @@ void Player::_SaveBGData(SQLTransaction& trans) PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PLAYER_BGDATA); stmt->setUInt32(0, GetGUIDLow()); trans->Append(stmt); - if (m_bgData.bgInstanceID) - { - /* guid, bgInstanceID, bgTeam, x, y, z, o, map, taxi[0], taxi[1], mountSpell */ - stmt = CharacterDatabase.GetPreparedStatement(CHAR_ADD_PLAYER_BGDATA); - stmt->setUInt32(0, GetGUIDLow()); - stmt->setUInt32(1, m_bgData.bgInstanceID); - stmt->setUInt16(2, m_bgData.bgTeam); - stmt->setFloat (3, m_bgData.joinPos.GetPositionX()); - stmt->setFloat (4, m_bgData.joinPos.GetPositionY()); - stmt->setFloat (5, m_bgData.joinPos.GetPositionZ()); - stmt->setFloat (6, m_bgData.joinPos.GetOrientation()); - stmt->setUInt16(7, m_bgData.joinPos.GetMapId()); - stmt->setUInt16(8, m_bgData.taxiPath[0]); - stmt->setUInt16(9, m_bgData.taxiPath[1]); - stmt->setUInt16(10, m_bgData.mountSpell); - trans->Append(stmt); - } + /* guid, bgInstanceID, bgTeam, x, y, z, o, map, taxi[0], taxi[1], mountSpell */ + stmt = CharacterDatabase.GetPreparedStatement(CHAR_ADD_PLAYER_BGDATA); + stmt->setUInt32(0, GetGUIDLow()); + stmt->setUInt32(1, m_bgData.bgInstanceID); + stmt->setUInt16(2, m_bgData.bgTeam); + stmt->setFloat (3, m_bgData.joinPos.GetPositionX()); + stmt->setFloat (4, m_bgData.joinPos.GetPositionY()); + stmt->setFloat (5, m_bgData.joinPos.GetPositionZ()); + stmt->setFloat (6, m_bgData.joinPos.GetOrientation()); + stmt->setUInt16(7, m_bgData.joinPos.GetMapId()); + stmt->setUInt16(8, m_bgData.taxiPath[0]); + stmt->setUInt16(9, m_bgData.taxiPath[1]); + stmt->setUInt16(10, m_bgData.mountSpell); + trans->Append(stmt); } void Player::DeleteEquipmentSet(uint64 setGuid) diff --git a/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp b/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp index 4ee91aaae19..da6edc34832 100755 --- a/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/MiscHandler.cpp @@ -922,9 +922,11 @@ void WorldSession::HandleAreaTriggerOpcode(WorldPacket & recv_data) return; // Check if we are in LfgGroup and trying to get out the dungeon + bool teleported = false; if (GetPlayer()->GetGroup() && GetPlayer()->GetGroup()->isLFGGroup() && GetPlayer()->GetMap()->IsDungeon() && at->target_mapId != GetPlayer()->GetMapId()) - GetPlayer()->TeleportToBGEntryPoint(); - else + teleported = GetPlayer()->TeleportToBGEntryPoint(); + + if (!teleported) GetPlayer()->TeleportTo(at->target_mapId, at->target_X, at->target_Y, at->target_Z, at->target_Orientation, TELE_TO_NOT_LEAVE_TRANSPORT); } diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index 74198aa0dfd..a318599076a 100755 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -230,7 +230,7 @@ class Spell void EffectDistract(SpellEffIndex effIndex); void EffectPull(SpellEffIndex effIndex); void EffectSchoolDMG(SpellEffIndex effIndex); - void EffectEnvirinmentalDMG(SpellEffIndex effIndex); + void EffectEnvironmentalDMG(SpellEffIndex effIndex); void EffectInstaKill(SpellEffIndex effIndex); void EffectDummy(SpellEffIndex effIndex); void EffectTeleportUnits(SpellEffIndex effIndex); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 2642ed6a7ed..bbdf8931bff 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -72,7 +72,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectUnused, // 4 SPELL_EFFECT_PORTAL_TELEPORT unused &Spell::EffectTeleportUnits, // 5 SPELL_EFFECT_TELEPORT_UNITS &Spell::EffectApplyAura, // 6 SPELL_EFFECT_APPLY_AURA - &Spell::EffectEnvirinmentalDMG, // 7 SPELL_EFFECT_ENVIRONMENTAL_DAMAGE + &Spell::EffectEnvironmentalDMG, // 7 SPELL_EFFECT_ENVIRONMENTAL_DAMAGE &Spell::EffectPowerDrain, // 8 SPELL_EFFECT_POWER_DRAIN &Spell::EffectHealthLeech, // 9 SPELL_EFFECT_HEALTH_LEECH &Spell::EffectHeal, // 10 SPELL_EFFECT_HEAL @@ -282,7 +282,7 @@ void Spell::EffectInstaKill(SpellEffIndex /*effIndex*/) m_caster->DealDamage(unitTarget, unitTarget->GetHealth(), NULL, NODAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } -void Spell::EffectEnvirinmentalDMG(SpellEffIndex /*effIndex*/) +void Spell::EffectEnvironmentalDMG(SpellEffIndex /*effIndex*/) { if (!unitTarget || !unitTarget->isAlive()) return; diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index ece4bd36da1..c50aa7cc14f 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -1973,7 +1973,7 @@ void SpellMgr::LoadSpellThreats() ste.apPctMod = fields[3].GetFloat(); mSpellThreatMap[entry] = ste; - count++; + ++count; } while (result->NextRow()); sLog->outString(">> Loaded %u SpellThreatEntries in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); @@ -1988,7 +1988,7 @@ void SpellMgr::LoadSkillLineAbilityMap() uint32 count = 0; - for (uint32 i = 0; i < sSpellMgr->GetSpellInfoStoreSize(); ++i) + for (uint32 i = 0; i < sSkillLineAbilityStore.GetNumRows(); ++i) { SkillLineAbilityEntry const* SkillInfo = sSkillLineAbilityStore.LookupEntry(i); if (!SkillInfo) diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp index 11238850958..e1e5b4b8188 100644 --- a/src/server/scripts/Commands/cs_account.cpp +++ b/src/server/scripts/Commands/cs_account.cpp @@ -222,7 +222,9 @@ public: { Field *fieldsLogin = resultLogin->Fetch(); handler->PSendSysMessage(LANG_ACCOUNT_LIST_LINE, - fieldsLogin[0].GetCString(), name.c_str(), fieldsLogin[1].GetCString(), fieldsDB[2].GetUInt16(), fieldsDB[3].GetUInt16(), fieldsLogin[3].GetUInt32(), fieldsLogin[2].GetUInt32()); + fieldsLogin[0].GetCString(), name.c_str(), fieldsLogin[1].GetCString(), + fieldsDB[2].GetUInt16(), fieldsDB[3].GetUInt16(), fieldsLogin[3].GetUInt32(), + fieldsLogin[2].GetUInt32()); } else handler->PSendSysMessage(LANG_ACCOUNT_LIST_ERROR, name.c_str()); diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp index 780b4e549a9..c8cf0819fd4 100644 --- a/src/server/scripts/Commands/cs_gm.cpp +++ b/src/server/scripts/Commands/cs_gm.cpp @@ -155,7 +155,7 @@ public: static bool HandleGMListFullCommand(ChatHandler* handler, const char* /*args*/) { ///- Get the accounts with GM Level >0 - QueryResult result = LoginDatabase.Query("SELECT a.username, aa.gmlevel FROM account a, account_access aa WHERE a.id=aa.id AND aa.gmlevel > 0"); + QueryResult result = LoginDatabase.PQuery("SELECT a.username, aa.gmlevel FROM account a, account_access aa WHERE a.id=aa.id AND aa.gmlevel >= %u", SEC_MODERATOR); if (result) { handler->SendSysMessage(LANG_GMLIST); diff --git a/src/server/scripts/Commands/cs_reload.cpp b/src/server/scripts/Commands/cs_reload.cpp index fcdd30402e6..b8b39b18206 100644 --- a/src/server/scripts/Commands/cs_reload.cpp +++ b/src/server/scripts/Commands/cs_reload.cpp @@ -375,7 +375,7 @@ public: static bool HandleReloadAutobroadcastCommand(ChatHandler* handler, const char* /*args*/) { - sLog->outString("Re-Loading Autobroadcast..."); + sLog->outString("Re-Loading Autobroadcasts..."); sWorld->LoadAutobroadcasts(); handler->SendGlobalGMSysMessage("DB table `autobroadcast` reloaded."); return true; diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_xt002.cpp index 3c8b62bf64a..a6f67c6f970 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_xt002.cpp @@ -900,7 +900,7 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader { if (Unit* caster = GetCaster()) { - if (InstanceScript* instance = GetCaster()->GetInstanceScript()) + if (InstanceScript* instance = caster->GetInstanceScript()) { if (Unit* toyPile = ObjectAccessor::GetUnit(*caster, instance->GetData64(DATA_TOY_PILE_0 + urand(0, 3)))) { diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp index 16d147a4000..3613b97ec5c 100644 --- a/src/server/scripts/Spells/spell_hunter.cpp +++ b/src/server/scripts/Spells/spell_hunter.cpp @@ -76,7 +76,7 @@ public: Unit* caster = GetCaster(); if (caster->ToPlayer()) - if (Pet* pet = caster->ToPlayer()->GetPet()) + if (caster->ToPlayer()->GetPet()) caster->CastSpell(caster, HUNTER_SPELL_ASPECT_OF_THE_BEAST_PET, true); } diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index d9ce9ee223f..75020b7e7bd 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -2156,8 +2156,10 @@ Rate.MoveSpeed = 1 # # Rate.InstanceResetTime -# Description: Multiplier for the number of days in between global raid/heroic instance -# resets. +# Description: Multiplier for the rate between global raid/heroic instance resets +# (dbc value). Higher value increases the time between resets, +# lower value lowers the time, you need clean instance_reset in +# characters db in order to let new values work. # Default: 1 Rate.InstanceResetTime = 1 |