summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2024-05-18 15:17:54 -0300
committerJesusaves <cpntb1@ymail.com>2024-05-18 15:17:54 -0300
commitd8dc10568406e5ece48b327b3658183736891d54 (patch)
tree6e2b75a347b236a6a2b833149c0b7be65caf5ddf
parentfe9bb2eb28413ca1ff0ab5429cb42ef133a94ea1 (diff)
downloadserverdata-d8dc10568406e5ece48b327b3658183736891d54.tar.gz
serverdata-d8dc10568406e5ece48b327b3658183736891d54.tar.bz2
serverdata-d8dc10568406e5ece48b327b3658183736891d54.tar.xz
serverdata-d8dc10568406e5ece48b327b3658183736891d54.zip
Botter's Syndrome: Chose a nearby Nurse if possible. There are exceptions.
For instance, botting in town will still send you to farther Nurse. Also, avoids a locked Nurse from being selected.
-rw-r--r--npc/026-7/boss.txt2
-rw-r--r--npc/functions/captcha.txt55
2 files changed, 48 insertions, 9 deletions
diff --git a/npc/026-7/boss.txt b/npc/026-7/boss.txt
index 5cf01e166..1983094dd 100644
--- a/npc/026-7/boss.txt
+++ b/npc/026-7/boss.txt
@@ -292,6 +292,8 @@ OnTimer10000:
areamonster("026-7", 30, 27, 50, 50, "Heart's Curse", EpiphanyWisp, 1);
areamonster("026-7", 30, 27, 50, 50, "Heart's Curse", SacredWisp, 1);
areamonster("026-7", 30, 27, 50, 50, "Heart's Curse", PanthomWisp, 1);
+ .@t=areamonster("026-7", 30, 27, 50, 50, "Heart's Curse", Tortuga, 1);
+ set_aggro(.@t);
}
// Remove the immortality and reset Death Touch timer
.immortal = false;
diff --git a/npc/functions/captcha.txt b/npc/functions/captcha.txt
index be2f96f8e..3635ff67e 100644
--- a/npc/functions/captcha.txt
+++ b/npc/functions/captcha.txt
@@ -150,6 +150,50 @@ function syndroCheck {
return false;
}
+// CAPTCHA_NPC$=any("009-4", "024-8", "004-1", "012-6", "005-7", "006-2-1");
+// Halin Frost Tulim Hurns Candor Pious
+function syndroNurse {
+ if (CAPTCHA_NPC$ != "") return;
+ if (LOCATION$ == "Candor" && !compare(getmap(), "005"))
+ CAPTCHA_NPC$ = "005-7";
+ else if (LOCATION$ == "Candor")
+ CAPTCHA_NPC$ = "006-2-1";
+ else if (LOCATION$ == "Artis")
+ CAPTCHA_NPC$ = "005-7";
+ else if (LOCATION$ == "Hurns" && !compare(getmap(), "012"))
+ CAPTCHA_NPC$ = "012-6";
+ else if (LOCATION$ == "Hurns")
+ CAPTCHA_NPC$ = "009-4";
+ else if (LOCATION$ == "LoF")
+ CAPTCHA_NPC$ = "012-6";
+ else if (LOCATION$ == "Lilit")
+ CAPTCHA_NPC$ = "012-6";
+ else if (LOCATION$ == "Fort")
+ CAPTCHA_NPC$ = "012-6";
+ else if (LOCATION$ == "Nival" && BaseLevel >= 70)
+ CAPTCHA_NPC$ = "024-8";
+ else if (LOCATION$ == "Frostia")
+ CAPTCHA_NPC$ = "024-8";
+ else if (LOCATION$ == "Halin" && !compare(getmap(), "009"))
+ CAPTCHA_NPC$ = "009-4";
+ else if (LOCATION$ == "Halin" && $HURNS_LIBDATE)
+ CAPTCHA_NPC$ = "012-6";
+ else if (LOCATION$ == "Halin")
+ CAPTCHA_NPC$ = "004-1";
+ else if (LOCATION$ == "Tulim" && !compare(getmap(), "004"))
+ CAPTCHA_NPC$ = "004-1";
+ else if (LOCATION$ == "Tulim" && BaseLevel >= 40)
+ CAPTCHA_NPC$ = "009-4";
+ // All else failed (several cases where it may), chose one randomly
+ else if (BaseLevel >= 70 && $NIVALIS_LIBDATE)
+ CAPTCHA_NPC$=any("009-4", "024-8", "004-1", "012-6", "005-7", "006-2-1");
+ else if (BaseLevel >= 30 && $HURNS_LIBDATE)
+ CAPTCHA_NPC$=any("004-1", "012-6", "005-7", "006-2-1");
+ else
+ CAPTCHA_NPC$=any("004-1", "005-7");
+ return;
+}
+
// Restart if it somehow get struck
OnTimer60000:
OnTimer150000:
@@ -371,16 +415,9 @@ OnTimer12000:
SC_Bonus(3600, SC_BOTTER_SYNDROME, .@eff);
.@t = getstatus(SC_BOTTER_SYNDROME, 5) / 1000;
.@eff = limit(0, getstatus(SC_BOTTER_SYNDROME, 1), 100);
- // Select random Nurse which can cure you
+ // Select a nearby Nurse which can cure you
// But if your symptoms worsen, keep the previous nurse
- if (CAPTCHA_NPC$ == "") {
- if (BaseLevel >= 70)
- CAPTCHA_NPC$=any("009-4", "024-8", "004-1", "012-6", "005-7", "006-2-1");
- else if (BaseLevel >= 30)
- CAPTCHA_NPC$=any("004-1", "012-6", "005-7", "006-2-1");
- else
- CAPTCHA_NPC$=any("004-1", "005-7");
- }
+ syndroNurse();
// Inform which Nurse can cure you
if (CAPTCHA_NPC$ == "009-4") .@n$=l("Halinarzo");
else if (CAPTCHA_NPC$ == "024-8") .@n$=l("Frostia");