diff options
author | Jesusaves <cpntb1@ymail.com> | 2018-04-07 14:45:14 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2018-04-07 14:45:14 -0300 |
commit | 188120114b211a41c42ab7ffe560c7480a638346 (patch) | |
tree | 371e2d4dbbb8d05baa607ba588aa2a14a6a14ebc | |
parent | e6e6ee8b7510c0270d29c9628b48b8d40367649f (diff) | |
download | serverdata-188120114b211a41c42ab7ffe560c7480a638346.tar.gz serverdata-188120114b211a41c42ab7ffe560c7480a638346.tar.bz2 serverdata-188120114b211a41c42ab7ffe560c7480a638346.tar.xz serverdata-188120114b211a41c42ab7ffe560c7480a638346.zip |
Untested guards for 009-1
-rw-r--r-- | npc/009-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/009-1/guards.txt | 253 |
2 files changed, 254 insertions, 0 deletions
diff --git a/npc/009-1/_import.txt b/npc/009-1/_import.txt index 0ea0f7252..bd7a48f92 100644 --- a/npc/009-1/_import.txt +++ b/npc/009-1/_import.txt @@ -2,5 +2,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/009-1/_mobs.txt", "npc/009-1/_warps.txt", +"npc/009-1/guards.txt", "npc/009-1/lynnthetraveler.txt", "npc/009-1/soul-menhir.txt", diff --git a/npc/009-1/guards.txt b/npc/009-1/guards.txt new file mode 100644 index 000000000..c9bd9a979 --- /dev/null +++ b/npc/009-1/guards.txt @@ -0,0 +1,253 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Protect Halinarzo + +009-1,71,24,0 script Lieutenant Jacob NPC_PLAYER,{ + // The Monster King guild have a special menu + if (strcharinfo(2) == "Monster King") goto L_MKControl; + mesn; + mesq l("Sorry, the path to Hurnscald has been locked due to monsters."); + next; + mesn; + mesq l("Andrei Sakar is on the other side of this gate, killing monsters, as we speak."); + next; + mesn; + mesq l("The path will be open when it's safe again for heavily armed travellers."); + close; + +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: + 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: + 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; + close; + +L_MKHuge: + 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"); + 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"); + mapannounce("009-1", "##2Message to all Halinarzo NPCs: Take shelter!", bc_map); + disablenpc "Lynn The Traveler"; + 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"); + 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"); + 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"); + 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: +OnTimer420000: +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); + end; + +OnTimer540000: + 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"); + end; + +OnTimer600000: + mapannounce("009-1", "##1The Monster King army is preparing to withdraw!", bc_map); + end; + +OnTimer630000: + changemusic "009-1", "dragon_and_toast.ogg"; // Restore to default + enablenpc("Mana Stone"); + $@SIEGE_HALI$=0; + killmonsterall("009-1", 0); + killmonsterall("010-2", 0); + pvpoff("009-1"); + announce(("Halinarzo siege is over!"), bc_all); + enablenpc "Lynn The Traveler"; + 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(0, "Lieutenant Jacob"); + setunitdata(.@npcId, UDT_HEADTOP, Bull); + setunitdata(.@npcId, UDT_HEADMIDDLE, LegionTrainingShirt); + setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers); + setunitdata(.@npcId, UDT_SHIELD, LousyMoccasins); // TODO FIXME: Display Boots + setunitdata(.@npcId, UDT_WEAPON, ArtisBacksword); + setunitdata(.@npcId, UDT_HAIRSTYLE, 12); + setunitdata(.@npcId, UDT_HAIRCOLOR, 15); + + end; +} + +// Handle Guard's logic +function script HaliGuardHandler { + legiontalk; + + return; +} + +009-1,100,30,0 script Guard Corina NPC_GUARD2,{ + HaliGuardHandler(); + end; + +OnInit: + .sex = G_OTHER; + .distance = 5; + end; +} + + +009-1,111,48,0 script Guard Jhon NPC_GUARD1,{ + HaliGuardHandler(); + end; + +OnInit: + .sex = G_OTHER; + .distance = 5; + end; +} + +009-1,41,56,0 script Guard Laurie NPC_GUARD2,{ + HaliGuardHandler(); + end; + +OnInit: + .sex = G_OTHER; + .distance = 5; + end; +} + + +009-1,62,74,0 script Guard Amy NPC_GUARD2,{ + HaliGuardHandler(); + end; + +OnInit: + .sex = G_OTHER; + .distance = 5; + end; +} + |