// TMW2 scripts. // Authors: // Jesusalva // Description: // Protect Nivalis 020-1,49,48,0 script Lieutenant Joshua NPC_PLAYER,{ // The Monster King guild have a special menu if (strcharinfo(2) == "Monster King") goto L_MKControl; if ($NIVALIS_LIBDATE) { mesn; mesq l("Nivalis was liberated @@ ago.", FuzzyTime($NIVALIS_LIBDATE)); close; } else { legiontalk; end; } L_MKControl: mesn; mes "Oh noes! You've found the Nivalis control panel!"; next; select l("Abort"), l("Initiate a siege"); mes ""; if (@menu == 2) { doevent "Lieutenant Joshua::OnStartSiege"; closedialog; } close; OnMKSiege: $@SIEGE_NIVAL=rand(1,10); OnStartSiege: siege_setup("019-2"); kamibroadcast(col("WARNING! WARNING! Monster Army marching towards Nivalis!!",1)); siege_cast("019-2", .name$, 0, TP_NIVAL); initnpctimer; end; // Timers OnTimer35000: siege_setup("020-1"); siege_cast("019-2", .name$, $@SIEGE_NIVAL, TP_NIVAL); mapannounce("020-1", "##2Message to all Nivalis NPCs: Take shelter!", bc_map); disablenpc "Serge"; disablenpc "Knox The Traveler"; disablenpc "Camilot"; disablenpc "Mede"; disablenpc "Gambler#020-4"; disablenpc "Gambling Xan"; disablenpc "Baktar"; disablenpc "Bracco"; disablenpc "Agostine"; end; OnTimer65000: siege_cast("020-1", .name$, 0, TP_NIVAL); siege_cast("019-2", .name$, $@SIEGE_NIVAL, TP_NIVAL); disablenpc "Ben#NivBanker"; end; OnTimer96000: siege_cast("020-1", .name$, $@SIEGE_NIVAL, TP_NIVAL); end; OnTimer180000: siege_boss("020-1", $@SIEGE_NIVAL); siege_cast("020-1", .name$, $@SIEGE_NIVAL, TP_NIVAL); end; // At certain moments, the difficulty rises OnTimer210000: OnTimer420000: OnTimer540000: $@SIEGE_NIVAL+=1; // Spawn each 45s after timer 120, difficulty raisers exempt (same for boss) OnTimer120000: OnTimer165000: //Timer 180000: BOSS WAVE //OnTimer210000: difficulty raiser OnTimer255000: OnTimer300000: OnTimer345000: OnTimer390000: //Timer 420000: difficulty raiser OnTimer435000: OnTimer480000: OnTimer525000: //OnTimer540000: difficulty raiser OnTimer570000: siege_cast("020-1", .name$, $@SIEGE_NIVAL, TP_NIVAL); end; OnTimer600000: mapannounce("020-1", "##1The Monster Army is getting tired of resistance!", bc_map); siege_cast("020-1", .name$, $@SIEGE_NIVAL, TP_NIVAL); end; OnTimer660000: $@MK_SCENE=MK_NONE; $@MK_AGGRO=$@MK_AGGRO/20; mapannounce("020-1", "##1The Monster King army is preparing to withdraw!", bc_map); end; OnTimer690000: siege_revert("020-1"); siege_revert("019-2"); enablenpc("Mana Stone"); $@SIEGE_NIVAL=0; announce(("Nivalis siege is over!"), bc_all); enablenpc "Serge"; enablenpc "Knox The Traveler"; enablenpc "Camilot"; enablenpc "Mede"; enablenpc "Gambler#020-4"; enablenpc "Gambling Xan"; enablenpc "Baktar"; enablenpc "Bracco"; enablenpc "Agostine"; enablenpc "Ben#NivBanker"; stopnpctimer; end; OnInit: .sex = G_MALE; .distance = 4; // Check items.xml for info about this. .@npcId = getnpcid(); setunitdata(.@npcId, UDT_HEADTOP, Bull); setunitdata(.@npcId, UDT_HEADMIDDLE, LieutenantArmor); setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers); setunitdata(.@npcId, UDT_SHIELD, LousyMoccasins); // TODO FIXME: Display Boots setunitdata(.@npcId, UDT_WEAPON, Backsword); setunitdata(.@npcId, UDT_HAIRSTYLE, 12); setunitdata(.@npcId, UDT_HAIRCOLOR, 15); end; }