From 7e1ee7afb191209d8dddd47016aeacf0bc222c1a Mon Sep 17 00:00:00 2001 From: durotar Date: Thu, 27 Sep 2012 12:45:39 -0500 Subject: Core/Script: update creature_text for Custodian of Time (quest 10277) --- src/server/scripts/Kalimdor/tanaris.cpp | 64 ++++++++++++++++----------------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Kalimdor/tanaris.cpp b/src/server/scripts/Kalimdor/tanaris.cpp index 9b742b495bb..417c8b338c7 100644 --- a/src/server/scripts/Kalimdor/tanaris.cpp +++ b/src/server/scripts/Kalimdor/tanaris.cpp @@ -150,20 +150,20 @@ public: enum CustodianOfTime { - WHISPER_CUSTODIAN_1 = -1000217, - WHISPER_CUSTODIAN_2 = -1000218, - WHISPER_CUSTODIAN_3 = -1000219, - WHISPER_CUSTODIAN_4 = -1000220, - WHISPER_CUSTODIAN_5 = -1000221, - WHISPER_CUSTODIAN_6 = -1000222, - WHISPER_CUSTODIAN_7 = -1000223, - WHISPER_CUSTODIAN_8 = -1000224, - WHISPER_CUSTODIAN_9 = -1000225, - WHISPER_CUSTODIAN_10 = -1000226, - WHISPER_CUSTODIAN_11 = -1000227, - WHISPER_CUSTODIAN_12 = -1000228, - WHISPER_CUSTODIAN_13 = -1000229, - WHISPER_CUSTODIAN_14 = -1000230 + WHISPER_CUSTODIAN_1 = 0, + WHISPER_CUSTODIAN_2 = 1, + WHISPER_CUSTODIAN_3 = 2, + WHISPER_CUSTODIAN_4 = 3, + WHISPER_CUSTODIAN_5 = 4, + WHISPER_CUSTODIAN_6 = 5, + WHISPER_CUSTODIAN_7 = 6, + WHISPER_CUSTODIAN_8 = 7, + WHISPER_CUSTODIAN_9 = 8, + WHISPER_CUSTODIAN_10 = 9, + WHISPER_CUSTODIAN_11 = 10, + WHISPER_CUSTODIAN_12 = 11, + WHISPER_CUSTODIAN_13 = 12, + WHISPER_CUSTODIAN_14 = 13 }; class npc_custodian_of_time : public CreatureScript @@ -187,58 +187,58 @@ public: switch (waypointId) { case 0: - DoScriptText(WHISPER_CUSTODIAN_1, me, player); + Talk(WHISPER_CUSTODIAN_1, player->GetGUID()); break; case 1: - DoScriptText(WHISPER_CUSTODIAN_2, me, player); + Talk(WHISPER_CUSTODIAN_2, player->GetGUID()); break; case 2: - DoScriptText(WHISPER_CUSTODIAN_3, me, player); + Talk(WHISPER_CUSTODIAN_3, player->GetGUID()); break; case 3: - DoScriptText(WHISPER_CUSTODIAN_4, me, player); + Talk(WHISPER_CUSTODIAN_4, player->GetGUID()); break; case 5: - DoScriptText(WHISPER_CUSTODIAN_5, me, player); + Talk(WHISPER_CUSTODIAN_5, player->GetGUID()); break; case 6: - DoScriptText(WHISPER_CUSTODIAN_6, me, player); + Talk(WHISPER_CUSTODIAN_6, player->GetGUID()); break; case 7: - DoScriptText(WHISPER_CUSTODIAN_7, me, player); + Talk(WHISPER_CUSTODIAN_7, player->GetGUID()); break; case 8: - DoScriptText(WHISPER_CUSTODIAN_8, me, player); + Talk(WHISPER_CUSTODIAN_8, player->GetGUID()); break; case 9: - DoScriptText(WHISPER_CUSTODIAN_9, me, player); + Talk(WHISPER_CUSTODIAN_9, player->GetGUID()); break; case 10: - DoScriptText(WHISPER_CUSTODIAN_4, me, player); + Talk(WHISPER_CUSTODIAN_4, player->GetGUID()); break; case 13: - DoScriptText(WHISPER_CUSTODIAN_10, me, player); + Talk(WHISPER_CUSTODIAN_10, player->GetGUID()); break; case 14: - DoScriptText(WHISPER_CUSTODIAN_4, me, player); + Talk(WHISPER_CUSTODIAN_4, player->GetGUID()); break; case 16: - DoScriptText(WHISPER_CUSTODIAN_11, me, player); + Talk(WHISPER_CUSTODIAN_11, player->GetGUID()); break; case 17: - DoScriptText(WHISPER_CUSTODIAN_12, me, player); + Talk(WHISPER_CUSTODIAN_12, player->GetGUID()); break; case 18: - DoScriptText(WHISPER_CUSTODIAN_4, me, player); + Talk(WHISPER_CUSTODIAN_4, player->GetGUID()); break; case 22: - DoScriptText(WHISPER_CUSTODIAN_13, me, player); + Talk(WHISPER_CUSTODIAN_13, player->GetGUID()); break; case 23: - DoScriptText(WHISPER_CUSTODIAN_4, me, player); + Talk(WHISPER_CUSTODIAN_4, player->GetGUID()); break; case 24: - DoScriptText(WHISPER_CUSTODIAN_14, me, player); + Talk(WHISPER_CUSTODIAN_14, player->GetGUID()); DoCast(player, 34883); // below here is temporary workaround, to be removed when spell works properly player->AreaExploredOrEventHappens(10277); -- cgit v1.2.3 From f2e92b81a30da8150d99644c4f112bd712dbf28e Mon Sep 17 00:00:00 2001 From: w1sht0l1v3 Date: Fri, 28 Sep 2012 01:37:34 +0300 Subject: Core/Scripts: Some fixes for Razorscale. --- sql/updates/world/2012_09_28_00_world_creature_model_info.sql | 1 + src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 sql/updates/world/2012_09_28_00_world_creature_model_info.sql (limited to 'src/server/scripts') diff --git a/sql/updates/world/2012_09_28_00_world_creature_model_info.sql b/sql/updates/world/2012_09_28_00_world_creature_model_info.sql new file mode 100644 index 00000000000..48134d7bbed --- /dev/null +++ b/sql/updates/world/2012_09_28_00_world_creature_model_info.sql @@ -0,0 +1 @@ +UPDATE `creature_model_info` SET `combat_reach`=10 WHERE `modelid`=28787; diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp index e8e938dc06b..6038b7ed9d6 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp @@ -369,7 +369,7 @@ class boss_razorscale : public CreatureScript void MovementInform(uint32 type, uint32 id) { - if (type == POINT_MOTION_TYPE && id == 1) + if (type == EFFECT_MOTION_TYPE && id == 1) { phase = PHASE_GROUND; events.SetPhase(PHASE_GROUND); @@ -407,7 +407,7 @@ class boss_razorscale : public CreatureScript if (HarpoonCounter == RAID_MODE(2, 4)) { HarpoonCounter = 0; - me->GetMotionMaster()->MovePoint(1, RazorGround); + me->GetMotionMaster()->MoveLand(1, RazorGround); } if (phase == PHASE_GROUND) @@ -423,7 +423,7 @@ class boss_razorscale : public CreatureScript me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetReactState(REACT_PASSIVE); me->AttackStop(); - me->GetMotionMaster()->MovePoint(0, RazorFlight); + me->GetMotionMaster()->MoveTakeoff(0, RazorFlight); events.ScheduleEvent(EVENT_FIREBALL, 7000, 0, PHASE_FLIGHT); events.ScheduleEvent(EVENT_DEVOURING, 10000, 0, PHASE_FLIGHT); events.ScheduleEvent(EVENT_SUMMON, 5000, 0, PHASE_FLIGHT); @@ -525,7 +525,7 @@ class boss_razorscale : public CreatureScript phase = PHASE_PERMAGROUND; events.SetPhase(PHASE_PERMAGROUND); me->SetCanFly(false); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED); me->SetReactState(REACT_AGGRESSIVE); me->RemoveAurasDueToSpell(SPELL_HARPOON_TRIGGER); me->SetSpeed(MOVE_FLIGHT, 1.0f, true); -- cgit v1.2.3 From 431db10e1af05d1a6883370ef92e6cbd13c44636 Mon Sep 17 00:00:00 2001 From: Subv Date: Fri, 28 Sep 2012 09:44:34 -0400 Subject: Core/Battlefield: fix world states on player login for wintergrasp --- src/server/game/Battlefield/Battlefield.h | 6 +- src/server/game/Battlefield/BattlefieldMgr.h | 6 +- .../game/Battlefield/Zones/BattlefieldWG.cpp | 28 ++++---- src/server/game/Battlefield/Zones/BattlefieldWG.h | 81 +++++++++++++--------- src/server/game/Entities/Player/Player.cpp | 36 ++++++++++ src/server/game/Entities/Player/Player.h | 1 + src/server/scripts/Northrend/wintergrasp.cpp | 2 +- 7 files changed, 105 insertions(+), 55 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/game/Battlefield/Battlefield.h b/src/server/game/Battlefield/Battlefield.h index 480aafbeb42..2ca6a2e3f96 100644 --- a/src/server/game/Battlefield/Battlefield.h +++ b/src/server/game/Battlefield/Battlefield.h @@ -211,9 +211,6 @@ class Battlefield : public ZoneScript /// Call this to init the Battlefield virtual bool SetupBattlefield() { return true; } - /// Generate packet which contain all worldstatedata of area - virtual void FillInitialWorldStates(WorldPacket& /*data*/) {} - /// Update data of a worldstate to all players present in zone void SendUpdateWorldState(uint32 field, uint32 value); @@ -330,7 +327,8 @@ class Battlefield : public ZoneScript virtual void DoCompleteOrIncrementAchievement(uint32 /*achievement*/, Player* /*player*/, uint8 /*incrementNumber = 1*/) {}; /// Send all worldstate data to all player in zone. - virtual void SendInitWorldStatesToAll() {}; + virtual void SendInitWorldStatesToAll() = 0; + virtual void FillInitialWorldStates(WorldPacket& /*data*/) = 0; /// Return if we can use mount in battlefield bool CanFlyIn() { return !m_isActive; } diff --git a/src/server/game/Battlefield/BattlefieldMgr.h b/src/server/game/Battlefield/BattlefieldMgr.h index 4ee37e424fd..1ec1f3b1151 100644 --- a/src/server/game/Battlefield/BattlefieldMgr.h +++ b/src/server/game/Battlefield/BattlefieldMgr.h @@ -46,10 +46,10 @@ class BattlefieldMgr // called when player resurrects void HandlePlayerResurrects(Player * player, uint32 areaflag); // return assigned battlefield - Battlefield *GetBattlefieldToZoneId(uint32 zoneid); - Battlefield *GetBattlefieldByBattleId(uint32 battleid); + Battlefield* GetBattlefieldToZoneId(uint32 zoneid); + Battlefield* GetBattlefieldByBattleId(uint32 battleid); - ZoneScript *GetZoneScript(uint32 zoneId); + ZoneScript* GetZoneScript(uint32 zoneId); void AddZone(uint32 zoneid, Battlefield * handle); diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index 350926388ba..f2c44a0a0da 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -844,20 +844,13 @@ uint32 BattlefieldWG::GetData(uint32 data) return Battlefield::GetData(data); } -// Method sending worldsate to player -WorldPacket BattlefieldWG::BuildInitWorldStates() -{ - WorldPacket data(SMSG_INIT_WORLD_STATES, (4 + 4 + 4 + 2 + (BuildingsInZone.size() * 8) + (WorkshopsList.size() * 8))); - - data << uint32(m_MapId); - data << uint32(m_ZoneId); - data << uint32(0); - data << uint16(4 + 2 + 4 + BuildingsInZone.size() + WorkshopsList.size()); +void BattlefieldWG::FillInitialWorldStates(WorldPacket& data) +{ data << uint32(BATTLEFIELD_WG_WORLD_STATE_ATTACKER) << uint32(GetAttackerTeam()); data << uint32(BATTLEFIELD_WG_WORLD_STATE_DEFENDER) << uint32(GetDefenderTeam()); - data << uint32(BATTLEFIELD_WG_WORLD_STATE_ACTIVE) << uint32(IsWarTime()? 0 : 1); // Note: cleanup these two, their names look awkward - data << uint32(BATTLEFIELD_WG_WORLD_STATE_SHOW_WORLDSTATE) << uint32(IsWarTime()? 1 : 0); + data << uint32(BATTLEFIELD_WG_WORLD_STATE_ACTIVE) << uint32(IsWarTime() ? 0 : 1); // Note: cleanup these two, their names look awkward + data << uint32(BATTLEFIELD_WG_WORLD_STATE_SHOW_WORLDSTATE) << uint32(IsWarTime() ? 1 : 0); for (uint32 i = 0; i < 2; ++i) data << ClockWorldState[i] << uint32(time(NULL) + (m_Timer / 1000)); @@ -879,17 +872,24 @@ WorldPacket BattlefieldWG::BuildInitWorldStates() void BattlefieldWG::SendInitWorldStatesTo(Player* player) { - WorldPacket data = BuildInitWorldStates(); + WorldPacket data(SMSG_INIT_WORLD_STATES, (4 + 4 + 4 + 2 + (BuildingsInZone.size() * 8) + (WorkshopsList.size() * 8))); + + data << uint32(m_MapId); + data << uint32(m_ZoneId); + data << uint32(0); + data << uint16(10 + BuildingsInZone.size() + WorkshopsList.size()); // Number of fields + + FillInitialWorldStates(data); + player->GetSession()->SendPacket(&data); } void BattlefieldWG::SendInitWorldStatesToAll() { - WorldPacket data = BuildInitWorldStates(); for (uint8 team = 0; team < 2; team++) for (GuidSet::iterator itr = m_players[team].begin(); itr != m_players[team].end(); ++itr) if (Player* player = sObjectAccessor->FindPlayer(*itr)) - player->GetSession()->SendPacket(&data); + SendInitWorldStatesTo(player); } void BattlefieldWG::BrokenWallOrTower(TeamId /*team*/) diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index 11510e1ea98..4d7db760605 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -26,12 +26,6 @@ #include "GroupMgr.h" #include "Battlefield.h" -uint32 const VehNumWorldState[2] = { 3680, 3490 }; -uint32 const MaxVehNumWorldState[2] = { 3681, 3491 }; -uint32 const ClockWorldState[2] = { 3781, 4354 }; -uint32 const WintergraspFaction[3] = { 1732, 1735, 35 }; -float const WintergraspStalkerPos[4] = { 0, 0, 0, 0 }; - class BattlefieldWG; class WintergraspCapturePoint; @@ -404,9 +398,9 @@ class BattlefieldWG : public Battlefield void UpdateVehicleCountWG(); void UpdateCounterVehicle(bool init); - WorldPacket BuildInitWorldStates(); void SendInitWorldStatesTo(Player* player); void SendInitWorldStatesToAll(); + void FillInitialWorldStates(WorldPacket& data); void HandleKill(Player* killer, Unit* victim); void OnUnitDeath(Unit* unit); @@ -421,6 +415,22 @@ class BattlefieldWG : public Battlefield uint8 GetSpiritGraveyardId(uint32 areaId); uint32 GetData(uint32 data); + + static uint32 const VehNumWorldState[]; + static uint32 const MaxVehNumWorldState[]; + static uint32 const ClockWorldState[]; + static uint32 const WintergraspFaction[]; + static float const WintergraspStalkerPos[]; + + static uint8 const WG_MAX_OBJ; + static uint8 const WG_KEEPGAMEOBJECT_MAX; + static uint8 const WG_MAX_TURRET; + static uint8 const WG_MAX_KEEP_NPC; + static uint8 const WG_MAX_OUTSIDE_NPC; + static uint8 const WG_OUTSIDE_ALLIANCE_NPC; + static uint8 const WG_MAX_TELEPORTER; + static uint8 const WG_MAX_WORKSHOP; + protected: bool m_isRelicInteractible; @@ -441,13 +451,20 @@ class BattlefieldWG : public Battlefield GameObject* m_titansRelic; }; -uint8 const WG_MAX_OBJ = 32; -uint8 const WG_KEEPGAMEOBJECT_MAX = 44; -uint8 const WG_MAX_TURRET = 15; -uint8 const WG_MAX_KEEP_NPC = 39; -uint8 const WG_MAX_OUTSIDE_NPC = 14; -uint8 const WG_OUTSIDE_ALLIANCE_NPC = 7; -uint8 const WG_MAX_TELEPORTER = 12; +uint32 const BattlefieldWG::VehNumWorldState[] = { 3680, 3490 }; +uint32 const BattlefieldWG::MaxVehNumWorldState[] = { 3681, 3491 }; +uint32 const BattlefieldWG::ClockWorldState[] = { 3781, 4354 }; +uint32 const BattlefieldWG::WintergraspFaction[] = { 1732, 1735, 35 }; +float const BattlefieldWG::WintergraspStalkerPos[] = { 0, 0, 0, 0 }; + +uint8 const BattlefieldWG::WG_MAX_OBJ = 32; +uint8 const BattlefieldWG::WG_KEEPGAMEOBJECT_MAX = 44; +uint8 const BattlefieldWG::WG_MAX_TURRET = 15; +uint8 const BattlefieldWG::WG_MAX_KEEP_NPC = 39; +uint8 const BattlefieldWG::WG_MAX_OUTSIDE_NPC = 14; +uint8 const BattlefieldWG::WG_OUTSIDE_ALLIANCE_NPC = 7; +uint8 const BattlefieldWG::WG_MAX_TELEPORTER = 12; +uint8 const BattlefieldWG::WG_MAX_WORKSHOP = 6; enum WintergraspGameObjectBuildingType { @@ -578,7 +595,7 @@ struct WintergraspBuildingSpawnData uint32 nameId; }; -const WintergraspBuildingSpawnData WGGameObjectBuilding[WG_MAX_OBJ] = +const WintergraspBuildingSpawnData WGGameObjectBuilding[BattlefieldWG::WG_MAX_OBJ] = { // Wall (Not spawned in db) // Entry WS X Y Z O type NameID @@ -671,7 +688,7 @@ const WintergraspBuildingSpawnData WGGameObjectBuilding[WG_MAX_OBJ] = // 192357 : 1 in sql, 1 in header // 192350 : 1 in sql, 1 in header // 192351 : 1 in sql, 1 in header -const WintergraspObjectPositionData WGKeepGameObject[WG_KEEPGAMEOBJECT_MAX] = +const WintergraspObjectPositionData WGKeepGameObject[BattlefieldWG::WG_KEEPGAMEOBJECT_MAX] = { { 5262.540039f, 3047.949951f, 432.054993f, 3.106650f, 192488, 192501 }, // Flag on tower { 5272.939941f, 2976.550049f, 444.492004f, 3.124120f, 192374, 192416 }, // Flag on Wall Intersect @@ -719,7 +736,7 @@ const WintergraspObjectPositionData WGKeepGameObject[WG_KEEPGAMEOBJECT_MAX] = { 5271.279785f, 2820.159912f, 445.200989f, -3.13286f, 192351, 192416 } // Flag on wall intersect }; -const Position WGTurret[WG_MAX_TURRET] = +const Position WGTurret[BattlefieldWG::WG_MAX_TURRET] = { { 5391.19f, 3060.8f, 419.616f, 1.69557f }, { 5266.75f, 2976.5f, 421.067f, 3.20354f }, @@ -739,7 +756,7 @@ const Position WGTurret[WG_MAX_TURRET] = }; // Here there is all npc keeper spawn point -const WintergraspObjectPositionData WGKeepNPC[WG_MAX_KEEP_NPC] = +const WintergraspObjectPositionData WGKeepNPC[BattlefieldWG::WG_MAX_KEEP_NPC] = { // X Y Z O horde alliance // North East @@ -790,7 +807,7 @@ const WintergraspObjectPositionData WGKeepNPC[WG_MAX_KEEP_NPC] = { 5316.770996f, 2619.430176f, 409.027740f, 5.363431f, BATTLEFIELD_WG_NPC_GUARD_H, BATTLEFIELD_WG_NPC_GUARD_A } // Standing Guard }; -const WintergraspObjectPositionData WGOutsideNPC[WG_MAX_OUTSIDE_NPC] = +const WintergraspObjectPositionData WGOutsideNPC[BattlefieldWG::WG_MAX_OUTSIDE_NPC] = { { 5032.04f, 3681.79f, 362.980f, 4.210f, BATTLEFIELD_WG_NPC_VIERON_BLAZEFEATHER, 0 }, { 5020.71f, 3626.19f, 360.150f, 4.640f, BATTLEFIELD_WG_NPC_HOODOO_MASTER_FU_JIN, 0 }, @@ -817,7 +834,7 @@ struct WintergraspTeleporterData float o; }; -const WintergraspTeleporterData WGPortalDefenderData[WG_MAX_TELEPORTER] = +const WintergraspTeleporterData WGPortalDefenderData[BattlefieldWG::WG_MAX_TELEPORTER] = { // Player teleporter { 190763, 5153.41f, 2901.35f, 409.191f, -0.069f }, @@ -1112,8 +1129,6 @@ const WintergraspTowerCannonData TowerCannon[WG_MAX_TOWER_CANNON] = // *****************WorkShop Data & Element***************** // ********************************************************* -uint8 const WG_MAX_WORKSHOP = 6; - struct WGWorkshopData { uint8 id; @@ -1121,7 +1136,7 @@ struct WGWorkshopData uint32 text; }; -const WGWorkshopData WorkshopsData[WG_MAX_WORKSHOP] = +const WGWorkshopData WorkshopsData[BattlefieldWG::WG_MAX_WORKSHOP] = { // NE {BATTLEFIELD_WG_WORKSHOP_NE, WORLDSTATE_WORKSHOP_NE, BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_NE}, @@ -1215,7 +1230,7 @@ struct BfWGGameObjectBuilding m_WG->SendUpdateWorldState(m_WorldState, m_State); } UpdateCreatureAndGo(); - m_Build->SetUInt32Value(GAMEOBJECT_FACTION, WintergraspFaction[m_Team]); + m_Build->SetUInt32Value(GAMEOBJECT_FACTION, BattlefieldWG::WintergraspFaction[m_Team]); } // Called when associated gameobject is damaged @@ -1402,12 +1417,12 @@ struct BfWGGameObjectBuilding case GO_WINTERGRASP_FORTRESS_TOWER_2: case GO_WINTERGRASP_FORTRESS_TOWER_3: case GO_WINTERGRASP_FORTRESS_TOWER_4: - turret->setFaction(WintergraspFaction[m_WG->GetDefenderTeam()]); + turret->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetDefenderTeam()]); break; case GO_WINTERGRASP_SHADOWSIGHT_TOWER: case GO_WINTERGRASP_WINTER_S_EDGE_TOWER: case GO_WINTERGRASP_FLAMEWATCH_TOWER: - turret->setFaction(WintergraspFaction[m_WG->GetAttackerTeam()]); + turret->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetAttackerTeam()]); break; } m_WG->HideNpc(turret); @@ -1428,12 +1443,12 @@ struct BfWGGameObjectBuilding case GO_WINTERGRASP_FORTRESS_TOWER_2: case GO_WINTERGRASP_FORTRESS_TOWER_3: case GO_WINTERGRASP_FORTRESS_TOWER_4: - turret->setFaction(WintergraspFaction[m_WG->GetDefenderTeam()]); + turret->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetDefenderTeam()]); break; case GO_WINTERGRASP_SHADOWSIGHT_TOWER: case GO_WINTERGRASP_WINTER_S_EDGE_TOWER: case GO_WINTERGRASP_FLAMEWATCH_TOWER: - turret->setFaction(WintergraspFaction[m_WG->GetAttackerTeam()]); + turret->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetAttackerTeam()]); break; } m_WG->HideNpc(turret); @@ -1494,14 +1509,14 @@ struct BfWGGameObjectBuilding case GO_WINTERGRASP_FORTRESS_TOWER_3: case GO_WINTERGRASP_FORTRESS_TOWER_4: { - creature->setFaction(WintergraspFaction[m_WG->GetDefenderTeam()]); + creature->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetDefenderTeam()]); break; } case GO_WINTERGRASP_SHADOWSIGHT_TOWER: case GO_WINTERGRASP_WINTER_S_EDGE_TOWER: case GO_WINTERGRASP_FLAMEWATCH_TOWER: { - creature->setFaction(WintergraspFaction[m_WG->GetAttackerTeam()]); + creature->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetAttackerTeam()]); break; } } @@ -1530,14 +1545,14 @@ struct BfWGGameObjectBuilding case GO_WINTERGRASP_FORTRESS_TOWER_3: case GO_WINTERGRASP_FORTRESS_TOWER_4: { - creature->setFaction(WintergraspFaction[m_WG->GetDefenderTeam()]); + creature->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetDefenderTeam()]); break; } case GO_WINTERGRASP_SHADOWSIGHT_TOWER: case GO_WINTERGRASP_WINTER_S_EDGE_TOWER: case GO_WINTERGRASP_FLAMEWATCH_TOWER: { - creature->setFaction(WintergraspFaction[m_WG->GetAttackerTeam()]); + creature->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetAttackerTeam()]); break; } } @@ -1566,7 +1581,7 @@ struct WGWorkshop WGWorkshop(BattlefieldWG* _bf, uint8 _workshopId) { - ASSERT(_bf || _workshopId < WG_MAX_WORKSHOP); + ASSERT(_bf || _workshopId < BattlefieldWG::WG_MAX_WORKSHOP); bf = _bf; workshopId = _workshopId; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ee5f33fc59c..c0e3e3afc03 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -76,6 +76,7 @@ #include "AccountMgr.h" #include "Battlefield.h" #include "BattlefieldMgr.h" +#include "BattlefieldWG.h" #define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS) @@ -9041,6 +9042,7 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid) uint32 mapid = GetMapId(); OutdoorPvP* pvp = sOutdoorPvPMgr->GetOutdoorPvPToZoneId(zoneid); InstanceScript* instance = GetInstanceScript(); + Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(zoneid); sLog->outDebug(LOG_FILTER_NETWORKIO, "Sending SMSG_INIT_WORLD_STATES to Map: %u, Zone: %u", mapid, zoneid); @@ -9114,6 +9116,10 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid) case 4273: // Ulduar NumberOfFields = 10; break; + case 4197: // Wintergrasp + /// Use the max here, and fill with zeros if missing. + NumberOfFields = 10 + BattlefieldWG::WG_MAX_OBJ + BattlefieldWG::WG_MAX_WORKSHOP; + break; default: NumberOfFields = 12; break; @@ -9123,6 +9129,7 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid) data << uint32(mapid); // mapid data << uint32(zoneid); // zone id data << uint32(areaid); // area id, new 2.1.0 + size_t countPos = data.wpos(); data << uint16(NumberOfFields); // count of uint64 blocks data << uint32(0x8d8) << uint32(0x0); // 1 data << uint32(0x8d7) << uint32(0x0); // 2 @@ -9668,6 +9675,16 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid) data << uint32(4131) << uint32(0); // 10 WORLDSTATE_CRATES_REVEALED } break; + // Wintergrasp + case 4197: + if (bf && bf->GetTypeId() == BATTLEFIELD_WG) + { + bf->FillInitialWorldStates(data); + break; + } + else + data.put(countPos, 12); + // No break here, intended. default: data << uint32(0x914) << uint32(0x0); // 7 data << uint32(0x913) << uint32(0x0); // 8 @@ -9677,6 +9694,7 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid) } GetSession()->SendPacket(&data); SendBGWeekendWorldStates(); + SendBattlefieldWorldStates(); } void Player::SendBGWeekendWorldStates() @@ -9694,6 +9712,24 @@ void Player::SendBGWeekendWorldStates() } } +void Player::SendBattlefieldWorldStates() +{ + /// Send misc stuff that needs to be sent on every login, like the battle timers. + if (sWorld->getBoolConfig(CONFIG_WINTERGRASP_ENABLE)) + { + if (BattlefieldWG* wg = (BattlefieldWG*)sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG)) + { + if (wg->IsWarTime()) + SendUpdateWorldState(BattlefieldWG::ClockWorldState[1], uint32(time(NULL))); + else // Time to next battle + { + uint32 timer = wg->GetTimer() / 1000; + SendUpdateWorldState(BattlefieldWG::ClockWorldState[1], time(NULL) + timer); + } + } + } +} + uint32 Player::GetXPRestBonus(uint32 xp) { uint32 rested_bonus = (uint32)GetRestBonus(); // xp for each rested bonus diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 0decacd6258..82e91985b04 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2125,6 +2125,7 @@ class Player : public Unit, public GridObject void SendUpdateWorldState(uint32 Field, uint32 Value); void SendDirectMessage(WorldPacket* data); void SendBGWeekendWorldStates(); + void SendBattlefieldWorldStates(); void SendAurasForTarget(Unit* target); diff --git a/src/server/scripts/Northrend/wintergrasp.cpp b/src/server/scripts/Northrend/wintergrasp.cpp index 59e9a31c4cf..c58f6fc2dff 100644 --- a/src/server/scripts/Northrend/wintergrasp.cpp +++ b/src/server/scripts/Northrend/wintergrasp.cpp @@ -307,7 +307,7 @@ class go_wg_vehicle_teleporter : public GameObjectScript // Tabulation madness in the hole! for (uint8 i = 0; i < MAX_WINTERGRASP_VEHICLES; i++) if (Creature* vehicleCreature = go->FindNearestCreature(vehiclesList[i], 3.0f, true)) - if (!vehicleCreature->HasAura(SPELL_VEHICLE_TELEPORT) && vehicleCreature->getFaction() == WintergraspFaction[wg->GetDefenderTeam()]) + if (!vehicleCreature->HasAura(SPELL_VEHICLE_TELEPORT) && vehicleCreature->getFaction() == BattlefieldWG::WintergraspFaction[wg->GetDefenderTeam()]) if (Creature* teleportTrigger = vehicleCreature->FindNearestCreature(NPC_WORLD_TRIGGER_LARGE_AOI_NOT_IMMUNE_PC_NPC, 100.0f, true)) teleportTrigger->CastSpell(vehicleCreature, SPELL_VEHICLE_TELEPORT, true); -- cgit v1.2.3 From cb8fc503ddb1fc87abdd1c88146646c68aea46b9 Mon Sep 17 00:00:00 2001 From: Kandera Date: Fri, 28 Sep 2012 10:41:44 -0400 Subject: Core/Battlefield: revert part of previous commit to fix build. --- src/server/game/Battlefield/Zones/BattlefieldWG.h | 77 +++++++++-------------- src/server/game/Entities/Player/Player.cpp | 6 +- src/server/scripts/Northrend/wintergrasp.cpp | 2 +- 3 files changed, 35 insertions(+), 50 deletions(-) (limited to 'src/server/scripts') diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.h b/src/server/game/Battlefield/Zones/BattlefieldWG.h index 4d7db760605..323f7f2b13d 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.h +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.h @@ -416,21 +416,6 @@ class BattlefieldWG : public Battlefield uint32 GetData(uint32 data); - static uint32 const VehNumWorldState[]; - static uint32 const MaxVehNumWorldState[]; - static uint32 const ClockWorldState[]; - static uint32 const WintergraspFaction[]; - static float const WintergraspStalkerPos[]; - - static uint8 const WG_MAX_OBJ; - static uint8 const WG_KEEPGAMEOBJECT_MAX; - static uint8 const WG_MAX_TURRET; - static uint8 const WG_MAX_KEEP_NPC; - static uint8 const WG_MAX_OUTSIDE_NPC; - static uint8 const WG_OUTSIDE_ALLIANCE_NPC; - static uint8 const WG_MAX_TELEPORTER; - static uint8 const WG_MAX_WORKSHOP; - protected: bool m_isRelicInteractible; @@ -451,20 +436,20 @@ class BattlefieldWG : public Battlefield GameObject* m_titansRelic; }; -uint32 const BattlefieldWG::VehNumWorldState[] = { 3680, 3490 }; -uint32 const BattlefieldWG::MaxVehNumWorldState[] = { 3681, 3491 }; -uint32 const BattlefieldWG::ClockWorldState[] = { 3781, 4354 }; -uint32 const BattlefieldWG::WintergraspFaction[] = { 1732, 1735, 35 }; -float const BattlefieldWG::WintergraspStalkerPos[] = { 0, 0, 0, 0 }; - -uint8 const BattlefieldWG::WG_MAX_OBJ = 32; -uint8 const BattlefieldWG::WG_KEEPGAMEOBJECT_MAX = 44; -uint8 const BattlefieldWG::WG_MAX_TURRET = 15; -uint8 const BattlefieldWG::WG_MAX_KEEP_NPC = 39; -uint8 const BattlefieldWG::WG_MAX_OUTSIDE_NPC = 14; -uint8 const BattlefieldWG::WG_OUTSIDE_ALLIANCE_NPC = 7; -uint8 const BattlefieldWG::WG_MAX_TELEPORTER = 12; -uint8 const BattlefieldWG::WG_MAX_WORKSHOP = 6; +uint32 const VehNumWorldState[] = { 3680, 3490 }; +uint32 const MaxVehNumWorldState[] = { 3681, 3491 }; +uint32 const ClockWorldState[] = { 3781, 4354 }; +uint32 const WintergraspFaction[] = { 1732, 1735, 35 }; +float const WintergraspStalkerPos[] = { 0, 0, 0, 0 }; + +uint8 const WG_MAX_OBJ = 32; +uint8 const WG_KEEPGAMEOBJECT_MAX = 44; +uint8 const WG_MAX_TURRET = 15; +uint8 const WG_MAX_KEEP_NPC = 39; +uint8 const WG_MAX_OUTSIDE_NPC = 14; +uint8 const WG_OUTSIDE_ALLIANCE_NPC = 7; +uint8 const WG_MAX_TELEPORTER = 12; +uint8 const WG_MAX_WORKSHOP = 6; enum WintergraspGameObjectBuildingType { @@ -595,7 +580,7 @@ struct WintergraspBuildingSpawnData uint32 nameId; }; -const WintergraspBuildingSpawnData WGGameObjectBuilding[BattlefieldWG::WG_MAX_OBJ] = +const WintergraspBuildingSpawnData WGGameObjectBuilding[WG_MAX_OBJ] = { // Wall (Not spawned in db) // Entry WS X Y Z O type NameID @@ -688,7 +673,7 @@ const WintergraspBuildingSpawnData WGGameObjectBuilding[BattlefieldWG::WG_MAX_OB // 192357 : 1 in sql, 1 in header // 192350 : 1 in sql, 1 in header // 192351 : 1 in sql, 1 in header -const WintergraspObjectPositionData WGKeepGameObject[BattlefieldWG::WG_KEEPGAMEOBJECT_MAX] = +const WintergraspObjectPositionData WGKeepGameObject[WG_KEEPGAMEOBJECT_MAX] = { { 5262.540039f, 3047.949951f, 432.054993f, 3.106650f, 192488, 192501 }, // Flag on tower { 5272.939941f, 2976.550049f, 444.492004f, 3.124120f, 192374, 192416 }, // Flag on Wall Intersect @@ -736,7 +721,7 @@ const WintergraspObjectPositionData WGKeepGameObject[BattlefieldWG::WG_KEEPGAMEO { 5271.279785f, 2820.159912f, 445.200989f, -3.13286f, 192351, 192416 } // Flag on wall intersect }; -const Position WGTurret[BattlefieldWG::WG_MAX_TURRET] = +const Position WGTurret[WG_MAX_TURRET] = { { 5391.19f, 3060.8f, 419.616f, 1.69557f }, { 5266.75f, 2976.5f, 421.067f, 3.20354f }, @@ -756,7 +741,7 @@ const Position WGTurret[BattlefieldWG::WG_MAX_TURRET] = }; // Here there is all npc keeper spawn point -const WintergraspObjectPositionData WGKeepNPC[BattlefieldWG::WG_MAX_KEEP_NPC] = +const WintergraspObjectPositionData WGKeepNPC[WG_MAX_KEEP_NPC] = { // X Y Z O horde alliance // North East @@ -807,7 +792,7 @@ const WintergraspObjectPositionData WGKeepNPC[BattlefieldWG::WG_MAX_KEEP_NPC] = { 5316.770996f, 2619.430176f, 409.027740f, 5.363431f, BATTLEFIELD_WG_NPC_GUARD_H, BATTLEFIELD_WG_NPC_GUARD_A } // Standing Guard }; -const WintergraspObjectPositionData WGOutsideNPC[BattlefieldWG::WG_MAX_OUTSIDE_NPC] = +const WintergraspObjectPositionData WGOutsideNPC[WG_MAX_OUTSIDE_NPC] = { { 5032.04f, 3681.79f, 362.980f, 4.210f, BATTLEFIELD_WG_NPC_VIERON_BLAZEFEATHER, 0 }, { 5020.71f, 3626.19f, 360.150f, 4.640f, BATTLEFIELD_WG_NPC_HOODOO_MASTER_FU_JIN, 0 }, @@ -834,7 +819,7 @@ struct WintergraspTeleporterData float o; }; -const WintergraspTeleporterData WGPortalDefenderData[BattlefieldWG::WG_MAX_TELEPORTER] = +const WintergraspTeleporterData WGPortalDefenderData[WG_MAX_TELEPORTER] = { // Player teleporter { 190763, 5153.41f, 2901.35f, 409.191f, -0.069f }, @@ -1136,7 +1121,7 @@ struct WGWorkshopData uint32 text; }; -const WGWorkshopData WorkshopsData[BattlefieldWG::WG_MAX_WORKSHOP] = +const WGWorkshopData WorkshopsData[WG_MAX_WORKSHOP] = { // NE {BATTLEFIELD_WG_WORKSHOP_NE, WORLDSTATE_WORKSHOP_NE, BATTLEFIELD_WG_TEXT_WORKSHOP_NAME_NE}, @@ -1230,7 +1215,7 @@ struct BfWGGameObjectBuilding m_WG->SendUpdateWorldState(m_WorldState, m_State); } UpdateCreatureAndGo(); - m_Build->SetUInt32Value(GAMEOBJECT_FACTION, BattlefieldWG::WintergraspFaction[m_Team]); + m_Build->SetUInt32Value(GAMEOBJECT_FACTION, WintergraspFaction[m_Team]); } // Called when associated gameobject is damaged @@ -1417,12 +1402,12 @@ struct BfWGGameObjectBuilding case GO_WINTERGRASP_FORTRESS_TOWER_2: case GO_WINTERGRASP_FORTRESS_TOWER_3: case GO_WINTERGRASP_FORTRESS_TOWER_4: - turret->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetDefenderTeam()]); + turret->setFaction(WintergraspFaction[m_WG->GetDefenderTeam()]); break; case GO_WINTERGRASP_SHADOWSIGHT_TOWER: case GO_WINTERGRASP_WINTER_S_EDGE_TOWER: case GO_WINTERGRASP_FLAMEWATCH_TOWER: - turret->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetAttackerTeam()]); + turret->setFaction(WintergraspFaction[m_WG->GetAttackerTeam()]); break; } m_WG->HideNpc(turret); @@ -1443,12 +1428,12 @@ struct BfWGGameObjectBuilding case GO_WINTERGRASP_FORTRESS_TOWER_2: case GO_WINTERGRASP_FORTRESS_TOWER_3: case GO_WINTERGRASP_FORTRESS_TOWER_4: - turret->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetDefenderTeam()]); + turret->setFaction(WintergraspFaction[m_WG->GetDefenderTeam()]); break; case GO_WINTERGRASP_SHADOWSIGHT_TOWER: case GO_WINTERGRASP_WINTER_S_EDGE_TOWER: case GO_WINTERGRASP_FLAMEWATCH_TOWER: - turret->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetAttackerTeam()]); + turret->setFaction(WintergraspFaction[m_WG->GetAttackerTeam()]); break; } m_WG->HideNpc(turret); @@ -1509,14 +1494,14 @@ struct BfWGGameObjectBuilding case GO_WINTERGRASP_FORTRESS_TOWER_3: case GO_WINTERGRASP_FORTRESS_TOWER_4: { - creature->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetDefenderTeam()]); + creature->setFaction(WintergraspFaction[m_WG->GetDefenderTeam()]); break; } case GO_WINTERGRASP_SHADOWSIGHT_TOWER: case GO_WINTERGRASP_WINTER_S_EDGE_TOWER: case GO_WINTERGRASP_FLAMEWATCH_TOWER: { - creature->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetAttackerTeam()]); + creature->setFaction(WintergraspFaction[m_WG->GetAttackerTeam()]); break; } } @@ -1545,14 +1530,14 @@ struct BfWGGameObjectBuilding case GO_WINTERGRASP_FORTRESS_TOWER_3: case GO_WINTERGRASP_FORTRESS_TOWER_4: { - creature->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetDefenderTeam()]); + creature->setFaction(WintergraspFaction[m_WG->GetDefenderTeam()]); break; } case GO_WINTERGRASP_SHADOWSIGHT_TOWER: case GO_WINTERGRASP_WINTER_S_EDGE_TOWER: case GO_WINTERGRASP_FLAMEWATCH_TOWER: { - creature->setFaction(BattlefieldWG::WintergraspFaction[m_WG->GetAttackerTeam()]); + creature->setFaction(WintergraspFaction[m_WG->GetAttackerTeam()]); break; } } @@ -1581,7 +1566,7 @@ struct WGWorkshop WGWorkshop(BattlefieldWG* _bf, uint8 _workshopId) { - ASSERT(_bf || _workshopId < BattlefieldWG::WG_MAX_WORKSHOP); + ASSERT(_bf || _workshopId < WG_MAX_WORKSHOP); bf = _bf; workshopId = _workshopId; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index c0e3e3afc03..fcc3c8a1e93 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -9118,7 +9118,7 @@ void Player::SendInitWorldStates(uint32 zoneid, uint32 areaid) break; case 4197: // Wintergrasp /// Use the max here, and fill with zeros if missing. - NumberOfFields = 10 + BattlefieldWG::WG_MAX_OBJ + BattlefieldWG::WG_MAX_WORKSHOP; + NumberOfFields = 10 + WG_MAX_OBJ + WG_MAX_WORKSHOP; break; default: NumberOfFields = 12; @@ -9720,11 +9720,11 @@ void Player::SendBattlefieldWorldStates() if (BattlefieldWG* wg = (BattlefieldWG*)sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG)) { if (wg->IsWarTime()) - SendUpdateWorldState(BattlefieldWG::ClockWorldState[1], uint32(time(NULL))); + SendUpdateWorldState(ClockWorldState[1], uint32(time(NULL))); else // Time to next battle { uint32 timer = wg->GetTimer() / 1000; - SendUpdateWorldState(BattlefieldWG::ClockWorldState[1], time(NULL) + timer); + SendUpdateWorldState(ClockWorldState[1], time(NULL) + timer); } } } diff --git a/src/server/scripts/Northrend/wintergrasp.cpp b/src/server/scripts/Northrend/wintergrasp.cpp index c58f6fc2dff..59e9a31c4cf 100644 --- a/src/server/scripts/Northrend/wintergrasp.cpp +++ b/src/server/scripts/Northrend/wintergrasp.cpp @@ -307,7 +307,7 @@ class go_wg_vehicle_teleporter : public GameObjectScript // Tabulation madness in the hole! for (uint8 i = 0; i < MAX_WINTERGRASP_VEHICLES; i++) if (Creature* vehicleCreature = go->FindNearestCreature(vehiclesList[i], 3.0f, true)) - if (!vehicleCreature->HasAura(SPELL_VEHICLE_TELEPORT) && vehicleCreature->getFaction() == BattlefieldWG::WintergraspFaction[wg->GetDefenderTeam()]) + if (!vehicleCreature->HasAura(SPELL_VEHICLE_TELEPORT) && vehicleCreature->getFaction() == WintergraspFaction[wg->GetDefenderTeam()]) if (Creature* teleportTrigger = vehicleCreature->FindNearestCreature(NPC_WORLD_TRIGGER_LARGE_AOI_NOT_IMMUNE_PC_NPC, 100.0f, true)) teleportTrigger->CastSpell(vehicleCreature, SPELL_VEHICLE_TELEPORT, true); -- cgit v1.2.3 From 49179651b14aeebe92ffdc2eaa95d28e07c33ae4 Mon Sep 17 00:00:00 2001 From: durotar Date: Sat, 29 Sep 2012 14:07:52 -0500 Subject: Core/Script: update creature_text for boss Mimiron --- .../world/2012_09_29_01_world_creature_text.sql | 24 +++++++++++++++ .../Northrend/Ulduar/Ulduar/boss_mimiron.cpp | 36 ++++++++++------------ 2 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 sql/updates/world/2012_09_29_01_world_creature_text.sql (limited to 'src/server/scripts') diff --git a/sql/updates/world/2012_09_29_01_world_creature_text.sql b/sql/updates/world/2012_09_29_01_world_creature_text.sql new file mode 100644 index 00000000000..8fde66d2e6e --- /dev/null +++ b/sql/updates/world/2012_09_29_01_world_creature_text.sql @@ -0,0 +1,24 @@ +-- Mimiron +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1603259 AND -1603240; +DELETE FROM `creature_text` WHERE `entry`=33350; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(33350,0,0, 'Oh, my! I wasn''t expecting company! The workshop is such a mess! How embarrassing!',14,0,100,0,0,15611, 'Mimiron SAY_AGGRO'), +(33350,1,0, 'Now why would you go and do something like that? Didn''t you see the sign that said ''DO NOT PUSH THIS BUTTON!''? How will we finish testing with the self-destruct mechanism active?',14,0,100,0,0,15629, 'Mimiron SAY_HARDMODE_ON'), +(33350,2,0, 'We haven''t much time, friends! You''re going to help me test out my latest and greatest creation. Now, before you change your minds, remember, that you kind of owe it to me after the mess you made with the XT-002.',14,0,100,0,0,15612, 'Mimiron SAY_MKII_ACTIVATE'), +(33350,3,0, 'MEDIC!',14,0,100,0,0,15613, 'Mimiron SAY_MKII_SLAY_1'), +(33350,3,1, 'I can fix that... or, maybe not! Sheesh, what a mess...',14,0,100,0,0,15614, 'Mimiron SAY_MKII_SLAY_2'), +(33350,4,0, 'WONDERFUL! Positively marvelous results! Hull integrity at 98.9 percent! Barely a dent! Moving right along.',14,0,100,0,0,15615, 'Mimiron SAY_MKII_DEATH'), +(33350,5,0, 'Behold the VX-001 Anti-personnel Assault Cannon! You might want to take cover.',14,0,100,0,0,15616, 'Mimiron SAY_VX001_ACTIVATE'), +(33350,6,0, 'Fascinating. I think they call that a "clean kill".',14,0,100,0,0,15617, 'Mimiron SAY_VX001_SLAY_1'), +(33350,6,1, 'Note to self: Cannon highly effective against flesh.',14,0,100,0,0,15618, 'Mimiron SAY_VX001_SLAY_2'), +(33350,7,0, 'Thank you, friends! Your efforts have yielded some fantastic data! Now, where did I put- oh, there it is!',14,0,100,0,0,15619, 'Mimiron SAY_VX001_DEATH'), +(33350,8,0, 'Isn''t it beautiful? I call it the magnificent aerial command unit!',14,0,100,0,0,15620, 'Mimiron SAY_AERIAL_ACTIVATE'), +(33350,9,0, 'Outplayed!',14,0,100,0,0,15621, 'Mimiron SAY_AERIAL_SLAY_1'), +(33350,9,1, 'You can do better than that!',14,0,100,0,0,15622, 'Mimiron SAY_AERIAL_SLAY_2'), +(33350,10,0, 'Preliminary testing phase complete. Now comes the true test!!',14,0,100,0,0,15623, 'Mimiron SAY_AERIAL_DEATH'), +(33350,11,0, 'Gaze upon its magnificence! Bask in its glorious, um, glory! I present you... V-07-TR-0N!',14,0,100,0,0,15624, 'Mimiron SAY_V07TRON_ACTIVATE'), +(33350,12,0, 'Prognosis: Negative!',14,0,100,0,0,15625, 'Mimiron SAY_V07TRON_SLAY_1'), +(33350,12,1, 'You''re not going to get up from that one, friend.',14,0,100,0,0,15626, 'Mimiron SAY_V07TRON_SLAY_2'), +(33350,13,0, 'It would appear that I''ve made a slight miscalculation. I allowed my mind to be corrupted by the fiend in the prison, overriding my primary directive. All systems seem to be functional now. Clear.',14,0,100,0,0,15627, 'Mimiron SAY_V07TRON_DEATH'), +(33350,14,0, 'Oh, my! It would seem that we are out of time, my friends!',14,0,100,0,0,15628, 'Mimiron SAY_BERSERK'), +(33350,15,0, 'Combat matrix enhanced. Behold wonderous rapidity!',14,0,100,0,0,15630, 'Mimiron SAY_YS_HELP'); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 98b3a6b658b..2a1048da2d7 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -21,26 +21,22 @@ enum Yells { - SAY_AGGRO = -1603240, - SAY_HARDMODE_ON = -1603241, - SAY_MKII_ACTIVATE = -1603242, - SAY_MKII_SLAY_1 = -1603243, - SAY_MKII_SLAY_2 = -1603244, - SAY_MKII_DEATH = -1603245, - SAY_VX001_ACTIVATE = -1603246, - SAY_VX001_SLAY_1 = -1603247, - SAY_VX001_SLAY_2 = -1603248, - SAY_VX001_DEATH = -1603249, - SAY_AERIAL_ACTIVATE = -1603250, - SAY_AERIAL_SLAY_1 = -1603251, - SAY_AERIAL_SLAY_2 = -1603252, - SAY_AERIAL_DEATH = -1603253, - SAY_V07TRON_ACTIVATE = -1603254, - SAY_V07TRON_SLAY_1 = -1603255, - SAY_V07TRON_SLAY_2 = -1603256, - SAY_V07TRON_DEATH = -1603257, - SAY_BERSERK = -1603258, - SAY_YS_HELP = -1603259, + SAY_AGGRO = 0, + SAY_HARDMODE_ON = 1, + SAY_MKII_ACTIVATE = 2, + SAY_MKII_SLAY = 3, + SAY_MKII_DEATH = 4, + SAY_VX001_ACTIVATE = 5, + SAY_VX001_SLAY = 6, + SAY_VX001_DEATH = 7, + SAY_AERIAL_ACTIVATE = 8, + SAY_AERIAL_SLAY = 9, + SAY_AERIAL_DEATH = 10, + SAY_V07TRON_ACTIVATE = 11, + SAY_V07TRON_SLAY = 12, + SAY_V07TRON_DEATH = 13, + SAY_BERSERK = 14, + SAY_YS_HELP = 15 }; enum Spells -- cgit v1.2.3 From 8110ab1ed51db29ac90f1a38dd6426bd1635905c Mon Sep 17 00:00:00 2001 From: Retriman Date: Sun, 30 Sep 2012 01:28:36 -0400 Subject: Core/Script: * Update creature_text for boss Elder Nadox * Clean Space work whitch @Durotar --- .../world/2012_XX_XX_XX_world_creature_text.sql | 12 +++++ .../AzjolNerub/Ahnkahet/boss_elder_nadox.cpp | 54 +++++++++------------- 2 files changed, 33 insertions(+), 33 deletions(-) create mode 100644 sql/updates/world/2012_XX_XX_XX_world_creature_text.sql (limited to 'src/server/scripts') diff --git a/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql b/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql new file mode 100644 index 00000000000..57e0d6c1a22 --- /dev/null +++ b/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql @@ -0,0 +1,12 @@ +-- AzjolNerub/Ahnkahet/Elder Nadox +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1619020 AND -1619014; +DELETE FROM `creature_text` WHERE `entry`=29309; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(29309,0,0, 'The secrets of the deep shall remain hidden.',14,0,100,0,0,14033, 'SAY_AGGRO'), +(29309,1,0, 'Sleep now, in the cold dark.',14,0,100,0,0,14036, 'SAY_SLAY_1'), +(29309,1,1, 'For the Lich King!',14,0,100,0,0,14037, 'SAY_SLAY_2'), +(29309,1,2, 'Perhaps we will be allies soon.',14,0,100,0,0,14038, 'SAY_SLAY_3'), +(29309,2,0, 'Master, is my service complete?',14,0,100,0,0,14039, 'SAY_DEATH'), +(29309,3,0, 'The young must not grow hungry...',14,0,100,0,0,14034, 'SAY_EGG_SAC_1'), +(29309,3,1, 'Shhhad ak kereeesshh chak-k-k!',14,0,100,0,0,14035, 'SAY_EGG_SAC_2'), +(29309,4,0, 'An Ahn''kahar Guardian hatches!',16,0,100,0,0,14035, 'EMOTE_HATCHES'); \ No newline at end of file diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp index 7f4da5666ff..4893191beb3 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp @@ -19,16 +19,13 @@ #include "ScriptedCreature.h" #include "ahnkahet.h" -//not in db enum Yells { - SAY_AGGRO = -1619014, - SAY_SLAY_1 = -1619015, - SAY_SLAY_2 = -1619016, - SAY_SLAY_3 = -1619017, - SAY_DEATH = -1619018, - SAY_EGG_SAC_1 = -1619019, - SAY_EGG_SAC_2 = -1619020 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_EGG_SAC = 3, + EMOTE_HATCHES = 4 }; enum Spells @@ -50,8 +47,6 @@ enum Creatures #define ACTION_AHNKAHAR_GUARDIAN_DEAD 1 #define DATA_RESPECT_YOUR_ELDERS 2 -#define EMOTE_HATCHES "An Ahn'kahar Guardian hatches!" - class boss_elder_nadox : public CreatureScript { public: @@ -61,7 +56,7 @@ class boss_elder_nadox : public CreatureScript { boss_elder_nadoxAI(Creature* creature) : ScriptedAI(creature) { - instance = me->GetInstanceScript(); + instance = creature->GetInstanceScript(); } uint32 uiPlagueTimer; @@ -78,16 +73,13 @@ class boss_elder_nadox : public CreatureScript void Reset() { - uiPlagueTimer = 13000; - uiRagueTimer = 20000; - + uiPlagueTimer = 13000; + uiRagueTimer = 20000; uiSwarmerSpawnTimer = 10000; - uiGuardSpawnTimer = 25000; - - uiEnrageTimer = 5000; - - bGuardSpawned = false; - respectYourElders = true; + uiGuardSpawnTimer = 25000; + uiEnrageTimer = 5000; + bGuardSpawned = false; + respectYourElders = true; if (instance) instance->SetData(DATA_ELDER_NADOX_EVENT, NOT_STARTED); @@ -95,7 +87,7 @@ class boss_elder_nadox : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_ELDER_NADOX_EVENT, IN_PROGRESS); @@ -103,12 +95,12 @@ class boss_elder_nadox : public CreatureScript void KilledUnit(Unit* /*who*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_SLAY_3, me); //SAY_SLAY_3 on death? + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_ELDER_NADOX_EVENT, DONE); @@ -135,7 +127,7 @@ class boss_elder_nadox : public CreatureScript if (uiPlagueTimer <= diff) { - DoCast(me->getVictim(), SPELL_BROOD_PLAGUE); + DoCastVictim(SPELL_BROOD_PLAGUE); uiPlagueTimer = 15000; } else @@ -160,7 +152,7 @@ class boss_elder_nadox : public CreatureScript DoCast(me, SPELL_SUMMON_SWARMERS, true); DoCast(me, SPELL_SUMMON_SWARMERS); if (urand(1, 3) == 3) // 33% chance of dialog - DoScriptText(RAND(SAY_EGG_SAC_1, SAY_EGG_SAC_2), me); + Talk(SAY_EGG_SAC); uiSwarmerSpawnTimer = 10000; } @@ -169,7 +161,7 @@ class boss_elder_nadox : public CreatureScript if (!bGuardSpawned && uiGuardSpawnTimer <= diff) { - me->MonsterTextEmote(EMOTE_HATCHES, me->GetGUID(), true); + Talk(EMOTE_HATCHES, me->GetGUID()); DoCast(me, SPELL_SUMMON_SWARM_GUARD); bGuardSpawned = true; } @@ -217,7 +209,7 @@ class mob_ahnkahar_nerubian : public CreatureScript { mob_ahnkahar_nerubianAI(Creature* creature) : ScriptedAI(creature) { - instance = me->GetInstanceScript(); + instance = creature->GetInstanceScript(); } InstanceScript* instance; @@ -237,9 +229,7 @@ class mob_ahnkahar_nerubian : public CreatureScript Nadox->AI()->DoAction(ACTION_AHNKAHAR_GUARDIAN_DEAD); } - void EnterCombat(Unit* /*who*/) - { - } + void EnterCombat(Unit* /*who*/) {} void UpdateAI(uint32 const diff) { @@ -300,9 +290,7 @@ public: class achievement_respect_your_elders : public AchievementCriteriaScript { public: - achievement_respect_your_elders() : AchievementCriteriaScript("achievement_respect_your_elders") - { - } + achievement_respect_your_elders() : AchievementCriteriaScript("achievement_respect_your_elders") {} bool OnCheck(Player* /*player*/, Unit* target) { -- cgit v1.2.3 From 8a18449a74abcf2322dd45f87ec29d3bf05fedcd Mon Sep 17 00:00:00 2001 From: Nay Date: Sun, 30 Sep 2012 15:33:56 +0100 Subject: SQL: Rename file merged in PR; Core: cleanup whitespace and tabs --- .../world/2012_09_30_00_world_creature_text.sql | 12 ++ .../world/2012_XX_XX_XX_world_creature_text.sql | 12 -- .../game/Battlefield/Zones/BattlefieldWG.cpp | 4 +- src/server/game/Entities/Unit/Unit.cpp | 2 +- .../AzjolNerub/Ahnkahet/boss_elder_nadox.cpp | 2 +- .../Northrend/Ulduar/Ulduar/boss_mimiron.cpp | 142 ++++++++++----------- src/server/scripts/Spells/spell_paladin.cpp | 2 +- 7 files changed, 88 insertions(+), 88 deletions(-) create mode 100644 sql/updates/world/2012_09_30_00_world_creature_text.sql delete mode 100644 sql/updates/world/2012_XX_XX_XX_world_creature_text.sql (limited to 'src/server/scripts') diff --git a/sql/updates/world/2012_09_30_00_world_creature_text.sql b/sql/updates/world/2012_09_30_00_world_creature_text.sql new file mode 100644 index 00000000000..e0f9f210d7b --- /dev/null +++ b/sql/updates/world/2012_09_30_00_world_creature_text.sql @@ -0,0 +1,12 @@ +-- AzjolNerub/Ahnkahet/Elder Nadox +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1619020 AND -1619014; +DELETE FROM `creature_text` WHERE `entry`=29309; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(29309,0,0, 'The secrets of the deep shall remain hidden.',14,0,100,0,0,14033, 'SAY_AGGRO'), +(29309,1,0, 'Sleep now, in the cold dark.',14,0,100,0,0,14036, 'SAY_SLAY_1'), +(29309,1,1, 'For the Lich King!',14,0,100,0,0,14037, 'SAY_SLAY_2'), +(29309,1,2, 'Perhaps we will be allies soon.',14,0,100,0,0,14038, 'SAY_SLAY_3'), +(29309,2,0, 'Master, is my service complete?',14,0,100,0,0,14039, 'SAY_DEATH'), +(29309,3,0, 'The young must not grow hungry...',14,0,100,0,0,14034, 'SAY_EGG_SAC_1'), +(29309,3,1, 'Shhhad ak kereeesshh chak-k-k!',14,0,100,0,0,14035, 'SAY_EGG_SAC_2'), +(29309,4,0, 'An Ahn''kahar Guardian hatches!',16,0,100,0,0,14035, 'EMOTE_HATCHES'); diff --git a/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql b/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql deleted file mode 100644 index 57e0d6c1a22..00000000000 --- a/sql/updates/world/2012_XX_XX_XX_world_creature_text.sql +++ /dev/null @@ -1,12 +0,0 @@ --- AzjolNerub/Ahnkahet/Elder Nadox -DELETE FROM `script_texts` WHERE `entry` BETWEEN -1619020 AND -1619014; -DELETE FROM `creature_text` WHERE `entry`=29309; -INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES -(29309,0,0, 'The secrets of the deep shall remain hidden.',14,0,100,0,0,14033, 'SAY_AGGRO'), -(29309,1,0, 'Sleep now, in the cold dark.',14,0,100,0,0,14036, 'SAY_SLAY_1'), -(29309,1,1, 'For the Lich King!',14,0,100,0,0,14037, 'SAY_SLAY_2'), -(29309,1,2, 'Perhaps we will be allies soon.',14,0,100,0,0,14038, 'SAY_SLAY_3'), -(29309,2,0, 'Master, is my service complete?',14,0,100,0,0,14039, 'SAY_DEATH'), -(29309,3,0, 'The young must not grow hungry...',14,0,100,0,0,14034, 'SAY_EGG_SAC_1'), -(29309,3,1, 'Shhhad ak kereeesshh chak-k-k!',14,0,100,0,0,14035, 'SAY_EGG_SAC_2'), -(29309,4,0, 'An Ahn''kahar Guardian hatches!',16,0,100,0,0,14035, 'EMOTE_HATCHES'); \ No newline at end of file diff --git a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp index 0da2a9ca06c..de1ee1785d8 100644 --- a/src/server/game/Battlefield/Zones/BattlefieldWG.cpp +++ b/src/server/game/Battlefield/Zones/BattlefieldWG.cpp @@ -876,9 +876,9 @@ void BattlefieldWG::SendInitWorldStatesTo(Player* player) data << uint32(m_ZoneId); data << uint32(0); data << uint16(10 + BuildingsInZone.size() + WorkshopsList.size()); // Number of fields - + FillInitialWorldStates(data); - + player->GetSession()->SendPacket(&data); } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 3e9ab113918..0a3876c6946 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -6673,7 +6673,7 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere { victim->CastCustomSpell(beaconTarget, triggered_spell_id, &basepoints0, NULL, NULL, true, 0, triggeredByAura); return true; - } + } else return false; } diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp index 4893191beb3..9274a016e2f 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp @@ -25,7 +25,7 @@ enum Yells SAY_SLAY = 1, SAY_DEATH = 2, SAY_EGG_SAC = 3, - EMOTE_HATCHES = 4 + EMOTE_HATCHES = 4 }; enum Spells diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index 2a1048da2d7..6a4a5255293 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -21,93 +21,93 @@ enum Yells { - SAY_AGGRO = 0, - SAY_HARDMODE_ON = 1, - SAY_MKII_ACTIVATE = 2, - SAY_MKII_SLAY = 3, - SAY_MKII_DEATH = 4, - SAY_VX001_ACTIVATE = 5, - SAY_VX001_SLAY = 6, - SAY_VX001_DEATH = 7, - SAY_AERIAL_ACTIVATE = 8, - SAY_AERIAL_SLAY = 9, - SAY_AERIAL_DEATH = 10, - SAY_V07TRON_ACTIVATE = 11, - SAY_V07TRON_SLAY = 12, - SAY_V07TRON_DEATH = 13, - SAY_BERSERK = 14, - SAY_YS_HELP = 15 + SAY_AGGRO = 0, + SAY_HARDMODE_ON = 1, + SAY_MKII_ACTIVATE = 2, + SAY_MKII_SLAY = 3, + SAY_MKII_DEATH = 4, + SAY_VX001_ACTIVATE = 5, + SAY_VX001_SLAY = 6, + SAY_VX001_DEATH = 7, + SAY_AERIAL_ACTIVATE = 8, + SAY_AERIAL_SLAY = 9, + SAY_AERIAL_DEATH = 10, + SAY_V07TRON_ACTIVATE = 11, + SAY_V07TRON_SLAY = 12, + SAY_V07TRON_DEATH = 13, + SAY_BERSERK = 14, + SAY_YS_HELP = 15 }; enum Spells { - SPELL_JETPACK = 63341, - SPELL_EMERGENCY_MODE = 64582, - SPELL_SELF_REPAIR = 64383, - SPELL_MAGNETIC_CORE = 64444, - // Leviathan MK II - SPELL_FLAME_SUPPRESSANT_MK = 64570, - SPELL_NAPALM_SHELL = 63666, - SPELL_PLASMA_BLAST = 62977, - SPELL_PROXIMITY_MINES = 63027, - SPELL_SHOCK_BLAST = 63631, - // VX 001 - SPELL_FLAME_SUPPRESSANT_VX = 65192, - SPELL_FROSTBOMB = 64623, - SPELL_HAND_PULSE = 64348, - SPELL_SPINNING_UP = 63414, - SPELL_RAPID_BURST = 63387, - SPELL_P3WX2_LASER_BARRAGE = 63293, - SPELL_ROCKET_STRIKE = 63041, - SPELL_HEAT_WAVE = 63677, - // Aerial Command Unit - SPELL_PLASMA_BALL = 63689, - // Additonal spells - SPELL_MAGNETIC_FIELD = 64668, - SPELL_DEAFENING_SIREN = 64616, - SPELL_WATER_SPRAY = 64619, - SPELL_FROST_BOMB_HARD_MODE = 64627, - SPELL_EXPLOSION = 66351, - SPELL_DISARM = 1842, - SPELL_RIDE_VEHICLE = 46598, - SPELL_TRIGGER_MISSILE = 65347, + SPELL_JETPACK = 63341, + SPELL_EMERGENCY_MODE = 64582, + SPELL_SELF_REPAIR = 64383, + SPELL_MAGNETIC_CORE = 64444, + // Leviathan MK II + SPELL_FLAME_SUPPRESSANT_MK = 64570, + SPELL_NAPALM_SHELL = 63666, + SPELL_PLASMA_BLAST = 62977, + SPELL_PROXIMITY_MINES = 63027, + SPELL_SHOCK_BLAST = 63631, + // VX 001 + SPELL_FLAME_SUPPRESSANT_VX = 65192, + SPELL_FROSTBOMB = 64623, + SPELL_HAND_PULSE = 64348, + SPELL_SPINNING_UP = 63414, + SPELL_RAPID_BURST = 63387, + SPELL_P3WX2_LASER_BARRAGE = 63293, + SPELL_ROCKET_STRIKE = 63041, + SPELL_HEAT_WAVE = 63677, + // Aerial Command Unit + SPELL_PLASMA_BALL = 63689, + // Additonal spells + SPELL_MAGNETIC_FIELD = 64668, + SPELL_DEAFENING_SIREN = 64616, + SPELL_WATER_SPRAY = 64619, + SPELL_FROST_BOMB_HARD_MODE = 64627, + SPELL_EXPLOSION = 66351, + SPELL_DISARM = 1842, + SPELL_RIDE_VEHICLE = 46598, + SPELL_TRIGGER_MISSILE = 65347, }; enum Npc { - NPC_ASSAULT_BOT = 34057, - NPC_BOMB_BOT = 33836, - NPC_JUNK_BOT = 33855, - NPC_EMERGENCE_FIRE_BOT = 34147, - NPC_FROST_BOMB = 34149, + NPC_ASSAULT_BOT = 34057, + NPC_BOMB_BOT = 33836, + NPC_JUNK_BOT = 33855, + NPC_EMERGENCE_FIRE_BOT = 34147, + NPC_FROST_BOMB = 34149, }; class spell_ulduar_proximity_mines : public SpellScriptLoader { - public: - spell_ulduar_proximity_mines() : SpellScriptLoader("spell_ulduar_proximity_mines") { } + public: + spell_ulduar_proximity_mines() : SpellScriptLoader("spell_ulduar_proximity_mines") { } - class spell_ulduar_proximity_minesSpellScript : public SpellScript - { - PrepareSpellScript(spell_ulduar_proximity_minesSpellScript) + class spell_ulduar_proximity_minesSpellScript : public SpellScript + { + PrepareSpellScript(spell_ulduar_proximity_minesSpellScript) - void HandleScript(SpellEffIndex effIndex) - { - PreventHitDefaultEffect(effIndex); - for (uint8 i = 0; i < 10; ++i) - GetCaster()->CastSpell(GetCaster(), SPELL_TRIGGER_MISSILE, true); - } + void HandleScript(SpellEffIndex effIndex) + { + PreventHitDefaultEffect(effIndex); + for (uint8 i = 0; i < 10; ++i) + GetCaster()->CastSpell(GetCaster(), SPELL_TRIGGER_MISSILE, true); + } - void Register() - { - OnEffectHitTarget += SpellEffectFn(spell_ulduar_proximity_minesSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); - } - }; + void Register() + { + OnEffectHitTarget += SpellEffectFn(spell_ulduar_proximity_minesSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } + }; - SpellScript* GetSpellScript() const - { - return new spell_ulduar_proximity_minesSpellScript(); - } + SpellScript* GetSpellScript() const + { + return new spell_ulduar_proximity_minesSpellScript(); + } }; void AddSC_boss_mimiron() diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 0102c3cb1ae..7be80088101 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -627,7 +627,7 @@ class spell_pal_divine_sacrifice : public SpellScriptLoader bool Load() { - + if (Unit* caster = GetCaster()) { if (caster->GetTypeId() == TYPEID_PLAYER) -- cgit v1.2.3 From 6591dd6b10a2bd9409b8454b0b81856fac0b73a6 Mon Sep 17 00:00:00 2001 From: Retriman Date: Sun, 30 Sep 2012 11:29:31 -0400 Subject: Core/Script: * Update creature_text for boss Herald Volazj thanks @Aokromes, for soundId text --- .../world/2012_XX_XX_XXX_world_creature_text.sql | 13 +++++++++++++ .../AzjolNerub/Ahnkahet/boss_herald_volazj.cpp | 19 ++++++++----------- 2 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 sql/updates/world/2012_XX_XX_XXX_world_creature_text.sql (limited to 'src/server/scripts') diff --git a/sql/updates/world/2012_XX_XX_XXX_world_creature_text.sql b/sql/updates/world/2012_XX_XX_XXX_world_creature_text.sql new file mode 100644 index 00000000000..f748696ab33 --- /dev/null +++ b/sql/updates/world/2012_XX_XX_XXX_world_creature_text.sql @@ -0,0 +1,13 @@ +-- AzjolNerub/Ahnkahet/Herald Volazj +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1619036 AND -1619030; +DELETE FROM `creature_text` WHERE `entry`=29311; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(29311,0,0, 'Shgla''yos plahf mh''naus.', 14,0,100,0,0,14043, 'SAY_AGGRO_1'), +(29311,0,1, 'They who dine on lost souls know only hunger.', 15, 0, 100, 0, 0, 14043, 'SAY_AGGRO_2'), +(29311,1,0, 'Ywaq puul skshgn: on''ma yeh''glu zuq.', 14,0,100,0,0,SOUND, 'SAY_SLAY_1'), +(29311,1,1, 'Ywaq ma phgwa''cul hnakf.',14,0,100,0,0,SOUND, 'SAY_SLAY_2'), +(29311,1,2, 'Ywaq maq oou; ywaq maq ssaggh. Ywaq ma shg''fhn.',14,0,100,0,0,SOUND, 'SAY_SLAY_3'), +(29311,2,0, 'Iilth vwah, uhn''agth fhssh za.', 14, 0, 100, 0, 0, 14048, 'SAY_DEATH_1'), +(29311,2,1, 'Where one falls, many shall take its place.', 15, 0, 100, 0, 0, 14048, 'SAY_DEATH_2'), +(29311,3,0, 'Gul''kafh an''shel. Yoq''al shn ky ywaq nuul.', 14, 0, 100, 0, 0, 14044, 'SAY_PHASE'); + diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp index e81d58b4ef3..3a937942118 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp @@ -44,16 +44,13 @@ enum Creatures MOB_TWISTED_VISAGE = 30625 }; -//not in db + enum Yells { - SAY_AGGRO = -1619030, - SAY_SLAY_1 = -1619031, - SAY_SLAY_2 = -1619032, - SAY_SLAY_3 = -1619033, - SAY_DEATH_1 = -1619034, - SAY_DEATH_2 = -1619035, - SAY_PHASE = -1619036 + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_PHASE = 3 }; enum Achievements @@ -177,7 +174,7 @@ public: void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) { @@ -300,7 +297,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH_1, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_HERALD_VOLAZJ, DONE); @@ -311,7 +308,7 @@ public: void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me); + Talk(SAY_SLAY); } }; -- cgit v1.2.3 From 2e75ecd74b339300868ce432f271c245bda4a4a7 Mon Sep 17 00:00:00 2001 From: Retriman Date: Sun, 30 Sep 2012 17:32:48 -0400 Subject: Core/Script: * Update creature_text for boss Jedoga Shadowseeker --- .../world/2012_XXX_XX_XX_world_creature_text.sql | 18 +++++++++ .../Ahnkahet/boss_jedoga_shadowseeker.cpp | 43 +++++++++------------- 2 files changed, 36 insertions(+), 25 deletions(-) create mode 100644 sql/updates/world/2012_XXX_XX_XX_world_creature_text.sql (limited to 'src/server/scripts') diff --git a/sql/updates/world/2012_XXX_XX_XX_world_creature_text.sql b/sql/updates/world/2012_XXX_XX_XX_world_creature_text.sql new file mode 100644 index 00000000000..27648f4d8cd --- /dev/null +++ b/sql/updates/world/2012_XXX_XX_XX_world_creature_text.sql @@ -0,0 +1,18 @@ +-- AzjolNerub/Ahnkahet/Jedoga Shadowseeker +DELETE FROM `script_texts` WHERE `entry` BETWEEN -1619013 AND -1619000; +DELETE FROM `creature_text` WHERE `entry`=29310; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(29310, 0, 0, 'These are sacred halls! Your intrusion will be met with death!', 14, 0, 100, 0, 0, 14343, 'SAY_AGGRO'), +(29310, 1, 0, 'Who among you is devoted?', 14, 0, 100, 0, 0, 14343, 'SAY_SACRIFICE_1_1'), +(29310, 1, 1, 'You there! Step forward!', 14, 0, 100, 0, 0, 14343, 'SAY_SACRIFICE_1_2'), +(29310, 2, 0, 'Yogg-Saron, grant me your power!', 14, 0, 100, 0, 0, 14343, 'SAY_SACRIFICE_2_1'), +(29310, 2, 1, 'Master, a gift for you!', 14, 0, 100, 0, 0, 14343, 'SAY_SACRIFICE_2_2'), +(29310, 3, 0, 'Glory to Yogg-Saron!', 14, 0, 100, 0, 0, 0, 'SAY_SLAY_1'), +(29310, 3, 1, 'You are unworthy!', 14, 0, 100, 0, 0, 0, 'SAY_SLAY_2'), +(29310, 4, 0, 'Do not expect your sacrilege... to go unpunished.', 14, 0, 100, 0, 0, 0, 'SAY_DEATH'), +(29310, 5, 0, 'The elements themselves will rise up against the civilized world! Only the faithful will be spared!', 14, 0, 100, 0, 0, 14352, 'SAY_PREACHING_1'), +(29310, 5, 1, 'Immortality can be yours, but only if you pledge yourself fully to Yogg-Saron!', 14, 0, 100, 0, 0, 14353, 'SAY_PREACHING_2'), +(29310, 5, 2, 'Here, on the very borders of his domain, you will experience power you could have never imagined!', 14, 0, 100, 0, 0, 0, 'SAY_PREACHING_3'), +(29310, 5, 3, 'You have traveled long and risked much to be here! Your devotion shall be rewarded.', 14, 0, 100, 0, 0, 0, 'SAY_PREACHING_4'), +(29310, 5, 4, 'The faithful shall be exalted! But there is more work to be done. We will press on until all of Azeroth lies beneath his shadow!', 14, 0, 100, 0, 0, 0, 'SAY_PREACHING_5'), +(29310, 3, 2, 'Get up! You haven''t suffered enough.', 14, 0, 100, 0, 0, 14350, 'SAY_SLAY_3'); \ No newline at end of file diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp index 7c167fb9c27..02dcc04abd6 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp @@ -23,22 +23,15 @@ #include "ScriptedCreature.h" #include "ahnkahet.h" + enum Yells { - TEXT_AGGRO = -1619000, - TEXT_SACRIFICE_1_1 = -1619001, - TEXT_SACRIFICE_1_2 = -1619002, - TEXT_SACRIFICE_2_1 = -1619003, - TEXT_SACRIFICE_2_2 = -1619004, - TEXT_SLAY_1 = -1619005, - TEXT_SLAY_2 = -1619006, - TEXT_SLAY_3 = -1619007, - TEXT_DEATH = -1619008, - TEXT_PREACHING_1 = -1619009, - TEXT_PREACHING_2 = -1619010, - TEXT_PREACHING_3 = -1619011, - TEXT_PREACHING_4 = -1619012, - TEXT_PREACHING_5 = -1619013 + TEXT_AGGRO = 0, + TEXT_SACRIFICE_1 = 1, + TEXT_SACRIFICE_2 = 2, + TEXT_SLAY = 3, + TEXT_DEATH = 4, + TEXT_PREACHING = 5 }; enum Spells @@ -129,7 +122,7 @@ public: if (!instance || (who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_JEDOGA_CONTROLLER)) return; - DoScriptText(TEXT_AGGRO, me); + Talk(TEXT_AGGRO); me->SetInCombatWithZone(); instance->SetData(DATA_JEDOGA_SHADOWSEEKER_EVENT, IN_PROGRESS); } @@ -147,12 +140,12 @@ public: if (!Victim || Victim->GetTypeId() != TYPEID_PLAYER) return; - DoScriptText(RAND(TEXT_SLAY_1, TEXT_SLAY_2, TEXT_SLAY_3), me); + Talk(TEXT_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(TEXT_DEATH, me); + Talk(TEXT_DEATH); if (instance) instance->SetData(DATA_JEDOGA_SHADOWSEEKER_EVENT, DONE); } @@ -178,7 +171,7 @@ public: if (!bPreDone && who->GetTypeId() == TYPEID_PLAYER && me->GetDistance(who) < 100.0f) { - DoScriptText(RAND(TEXT_PREACHING_1, TEXT_PREACHING_2, TEXT_PREACHING_3, TEXT_PREACHING_4, TEXT_PREACHING_5), me); + Talk(TEXT_PREACHING); bPreDone = true; } @@ -270,7 +263,7 @@ public: if (opfer) { - DoScriptText(RAND(TEXT_SACRIFICE_1_1, TEXT_SACRIFICE_1_2), me); + Talk(TEXT_SACRIFICE_1); instance->SetData64(DATA_ADD_JEDOGA_OPFER, opfer); } else bCanDown = true; @@ -278,7 +271,7 @@ public: void Opfern() { - DoScriptText(RAND(TEXT_SACRIFICE_2_1, TEXT_SACRIFICE_2_2), me); + Talk(TEXT_SACRIFICE_2); me->InterruptNonMeleeSpells(false); DoCast(me, SPELL_GIFT_OF_THE_HERALD, false); @@ -534,11 +527,11 @@ public: { npc_jedogas_aufseher_triggerAI(Creature* creature) : Scripted_NoMovementAI(creature) { - instance = creature->GetInstanceScript(); - bRemoved = false; - bRemoved2 = false; - bCasted = false; - bCasted2 = false; + instance = creature->GetInstanceScript(); + bRemoved = false; + bRemoved2 = false; + bCasted = false; + bCasted2 = false; } InstanceScript* instance; -- cgit v1.2.3