diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-04-29 12:46:44 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-04-29 12:46:44 -0300 |
commit | 0fb884a5ba541d4ef0d5b319110fa547b77998bd (patch) | |
tree | e647de3ba1142dead8bd067bfac897c5e4bae2d5 /npc/009-1 | |
parent | 41323ac303dc7debeb185950577ec68b7f97cfec (diff) | |
download | serverdata-0fb884a5ba541d4ef0d5b319110fa547b77998bd.tar.gz serverdata-0fb884a5ba541d4ef0d5b319110fa547b77998bd.tar.bz2 serverdata-0fb884a5ba541d4ef0d5b319110fa547b77998bd.tar.xz serverdata-0fb884a5ba541d4ef0d5b319110fa547b77998bd.zip |
Sieges at Halinarzo and Nivalis are now possible in theory.
Diffstat (limited to 'npc/009-1')
-rw-r--r-- | npc/009-1/guards.txt | 231 |
1 files changed, 94 insertions, 137 deletions
diff --git a/npc/009-1/guards.txt b/npc/009-1/guards.txt index d652cc37b..bb6260046 100644 --- a/npc/009-1/guards.txt +++ b/npc/009-1/guards.txt @@ -48,181 +48,138 @@ L_MKControl: mesn; mes l("Oh noes! You've found the Halinarzo control panel!"); - menu - l("Initiate small siege (lv. 20)"), L_MKSmall, - l("Initiate medium siege (lv. 30)"), L_MKMedium, - l("Initiate huge siege (lv. 40)"), L_MKHuge, - l("Abort"), -; - close; - -L_MKSmall: - addmapmask "009-1", MASK_MATTACK; - changemusic "009-1", "mythica.ogg"; - disablenpc("Mana Stone"); - $@SIEGE_HALI=0; // factor zero - pvpon("009-1"); - pvpon("010-2"); - announce(l("##1WARNING! WARNING! Siege starting at Halinarzo!!"), bc_all); - areamonster("010-2", 0, 0, 79, 81, l("Black Scorpion"), 1074, 15, "Lieutenant Jacob::OnBlackScorpionDeath"); - initnpctimer; - close; - -L_MKMedium: - addmapmask "009-1", MASK_MATTACK; - changemusic "009-1", "eric matyas - ghoulish fun.ogg"; - disablenpc("Mana Stone"); - $@SIEGE_HALI=1; // factor one - pvpon("009-1"); - pvpon("010-2"); - announce(l("##1WARNING! WARNING! Siege starting at Halinarzo!!"), bc_all); - areamonster("010-2", 0, 0, 79, 81, l("Black Scorpion"), 1074, 25, "Lieutenant Jacob::OnBlackScorpionDeath"); - initnpctimer; + next; + select + l("Abort"), + l("Initiate a siege"); + mes ""; + if (@menu == 2) { + doevent "Lieutenant Jacob::OnStartSiege"; + closedialog; + } close; -L_MKHuge: - addmapmask "009-1", MASK_MATTACK; - changemusic "009-1", "misuse.ogg"; - disablenpc("Mana Stone"); - $@SIEGE_HALI=5; // factor five - pvpon("009-1"); - pvpon("010-2"); - announce(l("##1WARNING! WARNING! Siege starting at Halinarzo!!"), bc_all); - areamonster("010-2", 0, 0, 79, 81, l("Black Scorpion"), 1074, 40, "Lieutenant Jacob::OnBlackScorpionDeath"); +// Respawn monster from $@SIEGE_TMPMOBS memory +OnRespawn: + getmapxy(.@m$,.@x,.@y,0); + siege_spawn(.@m$, any_of($@SIEGE_TMPMOBS), 1, .name$+"::OnRespawn"); + if (rand(10000) <= $coinsrate+($@SIEGE_HURNS*50)) + makeitem StrangeCoin, 1, .@m$, .@x, .@y; + end; + +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"; initnpctimer; - close; - -OnBlackScorpionDeath: - areamonster("010-2", 0, 0, 79, 81, l("Black Scorpion"), 1074, 1, "Lieutenant Jacob::OnBlackScorpionDeath"); - if (rand(10000) <= 90+($@SIEGE_HALI*10)) - getitem StrangeCoin, 1; - end; - -OnBlackScorpion2Death: - areamonster("009-1", 0, 0, 120, 155, l("Black Scorpion"), 1074, 1, "Lieutenant Jacob::OnBlackScorpion2Death"); - if (rand(10000) <= 850+($@SIEGE_HALI*100)) - getitem StrangeCoin, 1; - end; - -OnGreenSlimeDeath: - areamonster("009-1", 0, 0, 120, 155, l("Green Slime"), 1085, 1, "Lieutenant Jacob::OnGreenSlimeDeath"); - if (rand(10000) <= 200+($@SIEGE_HALI*100)) - getitem StrangeCoin, 1; - end; - -OnCandiedSlimeDeath: - areamonster("009-1", 0, 0, 120, 155, l("Candied Slime"), 1089, 1, "Lieutenant Jacob::OnCandiedSlimeDeath"); - if (rand(10000) <= 150+($@SIEGE_HALI*100)) - getitem StrangeCoin, 1; - end; - -OnManaGhostDeath: - areamonster("009-1", 0, 0, 120, 155, l("Mana Ghost"), 1068, 1, "Lieutenant Jacob::OnManaGhostDeath"); - if (rand(10000) <= 900+($@SIEGE_HALI*100)) - getitem StrangeCoin, 1; - end; - -OnLieutenantDeath: - getitem StrangeCoin, 1; - Karma=Karma+1; - mapannounce("009-1", l("##2The Monster Lieutenant was defeated by @@!", strcharinfo(0)), bc_map); end; -OnColonelDeath: - getitem StrangeCoin, 1; - Karma=Karma+1; - $MOST_HEROIC$=strcharinfo(0); - mapannounce("009-1", l("##2The Monster Colonel was defeated by @@!", strcharinfo(0)), bc_map); - end; -OnTimer5000: - areamonster("010-2", 0, 0, 79, 81, "Black Scorpion", 1074, 5+$@SIEGE_HALI, "Lieutenant Jacob::OnBlackScorpionDeath"); - areamonster("009-1", 0, 0, 120, 155, "Black Scorpion", 1074, 5+$@SIEGE_HALI, "Lieutenant Jacob::OnBlackScorpion2Death"); +// 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; -OnTimer15000: - areamonster("010-2", 0, 0, 79, 81, ("Black Scorpion"), 1074, 5, "Lieutenant Jacob::OnBlackScorpionDeath"); - areamonster("009-1", 0, 0, 120, 155, ("Black Scorpion"), 1074, 10, "Lieutenant Jacob::OnBlackScorpion2Death"); - end; - -OnTimer60000: - if ($@SIEGE_HALI == 1) { - mapannounce("009-1", "##1The Monster Lieutenant arrived!", bc_map); - areamonster("009-1", 0, 0, 120, 155, ("Monster Lieutenant"), 1077, 1, "Lieutenant Jacob::OnLieutenantDeath"); - } - areamonster("009-1", 0, 0, 120, 155, ("Black Scorpion"), 1074, 3, "Lieutenant Jacob::OnBlackScorpion2Death"); - areamonster("009-1", 0, 0, 120, 155, ("Green Slime"), 1085, 10+$@SIEGE_HALI, "Lieutenant Jacob::OnGreenSlimeDeath"); - areamonster("009-1", 0, 0, 120, 155, ("Candied Slime"), 1089, 1+$@SIEGE_HALI, "Lieutenant Jacob::OnCandiedSlimeDeath"); +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; -OnTimer120000: - if ($@SIEGE_HALI == 5) { - mapannounce("009-1", "##1The Monster Colonel arrived!", bc_map); - areamonster("009-1", 0, 0, 120, 155, ("Monster Colonel"), 1036, 1, "Lieutenant Jacob::OnColonelDeath"); - } - areamonster("009-1", 0, 0, 120, 155, ("Slime Blast"), 1090, 15); - areamonster("009-1", 0, 0, 120, 155, ("Black Scorpion"), 1074, 1, "Lieutenant Jacob::OnBlackScorpion2Death"); - areamonster("009-1", 0, 0, 120, 155, ("Green Slime"), 1085, 10, "Lieutenant Jacob::OnGreenSlimeDeath"); - areamonster("009-1", 0, 0, 120, 155, ("Mana Ghost"), 1068, 2, "Lieutenant Jacob::OnManaGhostDeath"); +OnTimer96000: + siege_cast("009-1", .name$, $@SIEGE_HALIN, TP_TULIM); end; OnTimer180000: - areamonster("009-1", 0, 0, 120, 155, ("Slime Blast"), 1090, 25); - areamonster("009-1", 0, 0, 120, 155, ("Black Scorpion"), 1074, 1, "Lieutenant Jacob::OnBlackScorpion2Death"); - areamonster("009-1", 0, 0, 120, 155, ("Candied Slime"), 1089, 10, "Lieutenant Jacob::OnCandiedSlimeDeath"); - areamonster("009-1", 0, 0, 120, 155, ("Mana Ghost"), 1068, 2, "Lieutenant Jacob::OnManaGhostDeath"); + siege_boss("009-1", $@SIEGE_HALIN); + siege_cast("009-1", .name$, $@SIEGE_HALIN, TP_TULIM); end; -OnTimer240000: - areamonster("009-1", 0, 0, 120, 155, ("Slime Blast"), 1090, 25); - areamonster("009-1", 0, 0, 120, 155, ("Black Scorpion"), 1074, 1, "Lieutenant Jacob::OnBlackScorpion2Death"); - areamonster("009-1", 0, 0, 120, 155, ("Mana Ghost"), 1068, 2, "Lieutenant Jacob::OnManaGhostDeath"); - end; - -OnTimer300000: - areamonster("009-1", 0, 0, 120, 155, ("Slime Blast"), 1090, 5); - areamonster("009-1", 0, 0, 120, 155, ("Candied Slime"), 1089, 1, "Lieutenant Jacob::OnCandiedSlimeDeath"); - areamonster("009-1", 0, 0, 120, 155, ("Mana Ghost"), 1068, 1, "Lieutenant Jacob::OnManaGhostDeath"); - end; - -OnTimer360000: +// 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: - areamonster("009-1", 0, 0, 120, 155, ("Slime Blast"), 1090, 5+$@SIEGE_HALI); - areamonster("009-1", 0, 0, 120, 155, ("Red Slime"), 1092, 1+$@SIEGE_HALI); +OnTimer525000: +//OnTimer540000: difficulty raiser +OnTimer570000: + siege_cast("009-1", .name$, $@SIEGE_HALIN, TP_TULIM); end; -OnTimer540000: +OnTimer600000: mapannounce("009-1", "##1The Monster Army is getting tired of resistance!", bc_map); - areamonster("009-1", 0, 0, 120, 155, ("Slime Blast"), 1090, 5+$@SIEGE_HALI); - areamonster("009-1", 0, 0, 120, 155, ("Mana Ghost"), 1068, 1, "Lieutenant Jacob::OnManaGhostDeath"); + siege_cast("009-1", .name$, $@SIEGE_HALIN, TP_TULIM); end; -OnTimer600000: +OnTimer660000: + $@MK_SCENE=MK_NONE; + $@MK_AGGRO=$@MK_AGGRO/20; mapannounce("009-1", "##1The Monster King army is preparing to withdraw!", bc_map); end; -OnTimer630000: - removemapmask "009-1", MASK_MATTACK; - changemusic "009-1", "dragon_and_toast.ogg"; // Restore to default +OnTimer690000: + siege_revert("009-1"); + siege_revert("010-2"); enablenpc("Mana Stone"); - $@SIEGE_HALI$=0; - killmonsterall("009-1", 0); - killmonsterall("010-2", 0); - pvpoff("009-1"); + $@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; end; + OnInit: .sex = G_MALE; .distance = 4; // Check items.xml for info about this. - // NOTE: Why Dausen item list is on Philip...? - .@npcId = getnpcid("Lieutenant Jacob"); + .@npcId = getnpcid(.name$); setunitdata(.@npcId, UDT_HEADTOP, Bull); setunitdata(.@npcId, UDT_HEADMIDDLE, LieutenantArmor); setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers); |