summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-09-28 23:18:53 -0300
committerJesusaves <cpntb1@ymail.com>2022-09-28 23:18:53 -0300
commitaf8f555099b3890afadf44cb016868e9e235d2ed (patch)
tree9ab87ab3d55e8b2a0b9a40cbc20f463af2477d91 /npc
parent01bcc2d23194af037846049e92c5dec3a8582af5 (diff)
downloadserverdata-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')
-rw-r--r--npc/001-13/main.txt12
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