Lich King Script в Scriptdev2
|
|
[blizz]для тех кто ищит лича вод вам [/blizz] [notice]В Scriptdev2 Northrend Icecrown Citadel[/notice] Quote /* ScriptData SDName: boss_the_lich_king SD%Complete: 40% SDComment: by /dev/rsa SDCategory: Icecrown Citadel EndScriptData */ #include "precompiled.h" #include "def_spire.h" enum BossSpells { SPELL_INFEST = 70541, SPELL_NECROTIC_PLAGUE = 70337, SPELL_PLAGUE_SIPHON = 74074, SPELL_SOUL_REAPER = 69409, SPELL_SPAWN_DEFILE = 72762, SPELL_HARVEST_SOUL = 68980, SPELL_HARVEST_SOUL_TELEPORT = 71372, // SPELL_CHANNEL_KING = 71769, SPELL_BROKEN_FROSTMOURNE = 72398, SPELL_BOOM_VISUAL = 72726, SPELL_ICEBLOCK_TRIGGER = 71614, SPELL_TIRION_LIGHT = 71797, SPELL_FROSTMOURNE_TRIGGER = 72405, SPELL_SUMMON_BROKEN_FROSTMOURNE = 72406, SPELL_SUMMON_BROKEN_FROSTMOURNE_2 = 73017, SPELL_DISENGAGE = 61508, SPELL_FURY_OF_FROSTMOURNE = 70063, SPELL_REVIVE_VISUAL = 37755, //Override? SPELL_REVIVE = 51918, SPELL_CLONE_PLAYER = 57507, SPELL_BERSERK = 47008, //Transition phase SPELL_REMORSELESS_WINTER = 68981, SPELL_PAIN_AND_SUFFERING = 72133, SPELL_QUAKE = 72262, //Raging spirit SPELL_SUMMON_RAGING_SPIRIT = 69201, // triggered SPELL_SOUL_SHRIEK = 69242, //Ice sphere SPELL_SUMMON_ICE_SPHERE = 69103, SPELL_ICE_PULSE = 69099, SPELL_ICE_BURST = 69108, SPELL_ICE_SPHERE_VISUAL = 69090, //Drudge ghouls SPELL_SUMMON_DRUDGE_GHOULS = 70358, //Shambling horror SPELL_SUMMON_SHAMBLING_HORROR = 70372, SPELL_SHOCKWAVE = 72149, SPELL_HORROR_ENRAGE = 72143, //Vile spirits SPELL_SUMMON_VILE_SPIRITS = 70498, SPELL_SPIRITS_BURST = 70503, //Valkyr SPELL_SUMMON_VALKYR = 69037, NPC_VALKYR = 36609, SPELL_WINGS_OF_THE_DAMNED = 74352, //Defile SPELL_DEFILE = 72743, // NPC_FROSTMOURNE_TRIGGER = 38584, NPC_ICE_SPHERE = 36633, NPC_DEFILER = 38757, NPC_RAGING_SPIRIT = 36701, NPC_VILE_SPIRIT = 37799, NPC_STRANGULATE_VEHICLE = 36598, }; enum Common { FINAL_ARTHAS_MOVIE = 16, }; static Locations SpawnLoc[]= { {459.93689f, -2124.638184f, 1040.860107f}, // 0 Lich King Intro {503.15652f, -2124.516602f, 1040.860107f}, // 1 Lich king move end {491.27118f, -2124.638184f, 1040.860107f}, // 2 Tirion 1 {481.69797f, -2124.638184f, 1040.860107f}, // 3 Tirion 2 {498.00448f, -2201.573486f, 1046.093872f}, // 4 Valkyrs? {517.48291f, -2124.905762f, 1040.861328f}, // 5 Tirion? {529.85302f, -2124.709961f, 1040.859985f}, // 6 Lich king final, o=3.1146 {520.311f, -2124.709961f, 1040.859985f}, // 7 Frostmourne }; struct MANGOS_DLL_DECL boss_the_lich_king_iccAI : public ScriptedAI { boss_the_lich_king_iccAI(Creature* pCreature) : ScriptedAI(pCreature) { pInstance = (ScriptedInstance*)pCreature->GetInstanceData(); bsw = new BossSpellWorker(this); Reset(); } ScriptedInstance *pInstance; BossSpellWorker* bsw; uint8 stage; uint32 nextEvent; uint32 nextPoint; uint32 UpdateTimer; bool movementstarted; bool battlestarted; bool finalphase; Creature* pTirion; Creature* pFrostmourne; void Reset() { if(!pInstance) return; bsw->resetTimers(); stage = 0; nextEvent = 0; nextPoint = 0; movementstarted = false; battlestarted = false; finalphase = false; } void MoveInLineOfSight(Unit* pWho) { } void EnterEvadeMode() { if (!pInstance) return; if (finalphase) return; } void MovementInform(uint32 type, uint32 id) { if (type != POINT_MOTION_TYPE || !movementstarted) return; if (id == nextPoint) { movementstarted = false; pInstance->SetData(TYPE_EVENT,nextEvent); m_creature->GetMotionMaster()->MovementExpired(); } } void KilledUnit(Unit* pVictim) { switch (urand(0,1)) { case 0: DoScriptText(-1631519,m_creature,pVictim); break; case 1: DoScriptText(-1631517,m_creature,pVictim); break; }; } void JustReachedHome() { if (!pInstance) return; pInstance->SetData(TYPE_LICH_KING, FAIL); } void StartMovement(uint32 id, uint32 _nextEvent) { nextPoint = id; nextEvent = _nextEvent; m_creature->GetMotionMaster()->Clear(); m_creature->GetMotionMaster()->MovePoint(id, SpawnLoc[id].x, SpawnLoc[id].y, SpawnLoc[id].z); pInstance->SetData(TYPE_EVENT,0); movementstarted = true; } void JustSummoned(Creature* summoned) { } void Aggro(Unit *who) { if(!pInstance) return; pInstance->SetData(TYPE_LICH_KING, IN_PROGRESS); } void JustDied(Unit *killer) { if(!pInstance) return; pInstance->SetData(TYPE_LICH_KING, DONE); DoScriptText(-1631528,m_creature,killer); pInstance->SetData(TYPE_EVENT,14010); } void UpdateAI(const uint32 diff) { if (pInstance->GetData(TYPE_EVENT_NPC) == NPC_LICH_KING) { UpdateTimer = pInstance->GetData(TYPE_EVENT_TIMER); if (UpdateTimer <= diff) { debug_log("EventMGR: creature %u received signal %u ",m_creature->GetEntry(),pInstance->GetData(TYPE_EVENT)); switch (pInstance->GetData(TYPE_EVENT)) { case 12000: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_STAND); m_creature->SetStandState(UNIT_STAND_STATE_STAND); StartMovement(0,12020); break; case 12020: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_TALK); DoScriptText(-1631501, m_creature); UpdateTimer = 12000; pInstance->SetData(TYPE_EVENT,12030); break; case 12040: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H); DoScriptText(-1631503, m_creature); UpdateTimer = 8000; pInstance->SetData(TYPE_EVENT,12041); break; case 12041: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_LAUGH); UpdateTimer = 3000; pInstance->SetData(TYPE_EVENT,12042); break; case 12042: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE,EMOTE_ONESHOT_POINT_NOSHEATHE); UpdateTimer = 2000; pInstance->SetData(TYPE_EVENT,12043); break; case 12043: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE,EMOTE_ONESHOT_NONE); UpdateTimer = 10000; pInstance->SetData(TYPE_EVENT,12050); break; case 12060: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_TALK); DoScriptText(-1631505, m_creature); UpdateTimer = 10000; pInstance->SetData(TYPE_EVENT,12080); break; case 12080: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE,EMOTE_STATE_READY2H); UpdateTimer = 2000; pInstance->SetData(TYPE_EVENT,12100); break; case 12100: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE,EMOTE_ONESHOT_NONE); UpdateTimer = 6000; pInstance->SetData(TYPE_EVENT,12120); break; case 12120: m_creature->SetInCombatWithZone(); battlestarted = true; pInstance->SetData(TYPE_EVENT,12200); UpdateTimer = 10000; break; case 12200: DoScriptText(-1631506, m_creature); UpdateTimer = 5000; pInstance->SetData(TYPE_EVENT,12220); break; case 13000: m_creature->SetOrientation(3.1146f); DoScriptText(-1631507, m_creature); UpdateTimer = 8000; finalphase = true; bsw->doCast(SPELL_FURY_OF_FROSTMOURNE); pInstance->SetData(TYPE_EVENT,13020); if (pTirion = (Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(NPC_TIRION))) { m_creature->SetInCombatWith(pTirion); pTirion->AddThreat(m_creature, 1000.0f); } m_creature->SetInCombatWithZone(); break; case 13020: DoScriptText(-1631508, m_creature); UpdateTimer = 10000; pInstance->SetData(TYPE_EVENT,13060); break; case 13060: DoScriptText(-1631509, m_creature); UpdateTimer = 12000; pInstance->SetData(TYPE_EVENT,13100); break; case 13100: DoScriptText(-1631510, m_creature); UpdateTimer = 12000; pInstance->SetData(TYPE_EVENT,13110); bsw->doCast(SPELL_CHANNEL_KING); break; case 13120: DoScriptText(-1631511, m_creature); UpdateTimer = 12000; pInstance->SetData(TYPE_EVENT,13130); break; case 13140: UpdateTimer = 6000; bsw->doRemove(SPELL_CHANNEL_KING); pInstance->SetData(TYPE_EVENT,13150); m_creature->CastSpell(m_creature, SPELL_SUMMON_BROKEN_FROSTMOURNE, false); break; case 13160: UpdateTimer = 6000; pInstance->SetData(TYPE_EVENT,13170); m_creature->CastSpell(m_creature, SPELL_SUMMON_BROKEN_FROSTMOURNE_2, false); break; case 13180: UpdateTimer = 8000; pInstance->SetData(TYPE_EVENT,13190); if (pFrostmourne = m_creature->SummonCreature(NPC_FROSTMOURNE, SpawnLoc[7].x, SpawnLoc[7].y, SpawnLoc[7].z, 0, TEMPSUMMON_MANUAL_DESPAWN, 5000)) { pFrostmourne->CastSpell(pFrostmourne, SPELL_BROKEN_FROSTMOURNE, false); pFrostmourne->CastSpell(pFrostmourne, SPELL_FROSTMOURNE_TRIGGER, false); pFrostmourne->GetMotionMaster()->MoveChase(m_creature); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISARMED); } break; case 13200: DoScriptText(-1631512, m_creature); m_creature->RemoveAurasDueToSpell(SPELL_SUMMON_BROKEN_FROSTMOURNE); m_creature->RemoveAllAuras(); UpdateTimer = 5000; pInstance->SetData(TYPE_EVENT,13210); break; case 13280: UpdateTimer = 2000; pInstance->SetData(TYPE_EVENT,13290); stage = 12; if (pFrostmourne) pFrostmourne->ForcedDespawn(); SetCombatMovement(true); battlestarted = true; break; default: break; } } else UpdateTimer -= diff; pInstance->SetData(TYPE_EVENT_TIMER, UpdateTimer); } if (battlestarted && !m_creature->SelectHostileTarget() && !finalphase) { battlestarted = false; pInstance->SetData(TYPE_LICH_KING, FAIL); EnterEvadeMode(); return; } if (!m_creature->SelectHostileTarget() || !m_creature->getVictim()) return; switch(stage) { case 0: // Phase 1 // bsw->timedCast(SPELL_SHOCKWAVE, diff); bsw->timedCast(SPELL_INFEST, diff); bsw->timedCast(SPELL_SUMMON_DRUDGE_GHOULS, diff); bsw->timedCast(SPELL_PLAGUE_SIPHON, diff); bsw->timedCast(SPELL_SUMMON_SHAMBLING_HORROR, diff); bsw->timedCast(SPELL_NECROTIC_PLAGUE, diff); DoMeleeAttackIfReady(); if (bsw->timedQuery(SPELL_BERSERK, diff)) { bsw->doCast(SPELL_BERSERK); DoScriptText(-1631518,m_creature); }; if (m_creature->GetHealthPercent() < 70.0f) { stage = 1; DoScriptText(-1631515,m_creature); } break; case 1: // Go in transition phase m_creature->AttackStop(); SetCombatMovement(false); StartMovement(1,0); stage = 2; break; case 2: if (movementstarted) return; bsw->doCast(SPELL_REMORSELESS_WINTER); stage = 3; return; case 3: bsw->timedCast(SPELL_SUMMON_RAGING_SPIRIT, diff); bsw->timedCast(SPELL_SUMMON_ICE_SPHERE, diff); bsw->timedCast(SPELL_PAIN_AND_SUFFERING, diff); if (bsw->timedQuery(SPELL_BERSERK, diff)) { bsw->doCast(SPELL_BERSERK); DoScriptText(-1631518,m_creature); }; if (bsw->timedQuery(SPELL_REMORSELESS_WINTER, diff)) { bsw->doCast(SPELL_QUAKE); pInstance->DoUseDoorOrButton(pInstance->GetData64(GO_ICESHARD_1)); pInstance->DoUseDoorOrButton(pInstance->GetData64(GO_ICESHARD_2)); pInstance->DoUseDoorOrButton(pInstance->GetData64(GO_ICESHARD_3)); pInstance->DoUseDoorOrButton(pInstance->GetData64(GO_ICESHARD_4)); if (GameObject* pGoFloor = pInstance->instance->GetGameObject(pInstance->GetData64(GO_FROSTY_WIND))) { // pGoFloor->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK_10 | GO_FLAG_NODESPAWN); // pGoFloor->SetUInt32Value(GAMEOBJECT_BYTES_1,8449); } DoScriptText(-1631524, m_creature); m_creature->GetMotionMaster()->Clear(); m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim()); SetCombatMovement(true); stage = 4; }; break; case 4: // Phase 2 if (bsw->timedQuery(SPELL_SPAWN_DEFILE, diff)) { bsw->doCast(SPELL_SPAWN_DEFILE); // DoScriptText(-1631527,m_creature); } if (bsw->timedQuery(SPELL_SUMMON_VALKYR, diff)) { bsw->doCast(SPELL_SUMMON_VALKYR); DoScriptText(-1631527,m_creature); } bsw->timedCast(SPELL_SOUL_REAPER, diff); bsw->timedCast(SPELL_INFEST, diff); DoMeleeAttackIfReady(); if (bsw->timedQuery(SPELL_BERSERK, diff)) { bsw->doCast(SPELL_BERSERK); DoScriptText(-1631518,m_creature); }; if (m_creature->GetHealthPercent() < 40.0f) { stage = 5; DoScriptText(-1631523,m_creature); } break; case 5: // Go in transition phase m_creature->AttackStop(); SetCombatMovement(false); StartMovement(1,0); stage = 6; break; case 6: if (movementstarted) return; bsw->doCast(SPELL_REMORSELESS_WINTER); stage = 7; return; case 7: bsw->timedCast(SPELL_SUMMON_RAGING_SPIRIT, diff); bsw->timedCast(SPELL_SUMMON_ICE_SPHERE, diff); bsw->timedCast(SPELL_PAIN_AND_SUFFERING, diff); if (bsw->timedQuery(SPELL_BERSERK, diff)) { bsw->doCast(SPELL_BERSERK); DoScriptText(-1631518,m_creature); }; if (bsw->timedQuery(SPELL_REMORSELESS_WINTER, diff)) { stage = 8; DoScriptText(-1631524, m_creature); m_creature->GetMotionMaster()->Clear(); m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim()); SetCombatMovement(true); bsw->doCast(SPELL_SUMMON_VILE_SPIRITS); for (uint8 i = 0; i < 11; ++i) bsw->doCast(NPC_VILE_SPIRIT); bsw->doCast(SPELL_QUAKE); }; break; case 8: // Phase 3 if (bsw->timedQuery(SPELL_SPAWN_DEFILE, diff)) { bsw->doCast(SPELL_SPAWN_DEFILE); // DoScriptText(-1631527,m_creature); } bsw->timedCast(SPELL_SOUL_REAPER, diff); if (bsw->timedQuery(SPELL_HARVEST_SOUL, diff)) { bsw->doCast(SPELL_HARVEST_SOUL); DoScriptText(-1631520,m_creature); } bsw->timedCast(SPELL_SOUL_REAPER, diff); bsw->timedCast(SPELL_INFEST, diff); DoMeleeAttackIfReady(); if (m_creature->GetHealthPercent() < 10.0f) { stage = 9; DoScriptText(-1631513,m_creature); } break; case 9: // Ending Phase start m_creature->AttackStop(); SetCombatMovement(false); StartMovement(6,13000); stage = 10; battlestarted = false; break; case 10: break; case 11: break; case 12: DoMeleeAttackIfReady(); break; } } }; CreatureAI* GetAI_boss_the_lich_king_icc(Creature* pCreature) { return new boss_the_lich_king_iccAI(pCreature); }; struct MANGOS_DLL_DECL boss_tirion_iccAI : public ScriptedAI { boss_tirion_iccAI(Creature* pCreature) : ScriptedAI(pCreature) { pInstance = (ScriptedInstance*)pCreature->GetInstanceData(); Reset(); } ScriptedInstance *pInstance; uint32 UpdateTimer; uint32 nextEvent; uint32 nextPoint; bool movementstarted; Creature* pMenethil; void Reset() { if(!pInstance) return; movementstarted = false; m_creature->RemoveAurasDueToSpell(SPELL_ICEBLOCK_TRIGGER); } void StartMovement(uint32 id, uint32 _nextEvent) { nextPoint = id; nextEvent = _nextEvent; m_creature->GetMotionMaster()->MovePoint(id, SpawnLoc[id].x, SpawnLoc[id].y, SpawnLoc[id].z); pInstance->SetData(TYPE_EVENT,0); movementstarted = true; } void MovementInform(uint32 type, uint32 id) { if (type != POINT_MOTION_TYPE || !movementstarted) return; if (id == nextPoint) { movementstarted = false; pInstance->SetData(TYPE_EVENT,nextEvent); m_creature->GetMotionMaster()->MovementExpired(); } } void doSendCinematic() { Map::PlayerList const &pList = m_creature->GetMap()->GetPlayers(); if (pList.isEmpty()) return; for (Map::PlayerList::const_iterator i = pList.begin(); i != pList.end(); ++i) if (Player* pPlayer = i->getSource()) if (pPlayer) pPlayer->SendMovieStart(FINAL_ARTHAS_MOVIE); } void doRevivePlayers() { Map::PlayerList const &pList = pMenethil->GetMap()->GetPlayers(); if (pList.isEmpty()) return; for (Map::PlayerList::const_iterator i = pList.begin(); i != pList.end(); ++i) { if (Player* pPlayer = i->getSource()) { if (pPlayer && !pPlayer->isAlive()) { pMenethil->CastSpell(pPlayer, 26687, true); pPlayer->ResurrectPlayer(100, false); } } }; } void UpdateAI(const uint32 diff) { if (pInstance->GetData(TYPE_LICH_KING) == FAIL && m_creature->HasAura(SPELL_ICEBLOCK_TRIGGER)) { m_creature->RemoveAurasDueToSpell(SPELL_ICEBLOCK_TRIGGER); m_creature->GetMotionMaster()->MoveTargetedHome(); Reset(); } if (pInstance->GetData(TYPE_EVENT_NPC) == NPC_TIRION) { UpdateTimer = pInstance->GetData(TYPE_EVENT_TIMER); if (UpdateTimer <= diff) { debug_log("EventMGR: creature %u received signal %u ",m_creature->GetEntry(),pInstance->GetData(TYPE_EVENT)); switch (pInstance->GetData(TYPE_EVENT)) { case 12030: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_TALK); DoScriptText(-1631552, m_creature); UpdateTimer = 9000; pInstance->SetData(TYPE_EVENT,12040); break; case 12050: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_POINT_NOSHEATHE); DoScriptText(-1631554, m_creature); UpdateTimer = 3000; pInstance->SetData(TYPE_EVENT,12051); break; case 12051: m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); UpdateTimer = 1000; pInstance->SetData(TYPE_EVENT,12052); break; case 12052: m_creature->RemoveSplineFlag(SPLINEFLAG_WALKMODE); StartMovement(3,12053); break; case 12053: UpdateTimer = 3000; pInstance->SetData(TYPE_EVENT,12060); m_creature->CastSpell(m_creature, SPELL_ICEBLOCK_TRIGGER, true); break; case 13110: DoScriptText(-1631555, m_creature); UpdateTimer = 5000; m_creature->CastSpell(m_creature, SPELL_TIRION_LIGHT, false); pInstance->SetData(TYPE_EVENT,13120); break; case 13130: SetCombatMovement(false); m_creature->RemoveAurasDueToSpell(SPELL_ICEBLOCK_TRIGGER); UpdateTimer = 500; m_creature->SetOrientation(0.0f); pInstance->SetData(TYPE_EVENT,13131); break; case 13131: m_creature->RemoveSplineFlag(SPLINEFLAG_WALKMODE); StartMovement(2,13132); break; case 13132: StartMovement(5,13140); m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H); break; case 13150: UpdateTimer = 1000; pInstance->SetData(TYPE_EVENT,13160); break; case 13170: UpdateTimer = 2000; pInstance->SetData(TYPE_EVENT,13180); break; case 13190: UpdateTimer = 500; pInstance->SetData(TYPE_EVENT,13200); break; case 13210: UpdateTimer = 6000; DoScriptText(-1631556, m_creature); pInstance->SetData(TYPE_EVENT,13230); break; case 13230: UpdateTimer = 6000; pMenethil = m_creature->SummonCreature(NPC_MENETHIL, m_creature->GetPositionX()+5, m_creature->GetPositionY()+5, m_creature->GetPositionZ(), 0, TEMPSUMMON_MANUAL_DESPAWN, 5000); pInstance->SetData(TYPE_EVENT,13250); DoScriptText(-1631560, pMenethil); break; case 13250: UpdateTimer = 6000; pInstance->SetData(TYPE_EVENT,13270); DoScriptText(-1631561, pMenethil); pMenethil->CastSpell(pMenethil, SPELL_REVIVE_VISUAL, false); doRevivePlayers(); break; case 13270: UpdateTimer = 6000; pInstance->SetData(TYPE_EVENT,13280); if (Creature* pLichKing = (Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(NPC_LICH_KING))) { m_creature->SetInCombatWith(pLichKing); pLichKing->SetInCombatWith(m_creature); pLichKing->AddThreat(m_creature, 1000.0f); m_creature->AI()->AttackStart(pLichKing); pMenethil->AI()->AttackStart(pLichKing); SetCombatMovement(true); m_creature->GetMotionMaster()->MoveChase(pLichKing); pLichKing->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); }; // DoScriptText(-1631560, m_creature); break; case 13290: UpdateTimer = 5000; pInstance->SetData(TYPE_EVENT,13310); DoScriptText(-1631590, pMenethil); break; case 13310: UpdateTimer = 5000; pInstance->SetData(TYPE_EVENT,13330); DoScriptText(-1631591, m_creature); break; case 13330: UpdateTimer = 5000; pInstance->SetData(TYPE_EVENT,13350); DoScriptText(-1631592, pMenethil); break; case 13350: UpdateTimer = 2000; pInstance->SetData(TYPE_EVENT,13370); DoScriptText(-1631593, m_creature); break; case 14010: m_creature->AttackStop(); SetCombatMovement(false); UpdateTimer =90000; pInstance->SetData(TYPE_EVENT,14030); m_creature->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE); doSendCinematic(); break; case 14030: UpdateTimer = 20000; pInstance->SetData(TYPE_EVENT,14030); DoScriptText(-1631594, m_creature); pMenethil->ForcedDespawn(); EnterEvadeMode(); pInstance->SetData(TYPE_EVENT,0); if (Creature* pLichKing = (Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(NPC_LICH_KING))) pLichKing->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); break; default: break; } } else UpdateTimer -= diff; pInstance->SetData(TYPE_EVENT_TIMER, UpdateTimer); } if (!m_creature->SelectHostileTarget() || !m_creature->getVictim()) return; // DoMeleeAttackIfReady(); } }; bool GossipHello_boss_tirion_icc(Player* pPlayer, Creature* pCreature) { ScriptedInstance* pInstance; pInstance = (ScriptedInstance*)pCreature->GetInstanceData(); if (pInstance->GetData(TYPE_LICH_KING) != NOT_STARTED && pInstance->GetData(TYPE_LICH_KING) != FAIL ) { pPlayer->PlayerTalkClass->SendGossipMenu(721002, pCreature->GetGUID()); return true; }; char const* _message; switch (LocaleConstant currentlocale = pPlayer->GetSession()->GetSessionDbcLocale()) { case LOCALE_enUS: case LOCALE_koKR: case LOCALE_frFR: case LOCALE_deDE: case LOCALE_zhCN: case LOCALE_zhTW: case LOCALE_esES: case LOCALE_esMX: _message = "We are ready, Tirion!"; break; case LOCALE_ruRU: _message = "Всегда готовы, дедуля!"; break; default: _message = "We are ready, Tirion!"; break; }; pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, _message, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); pPlayer->PlayerTalkClass->SendGossipMenu(721001, pCreature->GetGUID()); return true; }; bool GossipSelect_boss_tirion_icc(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction) { ScriptedInstance* pInstance; pInstance = (ScriptedInstance*)pCreature->GetInstanceData(); if (!pInstance) return false; if (uiAction == GOSSIP_ACTION_INFO_DEF) { pPlayer->CLOSE_GOSSIP_MENU(); pInstance->SetData(TYPE_LICH_KING, IN_PROGRESS); pInstance->SetData(TYPE_EVENT,12000); return true; } else return false; }; CreatureAI* GetAI_boss_tirion_icc(Creature* pCreature) { return new boss_tirion_iccAI(pCreature); }; struct MANGOS_DLL_DECL mob_ice_sphere_iccAI : public ScriptedAI { mob_ice_sphere_iccAI(Creature *pCreature) : ScriptedAI(pCreature) { pInstance = (ScriptedInstance*)pCreature->GetInstanceData(); bsw = new BossSpellWorker(this); Reset(); } ScriptedInstance *pInstance; BossSpellWorker* bsw; void Reset() { if (Unit* pTarget = bsw->SelectRandomPlayerAtRange(120.0f)) { m_creature->SetInCombatWith(pTarget); m_creature->AddThreat(pTarget,100.0f); } bsw->doCast(SPELL_ICE_SPHERE_VISUAL); m_creature->AddSplineFlag(SPLINEFLAG_WALKMODE); } void UpdateAI(const uint32 uiDiff) { if (!pInstance || pInstance->GetData(TYPE_LICH_KING) != IN_PROGRESS) m_creature->ForcedDespawn(); if (!m_creature->SelectHostileTarget() || !m_creature->getVictim()) return; if (m_creature->getVictim()->GetTypeId() != TYPEID_PLAYER) return; bsw->timedCast(SPELL_ICE_PULSE, uiDiff); if (m_creature->IsWithinDistInMap(m_creature->getVictim(), 1.0f)) bsw->timedCast(SPELL_ICE_BURST,uiDiff); } }; CreatureAI* GetAI_mob_ice_sphere_icc(Creature* pCreature) { return new mob_ice_sphere_iccAI(pCreature); }; struct MANGOS_DLL_DECL mob_defiler_iccAI : public ScriptedAI { mob_defiler_iccAI(Creature *pCreature) : ScriptedAI(pCreature) { m_pInstance = ((ScriptedInstance*)pCreature->GetInstanceData()); Reset(); } ScriptedInstance *m_pInstance; uint32 life_timer; float m_Size; void Reset() { SetCombatMovement(false); life_timer = 30000; m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); m_creature->CastSpell(m_creature, SPELL_DEFILE, true); m_Size = m_creature->GetFloatValue(OBJECT_FIELD_SCALE_X); } void AttackStart(Unit *pWho) { return; } bool doSearchPlayers() { Map::PlayerList const &pList = m_creature->GetMap()->GetPlayers(); if (pList.isEmpty()) return false; for (Map::PlayerList::const_iterator i = pList.begin(); i != pList.end(); ++i) if (Player* pPlayer = i->getSource()) if (pPlayer && pPlayer->isAlive()) if(m_creature->IsWithinDistInMap(pPlayer, 0.1f)) return true; return false; } void UpdateAI(const uint32 uiDiff) { if(m_pInstance && m_pInstance->GetData(TYPE_LICH_KING) != IN_PROGRESS) m_creature->ForcedDespawn(); if (life_timer <= uiDiff) m_creature->ForcedDespawn(); else life_timer -= uiDiff; // Override especially for clean core if (m_Size >= 6.0f) m_creature->ForcedDespawn(); if (doSearchPlayers()) { m_Size = m_Size*1.01; m_creature->SetFloatValue(OBJECT_FIELD_SCALE_X, m_Size); } } }; CreatureAI* GetAI_mob_defiler_icc(Creature* pCreature) { return new mob_defiler_iccAI(pCreature); } struct MANGOS_DLL_DECL mob_strangulate_vehicleAI : public ScriptedAI { mob_strangulate_vehicleAI(Creature *pCreature) : ScriptedAI(pCreature) { m_pInstance = ((ScriptedInstance*)pCreature->GetInstanceData()); Reset(); } ScriptedInstance *m_pInstance; void Reset() { SetCombatMovement(false); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); } void AttackStart(Unit *pWho) { return; } void UpdateAI(const uint32 uiDiff) { m_creature->ForcedDespawn(); } }; CreatureAI* GetAI_mob_strangulate_vehicle(Creature* pCreature) { return new mob_strangulate_vehicleAI(pCreature); } struct MANGOS_DLL_DECL mob_vile_spiritAI : public ScriptedAI { mob_vile_spiritAI(Creature *pCreature) : ScriptedAI(pCreature) { pInstance = (ScriptedInstance*)pCreature->GetInstanceData(); bsw = new BossSpellWorker(this); Reset(); } ScriptedInstance *pInstance; BossSpellWorker* bsw; bool movementstarted; void Reset() { bsw->resetTimers(); if (Unit* pTarget = bsw->SelectRandomPlayerAtRange(120.0f)) { m_creature->SetInCombatWith(pTarget); m_creature->AddThreat(pTarget,1000.0f); } SetCombatMovement(false); movementstarted = false; m_creature->AddSplineFlag(SPLINEFLAG_WALKMODE); } void UpdateAI(const uint32 uiDiff) { if (!pInstance || pInstance->GetData(TYPE_LICH_KING) != IN_PROGRESS) m_creature->ForcedDespawn(); if (!m_creature->SelectHostileTarget() || !m_creature->getVictim()) return; if (bsw->timedQuery(SPELL_SPIRITS_BURST, uiDiff) && !movementstarted) { SetCombatMovement(true); m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim()); movementstarted = true; } if (m_creature->getVictim()->GetTypeId() != TYPEID_PLAYER) return; if (m_creature->IsWithinDistInMap(m_creature->getVictim(), 1.0f)) { bsw->doCast(SPELL_SPIRITS_BURST); m_creature->ForcedDespawn(); }; } }; CreatureAI* GetAI_mob_vile_spirit(Creature* pCreature) { return new mob_vile_spiritAI(pCreature); } struct MANGOS_DLL_DECL mob_raging_spiritAI : public ScriptedAI { mob_raging_spiritAI(Creature *pCreature) : ScriptedAI(pCreature) { pInstance = (ScriptedInstance*)pCreature->GetInstanceData(); bsw = new BossSpellWorker(this); [notice]В Базу[/notice] Quote -- Lich King UPDATE `creature_template` SET `ScriptName`='boss_the_lich_king_icc', `AIName`='' WHERE `entry`= 36597; UPDATE `creature_template` SET `ScriptName`='boss_tirion_icc', `npcflag`=1, `AIName`='' WHERE `entry`= 38995; INSERT IGNORE INTO `spell_script_target` (`entry`, `type`, `targetEntry`) VALUES ('71614', '1', '38995'); [notice]В Scriptdev2 базу[/notice] Quote -- Lich king ('-1631501','Неужели прибыли, наконец, хваленые силы света? Мне бросить Ледяную скорбь и сдаться на твою милость, Фордринг?','So...the Light\'s vaunted justice has finally arrived. Shall I lay down Frostmourne and throw myself at your mercy, Fordring?','17349','6','0','0','Lich King SAY_INTRO1'), ('-1631503','Ты пройдешь через эти мучения сам.','You will learn of that first hand. When my work is complete, you will beg for mercy -- and I will deny you. Your anguished cries will be testament to my unbridled power.','17350','6','0','0','Lich King SAY_INTRO3'), ('-1631505','Я оставлю тебя в живых, чтобы ты увидел финал! Не могу допустить чтобы величайший служитель света пропустил рождение МОЕГО мира!','I\'ll keep you alive to witness the end, Fordring. I would not want the Light\'s greatest champion to miss seeing this wretched world remade in my image.','17351','6','0','0','Lich King SAY_AGGRO'), ('-1631506','Ну же, герои! В вашей ярости - МОЯ сила!','Come then champions, feed me your rage!','17352','6','0','0','Lich King SAY'), ('-1631507','Сомнений нет - вы сильнейшие герои Азерота! Вы преодолели все препятствия, которые я воздвиг перед вами! Сильнейшие из моих слуг пали под вашим натиском, сгорели в пламени вашей ярости!','No question remains unanswered. No doubts linger. You are Azeroth\'s greatest champions! You overcame every challenge I laid before you. My mightiest servants have fallen before your relentless onslaught, your unbridled fury..','17353','6','0','0','Lich King SAY'), ('-1631508','Что движет вами? Праведность? Не знаю...','Is it truly righteousness that drives you? I wonder.','17354','6','0','0','Lich King SAY'), ('-1631509','Ты отлично их обучил, Фордринг! Ты привел сюда лучших воинов, которых знал мир! И отдал их в мои руки. Как я и рассчитывал.','You trained them well, Fordring. You delivered the greatest fighting force this world has ever known... right into my hands -- exactly as I intended. You shall be rewarded for your unwitting sacrifice.','17355','6','0','0','Lich King SAY'), ('-1631510','Смотри как я буду воскрешать их и превращать в воинов Плети! Они повергнут этот мир в пучину хаоса. Азерот падет от их рук. И ты станешь первой жертвой. ','Watch now as I raise them from the dead to become masters of the Scourge. They will shroud this world in chaos and destruction. Azeroth\'s fall will come at their hands -- and you will be the first to die.','17356','6','0','0','Lich King SAY'), ('-1631511','Мне по душе эта ирония!','I delight in the irony.','17357','6','0','0','Lich King SAY'), ('-1631512','Невозможно!','Impossible...','17358','6','0','0','Lich King SAY'), ('-1631513','Да! Вы меня и правда ранили. Я слишком долго с вами играл. Испытайте на себе возмездие Смерти!','You gnats actually hurt me! Perhaps I\'ve toyed with you long enough, now taste the vengeance of the grave!','17359','6','0','0','Lich King SAY'), ('-1631514','А-а-х!','...','17360','6','0','0','Lich King SAY'), ('-1631515','И вот я стою как лев пред ягнятами. И не дрожат они.','Now I stand, the lion before the lambs... and they do not fear.','17361','6','0','0','Lich King SAY'), ('-1631516','Им неведом страх!','They cannot fear.','17362','6','0','0','Lich King SAY'), ('-1631517','Надежда тает!','Hope wanes!','17363','6','0','0','Lich King SAY'), ('-1631518','Пришел конец!','The end has come!','17364','6','0','0','Lich King SAY'), ('-1631519','Встречайте трагический финал!','Face now your tragic end!','17365','6','0','0','Lich King SAY_KILL'), ('-1631520','Ледяная скорбь жаждет крови!','Frostmourne hungers...','17366','6','0','0','Lich King SAY'), ('-1631521','Ледяная скорбь, повинуйся мне!','Argh... Frostmourne, obey me!','17367','6','0','0','Lich King SAY'), ('-1631522','Ледяная скорбь поглотит душу вашего товарища!','Frostmourne feeds on the soul of your fallen ally!','17368','6','0','0','Lich King SAY_KILL'), ('-1631523','Я проморожу вас насквозь и вы разлетитесь на ледяные осколки!','I will freeze you from within until all that remains is an icy husk!','17369','6','0','0','Lich King SAY'), ('-1631524','Смотрите, как мир рушится вокруг вас!','Watch as the world around you collapses!','17370','6','0','0','Lich King SAY_WIN'), ('-1631525','Конец света!','Apocalypse!','17371','6','0','0','Lich King SAY'), ('-1631526','Склонись перед своим господином и повелителем!','Bow down before your lord and master!','17372','6','0','0','Lich King SAY'), ('-1631527','Валькирия! Твой господин зовет!','Val\'kyr, your master calls!','17373','6','0','0','Lich King SAY_SUMMON'), ('-1631528','...','...','17374','6','0','0','Lich King SAY_DEATH'), ('-1631531','Оскверняю!','Defile!','0','3','0','0','Lich King SAY'), -- Tirion ('-1631552','Мы даруем тебе быструю смерть, Артас! Более быструю чем ты заслуживаешь за то что замучил и погубил десятки тысяч жизней!','We will grant you a swift death, Arthas. More than can be said for the thousands you\'ve tortured and slain.','17390','6','0','0','Tirion SAY_INTRO2'), ('-1631554','Да будет так! Герои, в атаку','So be it. Champions, attack!','17391','6','0','0','Tirion SAY_INTRO4'), ('-1631555','Свет! Даруй мне последнее благословение! Дай мне разбить эти оковы!','LIGHT, GRANT ME ONE FINAL BLESSING. GIVE ME THE STRENGTH... TO SHATTER THESE BONDS!','17392','6','0','0','Tirion SAY'), ('-1631556','Хватит, Артас! Твоя ненависть не заберет больше ни одной жизни!','No more, Arthas! No more lives will be consumed by your hatred!','17393','6','0','0','Tirion SAY'), -- Menethil ('-1631557','Вы пришли чтобы вершить суд над Артасом? Чтобы уничтожить короля-лича?','You have come to bring Arthas to justice? To see the Lich King destroyed?','17394','6','0','0','Terenas Menethil II SAY'), ('-1631558','Вы не должны оказаться во власти Ледяной скорби. Иначе, как и я, будете навеки порабощены этим проклятым клинком.','First, you must escape Frostmourne\'s hold, or be damned as I am; trapped within this cursed blade for all eternity.','17395','6','0','0','Terenas Menethil II SAY'), ('-1631559','Помогите мне уничтожить эти истерзанные души. Вместе мы вытянем силу из ледяной скорби и ослабим короля-лича.','Aid me in destroying these tortured souls! Together we will loosen Frostmourne\'s hold and weaken the Lich King from within!','17396','6','0','0','Terenas Menethil II SAY'), ('-1631560','Наконец я свободен. Все кончено, сын мой. Настал час расплаты.','Free at last! It is over, my son. This is the moment of reckoning.','17397','6','0','0','Terenas Menethil II SAY'), ('-1631561','Поднимитесь, воины света!','Rise up, champions of the Light!','17398','6','0','0',' SAY'), -- Adds ('-1631590','Р-р-р-рота, подъем!','<need translate>','0','6','0','0','custom message'), ('-1631591','Хилы, не спать!','<need translate>','0','6','0','0','custom message'), ('-1631592','ДД поднажали!','<need translate>','0','6','0','0','custom message'), ('-1631593','Лидер, гони лентяев из рейда! А то еще час возиться будете!','<need translate>','0','6','0','0','custom message'), ('-1631594','Ну вот вы и прикончили Артаса. Теперь будем ждать Катаклизм.','<need translate>','0','6','0','0','custom message'); [notice]В ScriptLoader.cpp[/notice] Quote extern void AddSC_boss_lich_king_icc(); AddSC_boss_lich_king_icc();
Сообщение # 1 отредактировано jorda521 - Вторник, 15.06.2010, 10:17
|
Quote (jorda521) ('-1631590','Р-р-р-рота, подъем!','<need translate>','0','6','0','0','custom message'), ('-1631591','Хилы, не спать!','<need translate>','0','6','0','0','custom message'), ('-1631592','ДД поднажали!','<need translate>','0','6','0','0','custom message'), ('-1631593','Лидер, гони лентяев из рейда! А то еще час возиться будете!','<need translate>','0','6','0','0','custom message'), ('-1631594','Ну вот вы и прикончили Артаса. Теперь будем ждать Катаклизм.','<need translate>','0','6','0','0','custom message'); Жжешь Пойду проверять скрипт.
Сообщение # 2 написано 12.06.2010 в 17:59
|
jorda521, Quote (jorda521) Р-р-р-рота, подъем! Убило))))
Сообщение # 3 написано 13.06.2010 в 21:20
|
Ошибочка [cut] -- Lich king ('-1631501','Неужели прибыли, наконец, хваленые силы света? Мне бросить Ледяную скорбь и сдаться на твою милость, Фордринг?','So...the Light\'s vaunted justice has finally arrived. Shall I lay down Frostmourne and throw myself at your mercy, Fordring?','17349','6','0','0','Lich King SAY_INTRO1'), ('-1631503','Ты пройдешь через эти мучения сам.','You will learn of that first hand. When my work is complete, you will beg for mercy -- and I will deny you. Your anguished cries will be testament to my unbridled power.','17350','6','0','0','Lich King SAY_INTRO3'), ('-1631505','Я оставлю тебя в живых, чтобы ты увидел финал! Не могу допустить чтобы величайший служитель света пропустил рождение МОЕГО мира!','I\'ll keep you alive to witness the end, Fordring. I would not want the Light\'s greatest champion to miss seeing this wretched world remade in my image.','17351','6','0','0','Lich King SAY_AGGRO'), ('-1631506','Ну же, герои! В вашей ярости - МОЯ сила!','Come then champions, feed me your rage!','17352','6','0','0','Lich King SAY'), ('-1631507','Сомнений нет - вы сильнейшие герои Азерота! Вы преодолели все препятствия, которые я воздвиг перед вами! Сильнейшие из моих слуг пали под вашим натиском, сгорели в пламени вашей ярости!','No question remains unanswered. No doubts linger. You are Azeroth\'s greatest champions! You overcame every challenge I laid before you. My mightiest servants have fallen before your relentless onslaught, your unbridled fury..','17353','6','0','0','Lich King SAY'), ('-1631508','Что движет вами? Праведность? Не знаю...','Is it truly righteousness that drives you? I wonder.','17354','6','0','0','Lich King SAY'), ('-1631509','Ты отлично их обучил, Фордринг! Ты привел сюда лучших воинов, которых знал мир! И отдал их в мои руки. Как я и рассчитывал.','You trained them well, Fordring. You delivered the greatest fighting force this world has ever known... right into my hands -- exactly as I intended. You shall be rewarded for your unwitting sacrifice.','17355','6','0','0','Lich King SAY'), ('-1631510','Смотри как я буду воскрешать их и превращать в воинов Плети! Они повергнут этот мир в пучину хаоса. Азерот падет от их рук. И ты станешь первой жертвой. ','Watch now as I raise them from the dead to become masters of the Scourge. They will shroud this world in chaos and destruction. Azeroth\'s fall will come at their hands -- and you will be the first to die.','17356','6','0','0','Lich King SAY'), ('-1631511','Мне по душе эта ирония!','I delight in the irony.','17357','6','0','0','Lich King SAY'), ('-1631512','Невозможно!','Impossible...','17358','6','0','0','Lich King SAY'), ('-1631513','Да! Вы меня и правда ранили. Я слишком долго с вами играл. Испытайте на себе возмездие Смерти!','You gnats actually hurt me! Perhaps I\'ve toyed with you long enough, now taste the vengeance of the grave!','17359','6','0','0','Lich King SAY'), ('-1631514','А-а-х!','...','17360','6','0','0','Lich King SAY'), ('-1631515','И вот я стою как лев пред агнцами. И не дрожат они.','Now I stand, the lion before the lambs... and they do not fear.','17361','6','0','0','Lich King SAY'), ('-1631516','Им неведом страх!','They cannot fear.','17362','6','0','0','Lich King SAY'), ('-1631517','Надежда тает!','Hope wanes!','17363','6','0','0','Lich King SAY'), ('-1631518','Пришел конец!','The end has come!','17364','6','0','0','Lich King SAY'), ('-1631519','Встречайте трагический финал!','Face now your tragic end!','17365','6','0','0','Lich King SAY_KILL'), ('-1631520','Ледяная скорбь жаждет крови!','Frostmourne hungers...','17366','6','0','0','Lich King SAY'), ('-1631521','Ледяная скорбь, повинуйся мне!','Argh... Frostmourne, obey me!','17367','6','0','0','Lich King SAY'), ('-1631522','Ледяная скорбь поглотит душу вашего товарища!','Frostmourne feeds on the soul of your fallen ally!','17368','6','0','0','Lich King SAY_KILL'), ('-1631523','Я проморожу вас насквозь и вы разлетитесь на ледяные осколки!','I will freeze you from within until all that remains is an icy husk!','17369','6','0','0','Lich King SAY'), ('-1631524','Смотрите, как мир рушится вокруг вас!','Watch as the world around you collapses!','17370','6','0','0','Lich King SAY_WIN'), ('-1631525','Конец света!','Apocalypse!','17371','6','0','0','Lich King SAY'), ('-1631526','Склонись перед своим господином и повелителем!','Bow down before your lord and master!','17372','6','0','0','Lich King SAY'), ('-1631527','Валькирия! Твой господин зовет!','Val\'kyr, your master calls!','17373','6','0','0','Lich King SAY_SUMMON'), ('-1631528','...','...','17374','6','0','0','Lich King SAY_DEATH'), ('-1631531','Оскверняю!','Defile!','0','3','0','0','Lich King SAY'), -- Tirion ('-1631552','Мы даруем тебе быструю смерть, Артас! Более быструю чем ты заслуживаешь за то что замучил и погубил десятки тысяч жизней!','We will grant you a swift death, Arthas. More than can be said for the thousands you\'ve tortured and slain.','17390','6','0','0','Tirion SAY_INTRO2'), ('-1631554','Да будет так! Герои, в атаку','So be it. Champions, attack!','17391','6','0','0','Tirion SAY_INTRO4'), ('-1631555','Свет! Даруй мне последнее благословение! Дай мне разбить эти оковы!','LIGHT, GRANT ME ONE FINAL BLESSING. GIVE ME THE STRENGTH... TO SHATTER THESE BONDS!','17392','6','0','0','Tirion SAY'), ('-1631556','Хватит, Артас! Твоя ненависть не заберет больше ни одной жизни!','No more, Arthas! No more lives will be consumed by your hatred!','17393','6','0','0','Tirion SAY'), -- Menethil ('-1631557','Вы пришли чтобы вершить суд над Артасом? Чтобы уничтожить короля-лича?','You have come to bring Arthas to justice? To see the Lich King destroyed?','17394','6','0','0','Terenas Menethil II SAY'), ('-1631558','Вы не должны оказаться во власти Ледяной скорби. Иначе, как и я, будете навеки порабощены этим проклятым клинком.','First, you must escape Frostmourne\'s hold, or be damned as I am; trapped within this cursed blade for all eternity.','17395','6','0','0','Terenas Menethil II SAY'), ('-1631559','Помогите мне уничтожить эти истерзанные души. Вместе мы вытянем силу из ледяной скорби и ослабим короля-лича.','Aid me in destroying these tortured souls! Together we will loosen Frostmourne\'s hold and weaken the Lich King from within!','17396','6','0','0','Terenas Menethil II SAY'), ('-1631560','Наконец я свободен. Все кончено, сын мой. Настал час расплаты.','Free at last! It is over, my son. This is the moment of reckoning.','17397','6','0','0','Terenas Menethil II SAY'), ('-1631561','Поднимитесь, воины света!','Rise up, champions of the Light!','17398','6','0','0',' SAY'), -- Adds ('-1631590','Р-р-р-рота, подъем!','<need translate>','0','6','0','0','custom message'), ('-1631591','Хилы, не спать!','<need translate>','0','6','0','0','custom message'), ('-1631592','ДД поднажали!','<need translate>','0','6','0','0','custom message'), ('-1631593','Лидер, гони лентяев из рейда! А то еще час возиться будете!','<need translate>','0','6','0','0','custom message'), ('-1631594','Ну вот вы и прикончили Артаса. Теперь будем ждать Катаклизм.','<need translate>','0','6','0','0','custom message'); [/cut] исправить на [cut] -- Lich king ('-1631501','Неужели прибыли, наконец, хваленые силы света? Мне бросить Ледяную скорбь и сдаться на твою милость, Фордринг?','So...the Light\'s vaunted justice has finally arrived. Shall I lay down Frostmourne and throw myself at your mercy, Fordring?','17349','6','0','0','Lich King SAY_INTRO1'), ('-1631503','Ты пройдешь через эти мучения сам.','You will learn of that first hand. When my work is complete, you will beg for mercy -- and I will deny you. Your anguished cries will be testament to my unbridled power.','17350','6','0','0','Lich King SAY_INTRO3'), ('-1631505','Я оставлю тебя в живых, чтобы ты увидел финал! Не могу допустить чтобы величайший служитель света пропустил рождение МОЕГО мира!','I\'ll keep you alive to witness the end, Fordring. I would not want the Light\'s greatest champion to miss seeing this wretched world remade in my image.','17351','6','0','0','Lich King SAY_AGGRO'), ('-1631506','Ну же, герои! В вашей ярости - МОЯ сила!','Come then champions, feed me your rage!','17352','6','0','0','Lich King SAY'), ('-1631507','Сомнений нет - вы сильнейшие герои Азерота! Вы преодолели все препятствия, которые я воздвиг перед вами! Сильнейшие из моих слуг пали под вашим натиском, сгорели в пламени вашей ярости!','No question remains unanswered. No doubts linger. You are Azeroth\'s greatest champions! You overcame every challenge I laid before you. My mightiest servants have fallen before your relentless onslaught, your unbridled fury..','17353','6','0','0','Lich King SAY'), ('-1631508','Что движет вами? Праведность? Не знаю...','Is it truly righteousness that drives you? I wonder.','17354','6','0','0','Lich King SAY'), ('-1631509','Ты отлично их обучил, Фордринг! Ты привел сюда лучших воинов, которых знал мир! И отдал их в мои руки. Как я и рассчитывал.','You trained them well, Fordring. You delivered the greatest fighting force this world has ever known... right into my hands -- exactly as I intended. You shall be rewarded for your unwitting sacrifice.','17355','6','0','0','Lich King SAY'), ('-1631510','Смотри как я буду воскрешать их и превращать в воинов Плети! Они повергнут этот мир в пучину хаоса. Азерот падет от их рук. И ты станешь первой жертвой. ','Watch now as I raise them from the dead to become masters of the Scourge. They will shroud this world in chaos and destruction. Azeroth\'s fall will come at their hands -- and you will be the first to die.','17356','6','0','0','Lich King SAY'), ('-1631511','Мне по душе эта ирония!','I delight in the irony.','17357','6','0','0','Lich King SAY'), ('-1631512','Невозможно!','Impossible...','17358','6','0','0','Lich King SAY'), ('-1631513','Да! Вы меня и правда ранили. Я слишком долго с вами играл. Испытайте на себе возмездие Смерти!','You gnats actually hurt me! Perhaps I\'ve toyed with you long enough, now taste the vengeance of the grave!','17359','6','0','0','Lich King SAY'), ('-1631514','А-а-х!','...','17360','6','0','0','Lich King SAY'), ('-1631515','И вот я стою как лев пред ягнятами. И не дрожат они.','Now I stand, the lion before the lambs... and they do not fear.','17361','6','0','0','Lich King SAY'), ('-1631516','Им неведом страх!','They cannot fear.','17362','6','0','0','Lich King SAY'), ('-1631517','Надежда тает!','Hope wanes!','17363','6','0','0','Lich King SAY'), ('-1631518','Пришел конец!','The end has come!','17364','6','0','0','Lich King SAY'), ('-1631519','Встречайте трагический финал!','Face now your tragic end!','17365','6','0','0','Lich King SAY_KILL'), ('-1631520','Ледяная скорбь жаждет крови!','Frostmourne hungers...','17366','6','0','0','Lich King SAY'), ('-1631521','Ледяная скорбь, повинуйся мне!','Argh... Frostmourne, obey me!','17367','6','0','0','Lich King SAY'), ('-1631522','Ледяная скорбь поглотит душу вашего товарища!','Frostmourne feeds on the soul of your fallen ally!','17368','6','0','0','Lich King SAY_KILL'), ('-1631523','Я проморожу вас насквозь и вы разлетитесь на ледяные осколки!','I will freeze you from within until all that remains is an icy husk!','17369','6','0','0','Lich King SAY'), ('-1631524','Смотрите, как мир рушится вокруг вас!','Watch as the world around you collapses!','17370','6','0','0','Lich King SAY_WIN'), ('-1631525','Конец света!','Apocalypse!','17371','6','0','0','Lich King SAY'), ('-1631526','Склонись перед своим господином и повелителем!','Bow down before your lord and master!','17372','6','0','0','Lich King SAY'), ('-1631527','Валькирия! Твой господин зовет!','Val\'kyr, your master calls!','17373','6','0','0','Lich King SAY_SUMMON'), ('-1631528','...','...','17374','6','0','0','Lich King SAY_DEATH'), ('-1631531','Оскверняю!','Defile!','0','3','0','0','Lich King SAY'), -- Tirion ('-1631552','Мы даруем тебе быструю смерть, Артас! Более быструю чем ты заслуживаешь за то что замучил и погубил десятки тысяч жизней!','We will grant you a swift death, Arthas. More than can be said for the thousands you\'ve tortured and slain.','17390','6','0','0','Tirion SAY_INTRO2'), ('-1631554','Да будет так! Герои, в атаку','So be it. Champions, attack!','17391','6','0','0','Tirion SAY_INTRO4'), ('-1631555','Свет! Даруй мне последнее благословение! Дай мне разбить эти оковы!','LIGHT, GRANT ME ONE FINAL BLESSING. GIVE ME THE STRENGTH... TO SHATTER THESE BONDS!','17392','6','0','0','Tirion SAY'), ('-1631556','Хватит, Артас! Твоя ненависть не заберет больше ни одной жизни!','No more, Arthas! No more lives will be consumed by your hatred!','17393','6','0','0','Tirion SAY'), -- Menethil ('-1631557','Вы пришли чтобы вершить суд над Артасом? Чтобы уничтожить короля-лича?','You have come to bring Arthas to justice? To see the Lich King destroyed?','17394','6','0','0','Terenas Menethil II SAY'), ('-1631558','Вы не должны оказаться во власти Ледяной скорби. Иначе, как и я, будете навеки порабощены этим проклятым клинком.','First, you must escape Frostmourne\'s hold, or be damned as I am; trapped within this cursed blade for all eternity.','17395','6','0','0','Terenas Menethil II SAY'), ('-1631559','Помогите мне уничтожить эти истерзанные души. Вместе мы вытянем силу из ледяной скорби и ослабим короля-лича.','Aid me in destroying these tortured souls! Together we will loosen Frostmourne\'s hold and weaken the Lich King from within!','17396','6','0','0','Terenas Menethil II SAY'), ('-1631560','Наконец я свободен. Все кончено, сын мой. Настал час расплаты.','Free at last! It is over, my son. This is the moment of reckoning.','17397','6','0','0','Terenas Menethil II SAY'), ('-1631561','Поднимитесь, воины света!','Rise up, champions of the Light!','17398','6','0','0',' SAY'), -- Adds ('-1631590','Р-р-р-рота, подъем!','<need translate>','0','6','0','0','custom message'), ('-1631591','Хилы, не спать!','<need translate>','0','6','0','0','custom message'), ('-1631592','ДД поднажали!','<need translate>','0','6','0','0','custom message'), ('-1631593','Лидер, гони лентяев из рейда! А то еще час возиться будете!','<need translate>','0','6','0','0','custom message'), ('-1631594','Ну вот вы и прикончили Артаса. Теперь будем ждать Катаклизм.','<need translate>','0','6','0','0','custom message'); [/cut] а так всё гуд биг спс. Кста через что мона написать подобные но тока для других босов
Ой ща по саням дам ! http://wow.grin.by
Сообщение # 4 отредактировано САХАЛИН - Понедельник, 14.06.2010, 21:44
|
САХАЛИН, пойже для остальных зделаю
Сообщение # 5 написано 15.06.2010 в 10:17
|
ПРОБЛЕМА: после вставления вот этого: extern void AddSC_boss_lich_king_icc(); AddSC_boss_lich_king_icc(); в ScriptLoader.cpp при компиляции все время вылазеет: Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl AddSC_boss_lich_king_icc(void)" (?AddSC_boss_lich_king_icc@@YAXXZ) в функции "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ) ScriptLoader.obj ScriptDev2 Ошибка 2 fatal error LNK1120: 1 неразрешенных внешних элементов c:\Documents and Settings\admin\Рабочий стол\GITMANGOS\mangos\bin\win32_release\mangosscript.dll ScriptDev2 и что делать? как удаляю из ScriptLoader.cpp extern void AddSC_boss_lich_king_icc(); AddSC_boss_lich_king_icc(); нормально комлится. но скрипта не стает
Сообщение # 6 написано 17.06.2010 в 14:35
|
wowslavikwow, все потому что скрипт rsa а он делал его не под VS добавте неостающие скрипты в проэкт и все буде нормально
Сообщение # 7 написано 17.06.2010 в 17:26
|
Какие именно? и в какой проект? Скриптлоадер?
Сообщение # 8 написано 17.06.2010 в 18:19
|
wowslavikwow, в проэкт твоего компилятора
Сообщение # 9 написано 17.06.2010 в 20:06
|
а где достать #include "def_spire.h" ??? у меня ошибка вылазеет из за того что не найден Добавлено (18.06.2010, 14:38) --------------------------------------------- [blizz]у кого скрипт прет скиньте файл def_spire.h[/blizz] Добавлено (19.06.2010, 01:18) --------------------------------------------- jorda521, а теперь... это точно ты скрипт писал? или стащил с github и переработал его и сюда выложил... допустим взял отсюда http://github.com/rsa/scriptdev2 тока из других папок и пихнул в другую? кстати там скрипты на всех боссов есть и файл которого нехватало
Сообщение # 10 отредактировано wowslavikwow - Пятница, 18.06.2010, 14:47
|
Автор этого скрипта rsa, автор не указал этого в своем посте.
Сообщение # 11 отредактировано lordinpvp - Суббота, 19.06.2010, 09:31
|
ну я так и понял... интересно если у rsa есть скрипт на титириона или как там его entry`= 38995 я там полазил нихрена ненашел в его репозите...
Сообщение # 12 написано 19.06.2010 в 13:01
|
есть он уже написал часть госсипа и несколько фаз для эвента тириону вабще rsa молодчага если б он работал в закрытую щас бы все еще без ЦЛК сидели что тринити что мангос... за это надо отдать автору скриптов должное
Сообщение # 13 написано 20.06.2010 в 17:17
|
У меня скрипт у rsa вообще не прет.. столько ошибо при компиляции... и SD2 его не комплится кароче хз как у мя на рев 10075 и последней реве SD2 реализовать лича... как все файлы нужные ложу компилятор начинает ругатся на файлы the_lich_king.obj и boss_the_lich_king.obj там недопустимый внешний символ и т.д. пробовал всю папку удалять она заного создается понять немогу откуда она вообще берется и как исправить ето все В остальном ЦЛК полностью работает...
Сообщение # 14 отредактировано wowslavikwow - Воскресенье, 20.06.2010, 17:55
|
Фигею я с вас, мужики... Выдирать неизвестно откуда куски моих скриптов третьей свежести (а я их обновляю иногда 2-3 раза в день, баги краши фичи спеллы) вместо того чтобы брать прямо с репозитория? Лич давно уже дописан почти на 80% не хватает только Vehicles и слома платформы (и то они есть только крашат сильно) Убивает умник, позволяющий себе править тексты Близзардов (сами послушайте эту фразу в игре) и Библию, откуда она взята... В соседнем топике вообще некий lanc пытается выдать обрезок (примерно треть) моего скрипта на синдрагосу за свое поделие, забыв выдрать из нее ссылки на мой класс bsw и напихав, непонятно зачем, spellDifficulty. Видимо просто не знает что это такое... короче весело тут у вас... PS с вопросом как скомпилить ко мне не приставайте. как выдирали - так и тра...сь, в оригинальном виде оно компилится без вопросов.
Если хотите услышать ответ - правильно задайте вопрос. НЕ помогаю людям, ничего не понимающим в том, что они делают. MangosR2 project home
Сообщение # 15 написано 20.06.2010 в 21:17
|
rsa, я тебе писал и на гит хабе и на ру мангосе под ником Thermaltake .... у меня не получается твой скрипт лича поставить.... ставлю комплится не хочет... и писал что то про предупреждение на первой страничке репозита.... где оно?Добавлено (20.06.2010, 23:58) ---------------------------------------------
Quote (rsa) PS с вопросом как скомпилить ко мне не приставайте. как выдирали - так и тра...сь, в оригинальном виде оно компилится без вопросов. и я пробовал полностью твой скрипт и полностью твой ScriptDev2 комплить... ругается на какието внешние символы
Сообщение # 16 написано 20.06.2010 в 23:58
|
http://wiki.github.com/rsa/scriptdev2/
Если хотите услышать ответ - правильно задайте вопрос. НЕ помогаю людям, ничего не понимающим в том, что они делают. MangosR2 project home
Сообщение # 17 написано 21.06.2010 в 00:11
|
и вопрос что такое GNU и Makefile ? конфиг файлы и проект пересоздавать? это как? я в компиляциях новичек.... хотя как то получилось заскриптовать пару боссов в ЦЛК но они там какието лажовые...
Сообщение # 18 отредактировано wowslavikwow - Понедельник, 21.06.2010, 02:06
|
извените за нубо вопрос но как их паставить неподскажите? или как вообще сделать этот текс в фаил патча
Сообщение # 19 отредактировано Tappo4eK - Понедельник, 21.06.2010, 09:49
|
Где скачать SDK для Microsoft Visual Studio 2008 русс ?? чет ни одного не подходит с сайта майкрасофта
Сообщение # 20 написано 21.06.2010 в 10:43
|
от души поржал
на вов уже не встаёт.
Сообщение # 21 написано 03.07.2010 в 08:22
|
rsa, тот кусок синдрагосы не ваш тогда когда я его писал у вас только начались работы по личу и небыло синдрагосы (то что брал информацию по порядку скриптов с ваших скриптов в Ик не отрицаю но впринципе скрипт написал я с чистого листа пусть и плохо в этом разбираюсь)
Сообщение # 22 написано 07.07.2010 в 17:21
|
лич как робит? эвент реализован? или просто сразу агрится?
Сообщение # 23 написано 14.07.2010 в 00:30
|
Незнаю как этот скрипт но у rsa там сначало нуна с Фордрингом поболтать потом чет лич спускается спатыкается падает... потом начинает матерится на Фордринга потом Фордринг подбигает к нему лич нанего нассал моча замерзла а Фордринг в ней и змерз потом лич опять пару матов кричит и понеслось
Сообщение # 24 написано 14.07.2010 в 01:18
|
wowslavikwow, веселый взгляд на скрипт а вабще там не доделана комната в мече лича и там фордринг не отмерзает в конце эвента а должен...
Сообщение # 25 написано 15.07.2010 в 19:31
|
у рса отмерзает... там до конца все было у меня.... только при условии что не занижал хп у боссов
Сообщение # 26 отредактировано wowslavikwow - Четверг, 15.07.2010, 20:19
|
смотря на каком ядре возможно у меня на инсайдере без модов своих не отмерзал
Сообщение # 27 написано 15.07.2010 в 20:57
|
хм у мя на ядре у insider42 с его же SD2 mangos revision 10131Добавлено (15.07.2010, 21:02) --------------------------------------------- У мя 1 раз он не отмерз из за того что я его баго скилами бил.... а если рейд без багов и без гм скилов то норм всегда
Сообщение # 28 написано 15.07.2010 в 21:02
|
Сообщение # 29 написано 26.07.2010 в 10:47
|
Сообщение # 30 написано 14.10.2012 в 13:33
|