Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
switch (m_iCurrentFloor)
{
case 1:
if (remainingMobs <= 0) MissionCompleted(1);
break;
case 2:
if (remainingMobs <= 0)
{
if (elapsedSeconds <= 60) {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Mukemmel hiz! 6. Kata sicriyorsunuz."));
MissionCompleted(4);
} else if (elapsedSeconds <= 240) {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Iyi is cikardiniz. 5. Kata sicriyorsunuz."));
MissionCompleted(3);
} else if (elapsedSeconds <= 360) {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Yeterince hizli degilsiniz. 4. Kata geciyorsunuz."));
MissionCompleted(2);
} else {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Cok yavas kaldiniz, tapinaktan atiliyorsunuz."));
KickAll();
}
}
break;
case 3: case 4: case 5:
if (remainingMobs <= 0) MissionCompleted(1);
break;
case 6:
if (pVictim->GetMobRank() >= MOB_RANK_BOSS && remainingMobs <= 0)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Zodyak Patronu alt edildi! Olum Kapani asildi."));
MissionCompleted(1);
}
break;
case 7:
case 21:
if (pVictim->GetRaceNum() >= 2900 && pVictim->GetRaceNum() <= 2908)
{
bool bIsCorrect = (remainingMobs <= 0) ? true : (number(1, 2) == 1);
if (bIsCorrect) {
GiveRandomZodiacBuff();
MissionCompleted(1);
} else {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Yanlis metin tasi! Zodyak Kurdu uyandi."));
CHARACTER_MANAGER::instance().SpawnMob(2600, m_dwMapIndex, pVictim->GetX(), pVictim->GetY(), 0, false, -1);
}
}
break;
case 8:
if (remainingMobs <= 0)
{
if (elapsedSeconds <= 60) {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Hizli temizlik! 13. Kata sicriyorsunuz."));
MissionCompleted(5);
} else {
MissionCompleted(1);
}
}
break;
case 9: case 10: case 11: case 12: case 13:
if (remainingMobs <= 0) MissionCompleted(1);
break;
case 14:
if (pVictim->IsStone() && remainingMobs <= 1)
{
GiveRandomZodiacBuff();
MissionCompleted(1);
}
break;
case 15:
if (remainingMobs <= 0)
{
if (elapsedSeconds <= 60) {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Simsek gibisin! 20. Kata sicriyorsunuz."));
MissionCompleted(5);
} else {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Sure asildi. 19. Kata mahkum edildiniz."));
MissionCompleted(4);
}
}
break;
case 16: case 17: case 18: case 19:
if (remainingMobs <= 0) MissionCompleted(1);
break;
case 20:
if (pVictim->GetMobRank() >= MOB_RANK_BOSS && remainingMobs <= 0)
MissionCompleted(1);
break;
case 22:
if (pVictim->GetMobRank() >= MOB_RANK_BOSS && remainingMobs <= 0)
{
if (elapsedSeconds <= 60) {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Zalimleri ezdiniz! 27. Kata sicriyorsunuz."));
MissionCompleted(5);
} else {
MissionCompleted(1);
}
}
break;
case 23: case 24: case 25: case 26: case 27:
if (remainingMobs <= 0) MissionCompleted(1);
break;
case 28:
if (pVictim->IsStone() && remainingMobs <= 1)
{
GiveRandomZodiacBuff();
MissionCompleted(1);
}
break;
case 29: case 30: case 31: case 32: case 33:
if (remainingMobs <= 0)
{
if (m_iCurrentFloor == 30 && elapsedSeconds <= 60) {
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Yolunuz acildi! 34. Kata sicriyorsunuz."));
MissionCompleted(4);
} else {
MissionCompleted(1);
}
}
break;
case 34:
if (pVictim->GetMobRank() >= MOB_RANK_BOSS)
{
for (auto it = m_setPlayers.begin(); it != m_setPlayers.end(); ++it)
{
LPCHARACTER pMember = CHARACTER_MANAGER::instance().FindByPID(*it);
if (pMember && pMember->GetMapIndex() == m_dwMapIndex)
{
pMember->AutoGiveItem(33033, 1);
pMember->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Zodyak Patronu dustu! Altin Sandik kazandin."));
}
}
MissionCompleted(1);
}
break;
case 35: case 36: case 37: case 38: case 39:
if (pVictim->GetRaceNum() >= 2900 && pVictim->GetRaceNum() <= 2908)
{
bool bIsCorrect = (remainingMobs <= 0) ? true : (number(1, 2) == 1);
if (bIsCorrect)
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Dogru kapi! Zodyak Tuccari seni bekliyor."));
int jumpTo40 = 40 - m_iCurrentFloor;
m_bSpawnMerchantAt40 = true;
MissionCompleted(jumpTo40);
}
else
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_STRING("Yanlis secim! Yola devam etmelisin. Zodyak Kurdu uyandi."));
CHARACTER_MANAGER::instance().SpawnMob(2600, m_dwMapIndex, pVictim->GetX(), pVictim->GetY(), 0, false, -1);
if (m_iCurrentFloor == 39)
{
m_bSpawnMerchantAt40 = false;
MissionCompleted(1);
}
else
{
MissionCompleted(1);
}
}
}
break;
case 40:
break;
