diff options
author | Jesusaves <cpntb1@ymail.com> | 2018-06-07 23:49:36 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2018-06-07 23:49:36 -0300 |
commit | 293be6e1a929e0d9447087160556b84b6b10ca2f (patch) | |
tree | 0c06eedef24bf76ef709ad896913ce63091f4499 /npc/functions/nurse.txt | |
parent | c48f0fe218c955e8408299b38c685ffaeecce275 (diff) | |
download | serverdata-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.txt | 86 |
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; + +} |