summaryrefslogtreecommitdiff
path: root/npc/functions/nurse.txt
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-06-07 23:49:36 -0300
committerJesusaves <cpntb1@ymail.com>2018-06-07 23:49:36 -0300
commit293be6e1a929e0d9447087160556b84b6b10ca2f (patch)
tree0c06eedef24bf76ef709ad896913ce63091f4499 /npc/functions/nurse.txt
parentc48f0fe218c955e8408299b38c685ffaeecce275 (diff)
downloadserverdata-293be6e1a929e0d9447087160556b84b6b10ca2f.tar.gz
serverdata-293be6e1a929e0d9447087160556b84b6b10ca2f.tar.bz2
serverdata-293be6e1a929e0d9447087160556b84b6b10ca2f.tar.xz
serverdata-293be6e1a929e0d9447087160556b84b6b10ca2f.zip
Nurse()
Diffstat (limited to 'npc/functions/nurse.txt')
-rw-r--r--npc/functions/nurse.txt86
1 files changed, 86 insertions, 0 deletions
diff --git a/npc/functions/nurse.txt b/npc/functions/nurse.txt
new file mode 100644
index 000000000..4f95d68b4
--- /dev/null
+++ b/npc/functions/nurse.txt
@@ -0,0 +1,86 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Nurse for all hurt players
+
+// Name, Base Price, Price Multiplier
+// getarg(3) switches functions:
+// 0 - everything (default)
+// 1 - Only healing dialog (returns price)
+// 2 - Only core healing
+function script Nurse {
+ // Handle redirects
+ .@d=getarg(3, 0);
+ if(.@d == 0)
+ goto L_HealMenu;
+ if(.@d == 1)
+ goto L_HealMenu;
+ if(.@d == 2)
+ goto L_Heal_L;
+ mes col("Script error, bad Nurse value. Please report.", 1);
+ close;
+
+L_HealMenu:
+ mes "";
+ mesn getarg(0);
+ .@temp = rand(4);
+ if(.@temp == 1) goto L_Heal2;
+ if(.@temp == 2) goto L_Heal3;
+ if(.@temp == 3) goto L_Heal4;
+ goto L_Heal1;
+
+
+L_Heal1:
+ mesq l("You don't look too well; let me treat your wounds.");
+ mes "";
+ goto L_Menu;
+
+L_Heal2:
+ mesq l("I will make quick work of your wounds.");
+ mes "";
+ goto L_Menu;
+
+L_Heal3:
+ mesq l("Need a healing?");
+ mes "";
+ goto L_Menu;
+
+L_Heal4:
+ mesq l("Sometimes you just need to run from battle.");
+ mes "";
+ goto L_Menu;
+
+L_Menu:
+ .@price=(MaxHp-Hp)/getarg(1,5);
+ .@price=.@price+getarg(2, 10);
+ if (BaseLevel <= 15) .@price=(.@price/10);
+ else if (BaseLevel <= 20) .@price=(.@price/5);
+ else .@price=(.@price/2);
+
+ // Skip menu flag
+ if(.@d == 1)
+ return .@price;
+
+ mesq l("For you, it'll be @@ GP.", .@price);
+ mes "";
+ menu
+ rif(Zeny >= .@price, l("Please heal me!")), L_Heal_L,
+ l("Another time, maybe."), L_Close;
+
+
+L_Heal_L:
+ mes "";
+ set Zeny, Zeny - .@price;
+ sc_end(SC_POISON);
+ sc_end(SC_SLOWPOISON);
+ percentheal 100,100; // We can also use "recovery(<account id>)"
+ mesn getarg(0);
+ @temp = rand(1,4);
+ if(@temp == 1) mesq l("Here you go!");
+ if(@temp == 2) mesq l("Painless, wasn't it?");
+ if(@temp == 3) mesq l("You should be more careful.");
+ if(@temp == 4) mesq l("Much better, right?!");
+ close;
+
+}