From 1e3aaafe15e300f4b60c3ef447ba8ae9ac8a276c Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 18 Dec 2021 08:12:02 -0300 Subject: Poppet's DLC - QoL and sanitization --- npc/082-3/poppet.txt | 53 ++++++++++++++++++++++---------------------- npc/functions/mob_points.txt | 2 +- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/npc/082-3/poppet.txt b/npc/082-3/poppet.txt index f59c9ecc..84e760cf 100644 --- a/npc/082-3/poppet.txt +++ b/npc/082-3/poppet.txt @@ -121,6 +121,7 @@ L_Summon: monster("082-3", 95, 85, "Omega", SUSAN, 1); break; } + $@X21_POPPYDIFF = .diff; initnpctimer; closeclientdialog; close; @@ -140,26 +141,26 @@ OnTimer480000: // 8.0 min (final) mapannounce "082-3", "Poppet : "+.@msg$, 0; switch (.diff) { case 1: // Easy - spawn(Bandit, 10); - spawn(CrotcherScorpion, 10); + spawn(Bandit, 7); + spawn(CrotcherScorpion, 7); spawn(Archant, 5); - spawn(Moggun, 5); + spawn(Moggun, 3); spawn(BlackScorpion, 3); spawn(Snake, 2); break; case 2: // Normal spawn(FeyElement, 1); spawn(CandiedSlime, 8); - spawn(RedSlime, 10); + spawn(RedSlime, 9); spawn(AngrySeaSlime, 6); - spawn(LadySkeleton, 5); - spawn(Skeleton, 5); + spawn(LadySkeleton, 4); + spawn(Skeleton, 4); spawn(UndeadWitch, 2); break; case 3: // Hard spawn(LadySkeleton, 10); spawn(Skeleton, 10); - spawn(UndeadWitch, 10); + spawn(UndeadWitch, 8); spawn(Spider, 5); spawn(MountainSnake, 5); spawn(LavaSlime, 3); @@ -169,17 +170,17 @@ OnTimer480000: // 8.0 min (final) spawn(Thug, 2); break; case 4: // WarriorWorld - spawn(RedBone, 10); + spawn(RedBone, 9); spawn(SeaSlimeMother, 3); - spawn(Wight, 10); + spawn(Wight, 9); spawn(GreenSlimeMother, 3); spawn(IceElement, 5); spawn(Yeti, 3); spawn(Zombie, 4); - spawn(Terranite, 7); - spawn(Fallen, 7); - spawn(Stalker, 6); - spawn(Thug, 5); + spawn(Terranite, 5); + spawn(Fallen, 5); + spawn(Thug, 4); + spawn(Stalker, 3); spawn(Swashbuckler, 3); spawn(Grenadier, 2); spawn(JackO, 1); @@ -187,25 +188,25 @@ OnTimer480000: // 8.0 min (final) default: case 5: // Gumi spawn(Anne, 10); - spawn(JackO, 10); - spawn(ManaGuardian, 10); - spawn(Tengu, 10); - spawn(Sasquatch, 10); - spawn(ManaSlayer, 10); - spawn(DoomGolem, 10); - spawn(Enchanter, 10); + spawn(JackO, 8); + spawn(ManaGuardian, 6); + spawn(Tengu, 4); + spawn(Sasquatch, 4); + spawn(ManaSlayer, 4); + spawn(DoomGolem, 3); + spawn(Enchanter, 3); break; } end; function spawn { .@mob = getarg(0); - .@amo = getarg(1) + getmapusers("082-3"); - areamonster("082-3", 108, 82, 128, 102, strmobinfo(1, .@mob), .@mob, .@amo); - areamonster("082-3", 108, 82, 128, 102, strmobinfo(1, .@mob), .@mob, .@amo); - areamonster("082-3", 108, 82, 128, 102, strmobinfo(1, .@mob), .@mob, .@amo); - areamonster("082-3", 108, 82, 128, 102, strmobinfo(1, .@mob), .@mob, .@amo); - areamonster("082-3", 108, 82, 128, 102, strmobinfo(1, .@mob), .@mob, .@amo); + .@amo = getarg(1) + max(getmapusers("082-3")-1, 0); + areamonster("082-3", 23, 22, 67, 65, strmobinfo(1, .@mob), .@mob, .@amo); + areamonster("082-3", 130, 20, 180, 64, strmobinfo(1, .@mob), .@mob, .@amo); + areamonster("082-3", 20, 127, 65, 175, strmobinfo(1, .@mob), .@mob, .@amo); + areamonster("082-3", 136, 135, 180, 180, strmobinfo(1, .@mob), .@mob, .@amo); + areamonster("082-3", 55, 50, 134, 128, strmobinfo(1, .@mob), .@mob, .@amo); // Global areamonster("082-3", 20, 20, 180, 180, strmobinfo(1, GreenSlime), GreenSlime, 1 + (.diff * getmapusers("082-3") / 2)); return; diff --git a/npc/functions/mob_points.txt b/npc/functions/mob_points.txt index 7c8f4a4f..d6213dca 100644 --- a/npc/functions/mob_points.txt +++ b/npc/functions/mob_points.txt @@ -30,7 +30,7 @@ function script MobPoints { /* Christmas 2021 DLC - Poppet's Realm */ if (getmonsterinfo(@mobId, MOB_LV) >= 150 && rand2(3) == 1) getitem XmasTicket, 2; - else if (rand2(5) == 3) + else if (rand2(max(10-$@X21_POPPYDIFF, 5)) == 3) getitem XmasTicket, 1; } else if (isChristmas21() && .@m$ == "081-1") { /* Christmas 2021 Outdoors */ -- cgit v1.2.3-60-g2f50