diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-09-28 23:18:53 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-09-28 23:18:53 -0300 |
commit | af8f555099b3890afadf44cb016868e9e235d2ed (patch) | |
tree | 9ab87ab3d55e8b2a0b9a40cbc20f463af2477d91 /npc/001-13 | |
parent | 01bcc2d23194af037846049e92c5dec3a8582af5 (diff) | |
download | serverdata-af8f555099b3890afadf44cb016868e9e235d2ed.tar.gz serverdata-af8f555099b3890afadf44cb016868e9e235d2ed.tar.bz2 serverdata-af8f555099b3890afadf44cb016868e9e235d2ed.tar.xz serverdata-af8f555099b3890afadf44cb016868e9e235d2ed.zip |
Boss Raids may now summon a friend, randomly. Shows up more often at higher
difficulties. Higher difficulties also make the friend stronger.
Diffstat (limited to 'npc/001-13')
-rw-r--r-- | npc/001-13/main.txt | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/npc/001-13/main.txt b/npc/001-13/main.txt index b2921aa18..312cec131 100644 --- a/npc/001-13/main.txt +++ b/npc/001-13/main.txt @@ -137,28 +137,36 @@ OnPump: .@hp=getunitdata(@mb, UDT_HP); .@mp=getunitdata(@mb, UDT_MAXHP); setunitdata(@mb, UDT_HP, min(.@mp, .@hp+(.@lv * 50))); + .@mob=(rand2(.@lv) > 50 ? DeathCat : GreenSlime); } else if ($RAIDING_BOSS$ == "Janeb the Evil") { .@msg$ = l("Chaos shall be the founding stone of my town! Falling star!"); percentheal -5, -10; + .@mob=(rand2(.@lv) > 50 ? BlackScorpion : RedSlime); } else if ($RAIDING_BOSS$ == "Platyna the Red") { .@msg$ = l("I, the rightful ruler, demand back this world! Tyranny!"); percentheal -1, -1; SC_Bonus(.@t, any(SC_BLIND, SC_POISON), 1); + .@mob=(rand2(.@lv) > 50 ? DarkLizard : Assassin); } else if ($RAIDING_BOSS$ == "Benjamin the Frost") { .@msg$ = l("Stop on your tracks, unfair being! Freeze!"); SC_Bonus((.@t / 2), any(SC_FREEZE, SC_SLEEP, SC_SLEEP, SC_SLEEP), 1); + .@mob=(rand2(.@lv) > 50 ? BlueSlime : WhiteSlime); } else if ($RAIDING_BOSS$ == "Reid the Terrific") { .@msg$ = l("There is no free speech. Censorship!"); SC_Bonus(.@t, SC_SILENCE, 1); + .@mob=(rand2(.@lv) > 50 ? Thug : RedMushroom); } else if ($RAIDING_BOSS$ == "Nu'Rem the Destroyer") { .@msg$ = l("And then... There was a quake. And all life died. Bleed!"); SC_Bonus(.@t, SC_BLOODING, 1); + .@mob=(rand2(.@lv) > 50 ? BlackSlime : OldSnake); } else if ($RAIDING_BOSS$ == "Golbenez the Cruel") { .@msg$ = l("Puny mortal, do your best to entertain me! Curse!"); SC_Bonus(.@t, SC_CURSE, 1); + .@mob=(rand2(.@lv) > 50 ? FireSkull : Skeleton); } else if ($RAIDING_BOSS$ == "King of Typos") { .@msg$ = l("The problem with typos is - unpredictable side effects."); SC_Bonus(.@t, any(SC_SILENCE, SC_CURSE, SC_FREEZE, SC_BLOODING, SC_BLIND, SC_POISON, SC_DPOISON, SC_POISON, SC_BURNING, SC_SLEEP), 1); + .@mob=(rand2(.@lv) > 50 ? Swashbuckler : Bluepar); } else { consolewarn("Unknown raiding boss: %s. No skill will be used.", $RAIDING_BOSS$); } @@ -167,6 +175,10 @@ OnPump: dispbottom l("Time left: %s", FuzzyTime(@tm)); // TODO: Maybe flush the boss HP to upstream to prevent farming? addtimer max(20000, 46000-($FYRAID_LV[@id]*1000)), "sBossRaid::OnPump"; + // Spawn reinforcements when applicable + if (.@mob && rand2(100) < .@lv) { + monster(@map$, 47, 33, "Minion", .@mob, 1); + } end; // Boss defeated |