diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-05-18 19:13:15 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-05-18 19:13:15 -0300 |
commit | 65791dcd1f757fffd41db0469f83f690b7a61bab (patch) | |
tree | 5e42b1d28ad91a0567c0e8f082321f5123bdf835 | |
parent | 523a2f203dac5264476d6db3775afc8e4ab32ba5 (diff) | |
download | serverdata-65791dcd1f757fffd41db0469f83f690b7a61bab.tar.gz serverdata-65791dcd1f757fffd41db0469f83f690b7a61bab.tar.bz2 serverdata-65791dcd1f757fffd41db0469f83f690b7a61bab.tar.xz serverdata-65791dcd1f757fffd41db0469f83f690b7a61bab.zip |
Rewrite boss loop on Aeros Event Master for easier maintenance
-rw-r--r-- | npc/001-1/eventmaster.txt | 54 |
1 files changed, 23 insertions, 31 deletions
diff --git a/npc/001-1/eventmaster.txt b/npc/001-1/eventmaster.txt index 866a4c3f6..f4d422ba6 100644 --- a/npc/001-1/eventmaster.txt +++ b/npc/001-1/eventmaster.txt @@ -720,45 +720,31 @@ L_EventOnly: L_Boss: - select - "Abort", // 1 - "Giant Mutated Bat", // 2 - "Murderer Scorpion" , // 3 - "Night Scorpion", // 4 - "Saxso Ghost", // 5 - "Bandit Lord", // 6 - "Fafi Dragon", // 7 - "Psi Conscience", // 8 - "The Yeti King"; // default + // Boss option preparatives + .@opt$="Abort"; + debugmes "Found %d entries", getarraysize(.ML_Boss); + for (.@i=0;.@i < getarraysize(.ML_Boss);.@i++) { + .@opt$+=":"+strmobinfo(1, .ML_Boss[.@i]); + debugmes "Found monster: "+strmobinfo(1, .ML_Boss[.@i]); + } + select .@opt$; + // Select handler if (@menu != 1) input .@c, 0, 100; if (.@c == 0 && @menu != 1) @menu=99; - switch (@menu) { - case 1: - goto L_Spawn; - break; - case 2: - spawner(("GiantMutatedBat"), GiantMutatedBat, .@c); break; - case 3: - spawner(("MurdererScorpion"), MurdererScorpion, .@c); break; - case 4: - spawner(("NightScorpion"), NightScorpion, .@c); break; - case 5: - spawner(("SaxsoGhost"), SaxsoGhost, .@c); break; - case 6: - spawner(("BanditLord"), BanditLord, .@c); break; - case 7: - spawner(("Fafi"), FafiDragon, .@c); break; - case 8: - spawner(("Psi"), PsiConscience, .@c); break; - default: - spawner(("TheYetiKing"), TheYetiKing, .@c); break; + if (@menu == 1) + goto L_Spawn; + if (@menu == 99) + goto L_Boss; - } + // Spawn if needed + .@i=@menu-2; + spawner(("BOSS Monster"), .ML_Boss[.@i], .@c); + // Log the spawn and resume @log_spawns=@log_spawns+.@c; mes ""; mes "Completed."; @@ -873,6 +859,11 @@ OnAerosMobDeath: OnInit: if ($coinsrate == 0) $coinsrate=400; // Default value is 4% + mob str bonus + + // Monster lists + setarray .ML_Boss, + GiantMutatedBat, MurdererScorpion, NightScorpion, SaxsoGhost, BanditLord, + FafiDragon, PsiConscience, TerraniteKing, Yetifly, YetiKing; end; } @@ -915,4 +906,5 @@ OnCall: OnInit: bindatcmd "aeros", "@aeros::OnCall", 99, 99, 0; + end; } |