summaryrefslogtreecommitdiff
path: root/npc/re/merchants
diff options
context:
space:
mode:
authorEmistry Haoyan <equinox1991@gmail.com>2019-06-16 18:44:45 +0800
committerHaru <haru@dotalux.com>2019-07-28 18:17:09 +0200
commit371d056df80b6f83484534f64883c3d020c4112d (patch)
tree20d38a8581f3a6159157bfa6644027d4007485bc /npc/re/merchants
parentef8bc3a8375d4fe9a5f75faf951b3deecb891d57 (diff)
downloadhercules-371d056df80b6f83484534f64883c3d020c4112d.tar.gz
hercules-371d056df80b6f83484534f64883c3d020c4112d.tar.bz2
hercules-371d056df80b6f83484534f64883c3d020c4112d.tar.xz
hercules-371d056df80b6f83484534f64883c3d020c4112d.zip
Sanitize handling of the input() values.
- avoid potential hacks for old scripts that use `input()` script commands. Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'npc/re/merchants')
-rw-r--r--npc/re/merchants/3rd_trader.txt16
-rw-r--r--npc/re/merchants/alchemist.txt6
-rw-r--r--npc/re/merchants/catalog.txt12
-rw-r--r--npc/re/merchants/diamond.txt14
-rw-r--r--npc/re/merchants/refine.txt2
5 files changed, 25 insertions, 25 deletions
diff --git a/npc/re/merchants/3rd_trader.txt b/npc/re/merchants/3rd_trader.txt
index dcf66a19f..ecfe34fba 100644
--- a/npc/re/merchants/3rd_trader.txt
+++ b/npc/re/merchants/3rd_trader.txt
@@ -72,8 +72,8 @@
mes "You can only buy a maximum of '"+.@max+"' ea.";
mes "Enter '0' if you want to cancel.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Poison Herb Merchant]";
mes "You've cancelled the trade.";
close;
@@ -133,8 +133,8 @@ lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 4_F_YUNYANG
mes "and remember, you can only";
mes "buy a maximum of '2000' ea.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Rune Merchant]";
mes "You're not buying? Please leave!";
close;
@@ -199,8 +199,8 @@ job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{
mes "You can only buy a maximum of '2000' ea.";
mes "Enter '0' if you want to cancel.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Rare Poison Herb Collector]";
mes "You've cancelled the trade.";
close;
@@ -254,9 +254,9 @@ job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{
mes "How many do you want?";
mes "If you want to cancel, enter 0.";
next;
- input .@amount;
+ input(.@amount);
mes "[Point Merchant]";
- if (.@amount == 0) {
+ if (.@amount <= 0) {
mes "You've cancelled the trade.";
close;
}
diff --git a/npc/re/merchants/alchemist.txt b/npc/re/merchants/alchemist.txt
index 73344a75c..fc38ef23a 100644
--- a/npc/re/merchants/alchemist.txt
+++ b/npc/re/merchants/alchemist.txt
@@ -98,13 +98,13 @@ alde_alche,31,186,3 script Craft Book Merchant#alde 4_M_ALCHE_D,{
mes "100,000 zeny.";
mes "How many would you like to purchase?";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Craft Book Merchant]";
mes "Would you like to see some different books?";
close;
}
- if (.@amount < 1 || .@amount > 99 ){
+ if (.@amount > 99 ){
mes "[Craft Book Merchant]";
mes "You cannot purchase more than 100 at a time.";
close;
diff --git a/npc/re/merchants/catalog.txt b/npc/re/merchants/catalog.txt
index f508014a1..11f122ace 100644
--- a/npc/re/merchants/catalog.txt
+++ b/npc/re/merchants/catalog.txt
@@ -72,19 +72,21 @@ moc_para01,22,16,5 script Catalog Magician#catal01 4_M_BIBI,{
mes "Or how many do you need?";
next;
while (1) {
- input .@input;
+ input(.@input);
mes "[Catalog Magician]";
- if (.@input == 0) {
+ if (.@input <= 0) {
mes "The trade has been stopped!";
mes "I don't know what to do next...";
mes "What should I do?";
emotion e_swt2,1;
close;
- } else if (.@input < 1 || .@input > 50) {
+ }
+ if (.@input > 50) {
mes "It should be less than 50 pieces.";
next;
- } else
- break;
+ continue;
+ }
+ break;
}
.@sell = .@ticket_cost * .@input;
mes "The total number of catalog(s) that you're trying to purchase is " + .@input + " pieces.";
diff --git a/npc/re/merchants/diamond.txt b/npc/re/merchants/diamond.txt
index 665af5e6a..762e2d145 100644
--- a/npc/re/merchants/diamond.txt
+++ b/npc/re/merchants/diamond.txt
@@ -128,7 +128,7 @@
mes .@npc$;
mes "Alright then, please sign here.";
next;
- input .@charname$;
+ input(.@charname$);
if (.@charname$ == strcharinfo(PC_NAME)) {
mes .@npc$;
mes "Okay, good.";
@@ -202,7 +202,7 @@
mes "The trade cannot be completed without your signature.";
close;
}
- input .@charname$;
+ input(.@charname$);
if (.@charname$ == strcharinfo(PC_NAME)) {
mes .@npc$;
mes "Your signature has been received.";
@@ -218,12 +218,10 @@
Zeny += 499000000;
close;
}
- else {
- mes .@npc$;
- mes "Is this really your signature?";
- mes "Will sign again to confirm?";
- next;
- }
+ mes .@npc$;
+ mes "Is this really your signature?";
+ mes "Will sign again to confirm?";
+ next;
}
}
}
diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt
index 879e9a5f1..c0ec2131f 100644
--- a/npc/re/merchants/refine.txt
+++ b/npc/re/merchants/refine.txt
@@ -258,7 +258,7 @@ function script refinenew {
mes "[" + getarg(0) + "]";
mes "How many times would you like me to refine your item?";
next;
- input .@refinecnt;
+ input(.@refinecnt);
.@refinecheck = .@refinecnt + getequiprefinerycnt(.@part);
if (.@refinecnt < 1 || .@refinecheck > 20) {
mes "[" + getarg(0) + "]";