diff options
-rw-r--r-- | npc/012-1/guards.txt | 22 | ||||
-rw-r--r-- | npc/functions/siege.txt | 6 |
2 files changed, 24 insertions, 4 deletions
diff --git a/npc/012-1/guards.txt b/npc/012-1/guards.txt index 8c3cc3f7a..1a64b89e6 100644 --- a/npc/012-1/guards.txt +++ b/npc/012-1/guards.txt @@ -709,11 +709,20 @@ OnTimer30000: OnTimer60000: debugmes "12k"; - // Setup the lieutenant/colonel level and event/designation - // It'll be 40 + Siege*5, meaning the cap is 90. - .@val=40+($@SIEGE_HURNS*5); + // We will now prepare the boss + // It must be stronger than players in at least 15 levels, so the mob group + // is different. The siege difficulty, as usual, gives an extra level to them. + .@val=siege_calcdiff("012-1")+15; + .@val+=$@SIEGE_HURNS; + + // We must cap this at 100 to prevent running out of monsters + // Also, .@val can NEVER be less than 50, to prevent cheating :< if (.@val > 100) .@val=100; + else if (.@val < 50) + .@val=50; + + // Get their event/designation if (.@val >= 80) .@ts$="Colonel"; else @@ -725,7 +734,12 @@ OnTimer60000: array_remove($@SIEGE_TMPMOBS, CandiedSlime); array_remove($@SIEGE_TMPMOBS, ManaGhost); array_remove($@SIEGE_TMPMOBS, SlimeBlast); - .@mobId=any_of($@SIEGE_TMPMOBS); + if (array_entries($@SIEGE_TMPMOBS) > 0) { + .@mobId=any_of($@SIEGE_TMPMOBS); + } else { + .@mobId=Yetifly; + debugmes "ERROR, TOO FEW MOBS ON DATABASE, whaaaaaaat"; + } // Announce and spawn siege_spawn("012-1", .@mobId, 1, "#HurnscaldSiege::On"+.@ts$+"Death"); diff --git a/npc/functions/siege.txt b/npc/functions/siege.txt index 3446efae0..49c9fd5f9 100644 --- a/npc/functions/siege.txt +++ b/npc/functions/siege.txt @@ -85,6 +85,12 @@ function script siege_selectmob { siege_push(JackO, .@blv); siege_push(BlackMamba, .@blv); siege_push(TerraniteProtector, .@blv); + siege_push(Reaper, .@blv); + + // What if we are trying to select a boss and they're... overleveled? + // We need a level 105, 120 and a level 135 monsters + siege_push(FallenKing2, .@blv); + siege_push(TerraniteKing, .@blv); // Now, mobs on only certain envs if (.@tp & TP_TULIM) { |