• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Форум » Корзина форума » Корзина » Lich King Script в Scriptdev2 (the_lich_king.cpp)
Lich King Script в Scriptdev2
jorda521
Старший Маршал
[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
Sbor
Paradoxical Time
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');

Жжешь smile

Пойду проверять скрипт.

Сообщение # 2 написано 12.06.2010 в 17:59
keonji
I ♥ S-PB
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
jorda521
Старший Маршал
САХАЛИН, пойже для остальных зделаю
Сообщение # 5 написано 15.06.2010 в 10:17
wowslavikwow
Рыцарь
ПРОБЛЕМА:
после вставления вот этого:
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(); нормально комлится. но скрипта не стает

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 6 написано 17.06.2010 в 14:35
lanc
The Hurt Locker
wowslavikwow, все потому что скрипт rsa а он делал его не под VS добавте неостающие скрипты в проэкт и все буде нормально
Сообщение # 7 написано 17.06.2010 в 17:26
wowslavikwow
Рыцарь
Какие именно? и в какой проект? Скриптлоадер?

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 8 написано 17.06.2010 в 18:19
lanc
The Hurt Locker
wowslavikwow, в проэкт твоего компилятора
Сообщение # 9 написано 17.06.2010 в 20:06
wowslavikwow
Рыцарь
а где достать #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 тока из других папок и пихнул в другую? кстати там скрипты на всех боссов есть и файл которого нехватало


Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 10 отредактировано wowslavikwow - Пятница, 18.06.2010, 14:47
lordinpvp
Капрал
Автор этого скрипта rsa, автор не указал этого в своем посте.
Сообщение # 11 отредактировано lordinpvp - Суббота, 19.06.2010, 09:31
wowslavikwow
Рыцарь
ну я так и понял... интересно если у rsa есть скрипт на титириона или как там его entry`= 38995 я там полазил нихрена ненашел в его репозите...

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 12 написано 19.06.2010 в 13:01
lanc
The Hurt Locker
есть он уже написал часть госсипа и несколько фаз для эвента тириону вабще rsa молодчага если б он работал в закрытую щас бы все еще без ЦЛК сидели что тринити что мангос... за это надо отдать автору скриптов должное
Сообщение # 13 написано 20.06.2010 в 17:17
wowslavikwow
Рыцарь
У меня скрипт у rsa вообще не прет.. столько ошибо при компиляции... и SD2 его не комплится
кароче хз как у мя на рев 10075 и последней реве SD2 реализовать лича...
как все файлы нужные ложу компилятор начинает ругатся на файлы the_lich_king.obj и boss_the_lich_king.obj там недопустимый внешний символ и т.д. пробовал всю папку удалять она заного создается понять немогу откуда она вообще берется и как исправить ето все
В остальном ЦЛК полностью работает...

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 14 отредактировано wowslavikwow - Воскресенье, 20.06.2010, 17:55
rsa
Чемпион
Фигею я с вас, мужики... Выдирать неизвестно откуда куски моих скриптов третьей свежести (а я их обновляю иногда 2-3 раза в день, баги краши фичи спеллы) вместо того чтобы брать прямо с репозитория? Лич давно уже дописан почти на 80% не хватает только Vehicles и слома платформы (и то они есть только крашат сильно)
Убивает умник, позволяющий себе править тексты Близзардов (сами послушайте эту фразу в игре) и Библию, откуда она взята...
В соседнем топике вообще некий lanc пытается выдать обрезок (примерно треть) моего скрипта на синдрагосу за свое поделие, забыв выдрать из нее ссылки на мой класс bsw и напихав, непонятно зачем, spellDifficulty. Видимо просто не знает что это такое...

короче весело тут у вас...

PS с вопросом как скомпилить ко мне не приставайте. как выдирали - так и тра...сь, в оригинальном виде оно компилится без вопросов.

Если хотите услышать ответ - правильно задайте вопрос.
НЕ помогаю людям, ничего не понимающим в том, что они делают.
MangosR2 project home
Сообщение # 15 написано 20.06.2010 в 21:17
wowslavikwow
Рыцарь
rsa, я тебе писал и на гит хабе и на ру мангосе под ником Thermaltake .... у меня не получается твой скрипт лича поставить.... ставлю комплится не хочет... и писал что то про предупреждение на первой страничке репозита.... где оно?

Добавлено (20.06.2010, 23:58)
---------------------------------------------

Quote (rsa)
PS с вопросом как скомпилить ко мне не приставайте. как выдирали - так и тра...сь, в оригинальном виде оно компилится без вопросов.

и я пробовал полностью твой скрипт и полностью твой ScriptDev2 комплить... ругается на какието внешние символы

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 16 написано 20.06.2010 в 23:58
rsa
Чемпион
http://wiki.github.com/rsa/scriptdev2/
Если хотите услышать ответ - правильно задайте вопрос.
НЕ помогаю людям, ничего не понимающим в том, что они делают.
MangosR2 project home
Сообщение # 17 написано 21.06.2010 в 00:11
wowslavikwow
Рыцарь
и вопрос что такое GNU и Makefile ?
конфиг файлы и проект пересоздавать? это как? wacko я в компиляциях новичек.... хотя как то получилось заскриптовать пару боссов в ЦЛК но они там какието лажовые...

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 18 отредактировано wowslavikwow - Понедельник, 21.06.2010, 02:06
Tappo4eK
Чемпион
извените за нубо вопрос но как их паставить неподскажите? или как вообще сделать этот текс в фаил патча
Сообщение # 19 отредактировано Tappo4eK - Понедельник, 21.06.2010, 09:49
wowslavikwow
Рыцарь
Где скачать SDK для Microsoft Visual Studio 2008 русс ?? чет ни одного не подходит с сайта майкрасофта

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 20 написано 21.06.2010 в 10:43
Дредноут
Центурион
от души поржал biggrin
на вов уже не встаёт.
Сообщение # 21 написано 03.07.2010 в 08:22
lanc
The Hurt Locker
rsa, тот кусок синдрагосы не ваш тогда когда я его писал у вас только начались работы по личу и небыло синдрагосы (то что брал информацию по порядку скриптов с ваших скриптов в Ик не отрицаю но впринципе скрипт написал я с чистого листа пусть и плохо в этом разбираюсь)
Сообщение # 22 написано 07.07.2010 в 17:21
Mitrandir
Центурион
лич как робит? эвент реализован? или просто сразу агрится?
Сообщение # 23 написано 14.07.2010 в 00:30
wowslavikwow
Рыцарь
Незнаю как этот скрипт но у rsa там сначало нуна с Фордрингом поболтать потом чет лич спускается спатыкается падает... потом начинает матерится на Фордринга потом Фордринг подбигает к нему лич нанего нассал моча замерзла а Фордринг в ней и змерз потом лич опять пару матов кричит и понеслось

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 24 написано 14.07.2010 в 01:18
lanc
The Hurt Locker
wowslavikwow, веселый взгляд на скрипт smile а вабще там не доделана комната в мече лича и там фордринг не отмерзает в конце эвента а должен...
Сообщение # 25 написано 15.07.2010 в 19:31
wowslavikwow
Рыцарь
у рса отмерзает... там до конца все было у меня.... только при условии что не занижал хп у боссов

Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 26 отредактировано wowslavikwow - Четверг, 15.07.2010, 20:19
lanc
The Hurt Locker
смотря на каком ядре возможно у меня на инсайдере без модов своих не отмерзал
Сообщение # 27 написано 15.07.2010 в 20:57
wowslavikwow
Рыцарь
хм у мя на ядре у insider42 с его же SD2 mangos revision 10131

Добавлено (15.07.2010, 21:02)
---------------------------------------------
У мя 1 раз он не отмерз из за того что я его баго скилами бил.... а если рейд без багов и без гм скилов то норм всегда


Знаю html, css, JavaScript, PHP, несколько лет углубленно учу C, C++
ЛУЧШИЙ ЧАТ Speed-Chat.RU
Сообщение # 28 написано 15.07.2010 в 21:02
Blackside777
Командир
спс
Сообщение # 29 написано 26.07.2010 в 10:47
ph3n
Developer
Данная тема была перемещена из раздела Патчи в ядро MaNGOS.
Причина перемещения: устарело

Переместил: ph3n.
Сообщение # 30 написано 14.10.2012 в 13:33
Форум » Корзина форума » Корзина » Lich King Script в Scriptdev2 (the_lich_king.cpp)
  • Страница 1 из 1
  • 1
Поиск: