From 5f58082d9bd1beb5a1f9a4176a96b0b6ce42b9f0 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 23 May 2019 23:22:33 -0300 Subject: Rewrite Halinarzo siege logic to new unified standard --- npc/003-1/lieutenantdausen.txt | 2 +- npc/009-1/guards.txt | 152 +++++++++++++++-------------------------- 2 files changed, 57 insertions(+), 97 deletions(-) (limited to 'npc') diff --git a/npc/003-1/lieutenantdausen.txt b/npc/003-1/lieutenantdausen.txt index d9fb2b20a..f4f6bfca9 100644 --- a/npc/003-1/lieutenantdausen.txt +++ b/npc/003-1/lieutenantdausen.txt @@ -144,7 +144,7 @@ OnStartSiege: // Timers OnTimer5000: .siegetime+=5; - do_siege("012-1", "014-3", "HURNS", TP_HURNS, .name$, .siegetime); + do_siege("003-1", "004-3", "TULIM", TP_TULIM, .name$, .siegetime); switch (.siegetime) { // Monster Army arrives in town case 60: diff --git a/npc/009-1/guards.txt b/npc/009-1/guards.txt index f34e5f406..1e42f0f88 100644 --- a/npc/009-1/guards.txt +++ b/npc/009-1/guards.txt @@ -62,111 +62,71 @@ L_MKControl: OnMKSiege: $@SIEGE_HALIN=rand(1,10); OnStartSiege: - siege_setup("010-2"); kamibroadcast(col("WARNING! WARNING! Monster Army marching towards Halinarzo!!",1)); - siege_cast("010-2", .name$, 0, TP_TULIM); - disablenpc "Sawis"; + do_siege("009-1", "010-2", "HALIN", TP_TULIM, .name$, .siegetime); initnpctimer; end; - // Timers -OnTimer35000: - siege_setup("009-1"); - siege_cast("010-2", .name$, $@SIEGE_HALIN, TP_TULIM); - mapannounce("009-1", "##2Message to all Halinarzo NPCs: Take shelter!", bc_map); - disablenpc "Fisherman"; - disablenpc "Charles, Trader King"; - disablenpc "Lynn The Traveler"; - disablenpc "Enliven Reva Foxhound"; - disablenpc "Ryan"; - disablenpc "Bella, the Scholar"; - disablenpc "Book Keeper"; - disablenpc "Yumi"; - disablenpc "Halinarzo's Nurse"; - disablenpc "Joaquim"; - disablenpc "Alvasus"; - disablenpc "Luanna"; - end; - -OnTimer65000: - siege_cast("009-1", .name$, 0, TP_TULIM); - siege_cast("010-2", .name$, $@SIEGE_HALIN, TP_TULIM); - disablenpc "Dang Rostra"; - disablenpc "Kevin"; - disablenpc "Barzil"; - end; - -OnTimer96000: - siege_cast("009-1", .name$, $@SIEGE_HALIN, TP_TULIM); - end; - -OnTimer180000: - siege_boss("009-1", $@SIEGE_HALIN); - siege_cast("009-1", .name$, $@SIEGE_HALIN, TP_TULIM); - end; - -// At certain moments, the difficulty rises -OnTimer210000: -OnTimer420000: -OnTimer540000: - $@SIEGE_HALIN+=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("009-1", .name$, $@SIEGE_HALIN, TP_TULIM); - end; - -OnTimer600000: - mapannounce("009-1", "##1The Monster Army is getting tired of resistance!", bc_map); - siege_cast("009-1", .name$, $@SIEGE_HALIN, TP_TULIM); - end; - -OnTimer660000: - $@MK_SCENE=MK_NONE; - $@MK_AGGRO=$@MK_AGGRO/20; - mapannounce("009-1", "##1The Monster King army is preparing to withdraw!", bc_map); - end; +OnTimer5000: + .siegetime+=5; + do_siege("009-1", "010-2", "HALIN", TP_TULIM, .name$, .siegetime); + switch (.siegetime) { + case 0: + disablenpc "Sawis"; + break; + // Monster Army arrives in town + case 60: + disablenpc "Fisherman"; + disablenpc "Charles, Trader King"; + disablenpc "Lynn The Traveler"; + disablenpc "Enliven Reva Foxhound"; + disablenpc "Ryan"; + disablenpc "Bella, the Scholar"; + disablenpc "Book Keeper"; + disablenpc "Yumi"; + disablenpc "Halinarzo's Nurse"; + disablenpc "Joaquim"; + disablenpc "Alvasus"; + disablenpc "Luanna"; + break; + // Monster Army deployed in town + case 90: + disablenpc "Dang Rostra"; + disablenpc "Kevin"; + disablenpc "Barzil"; + break; + // Monster army have withdrawn completly + case MK_SIEGE_DURATION: + .siegetime=0; + announce(("Halinarzo siege is over!"), bc_all); + enablenpc "Sawis"; + enablenpc "Fisherman"; + enablenpc "Charles, Trader King"; + enablenpc "Lynn The Traveler"; + enablenpc "Enliven Reva Foxhound"; + enablenpc "Ryan"; + enablenpc "Bella, the Scholar"; + enablenpc "Book Keeper"; + enablenpc "Yumi"; + enablenpc "Halinarzo's Nurse"; + enablenpc "Joaquim"; + enablenpc "Alvasus"; + enablenpc "Luanna"; + enablenpc "Dang Rostra"; + enablenpc "Kevin"; + enablenpc "Barzil"; + stopnpctimer; + end; + break; + } -OnTimer690000: - siege_revert("009-1"); - siege_revert("010-2"); - enablenpc("Mana Stone"); - $@SIEGE_HALIN=0; - announce(("Halinarzo siege is over!"), bc_all); - enablenpc "Sawis"; - enablenpc "Fisherman"; - enablenpc "Charles, Trader King"; - enablenpc "Lynn The Traveler"; - enablenpc "Enliven Reva Foxhound"; - enablenpc "Ryan"; - enablenpc "Bella, the Scholar"; - enablenpc "Book Keeper"; - enablenpc "Yumi"; - enablenpc "Halinarzo's Nurse"; - enablenpc "Joaquim"; - enablenpc "Alvasus"; - enablenpc "Luanna"; - enablenpc "Dang Rostra"; - enablenpc "Kevin"; - enablenpc "Barzil"; - stopnpctimer; + // Loop again + initnpctimer; end; - OnInit: + .siegetime=0; .sex = G_MALE; .distance = 4; -- cgit v1.2.3-70-g09d2